1 23 24 package org.continuent.sequoia.controller.virtualdatabase; 25 26 import org.continuent.sequoia.common.log.Trace; 27 import org.continuent.sequoia.common.sql.metadata.MetadataContainer; 28 import org.continuent.sequoia.controller.backend.DatabaseBackend; 29 30 39 public class VirtualDatabaseStaticMetaData 40 { 41 private String vdbName; 42 private Trace logger; 43 private MetadataContainer metadataContainer = null; 44 45 51 public VirtualDatabaseStaticMetaData(VirtualDatabase database) 52 { 53 this.vdbName = database.getVirtualDatabaseName(); 54 this.logger = Trace 55 .getLogger("org.continuent.sequoia.controller.virtualdatabase.VirtualDatabaseWorkerThread." 56 + vdbName + ".metadata"); 57 } 58 59 65 public void gatherStaticMetadata(DatabaseBackend backend) 66 { 67 MetadataContainer newContainer = backend.getDatabaseStaticMetadata(); 68 if (logger.isDebugEnabled()) 69 logger.debug("fetching static metadata for backend:" + backend.getName()); 70 if (metadataContainer == null) 71 metadataContainer = newContainer; 72 else 73 { 74 boolean isCompatible = metadataContainer.isCompatible(newContainer, 75 logger); 76 if (logger.isDebugEnabled()) 77 logger.debug("Backend static metadata is compatible with current ones:" 78 + isCompatible); 79 } 80 } 81 82 87 public MetadataContainer getMetadataContainer() 88 { 89 return metadataContainer; 90 } 91 92 97 public void setMetadataContainer(MetadataContainer container) 98 { 99 this.metadataContainer = container; 100 } 101 } | Popular Tags |