public String toString() { return getName() + this.sources; }
public String toString() { return getName() + this.sources; }
public ModelMetaData addModel(ModelMetaData m) { return this.models.put(m.getName(), m); }
public ModelMetaData addModel(ModelMetaData m) { return this.models.put(m.getName(), m); }
public static Map<String, String> getMultiSourceModels(VDBMetaData vdb) { HashMap<String, String> result = new HashMap<String, String>(); for (ModelMetaData mmd : vdb.getModelMetaDatas().values()) { if (!mmd.isSupportsMultiSourceBindings()) { continue; } String columnName = mmd.getPropertyValue(MULTISOURCE_COLUMN_NAME); if (columnName == null) { columnName = MultiSourceElement.DEFAULT_MULTI_SOURCE_ELEMENT_NAME; } result.put(mmd.getName(), columnName); } return result; }
public static Map<String, String> getMultiSourceModels(VDBMetaData vdb) { HashMap<String, String> result = new HashMap<String, String>(); for (ModelMetaData mmd : vdb.getModelMetaDatas().values()) { if (!mmd.isSupportsMultiSourceBindings()) { continue; } String columnName = mmd.getPropertyValue(MULTISOURCE_COLUMN_NAME); if (columnName == null) { columnName = MultiSourceElement.DEFAULT_MULTI_SOURCE_ELEMENT_NAME; } result.put(mmd.getName(), columnName); } return result; }
public static Map<String, String> getMultiSourceModels(VDBMetaData vdb) { HashMap<String, String> result = new HashMap<String, String>(); for (ModelMetaData mmd : vdb.getModelMetaDatas().values()) { if (!mmd.isSupportsMultiSourceBindings()) { continue; } String columnName = mmd.getPropertyValue(MULTISOURCE_COLUMN_NAME); if (columnName == null) { columnName = MultiSourceElement.DEFAULT_MULTI_SOURCE_ELEMENT_NAME; } result.put(mmd.getName(), columnName); } return result; }
public MetadataFactory(String vdbName, Object vdbVersion, Map<String, Datatype> runtimeTypes, ModelMetaData model) { this(vdbName, vdbVersion, model.getName(), runtimeTypes, model.getProperties(), model.getSchemaText()); this.model = model; }
private String replaceMetadataTag(ModelMetaData m, String sourceName, String schemaName, boolean server) { String replace = "IMPORT FOREIGN SCHEMA "+SQLStringVisitor.escapeSinglePart(schemaName)+" FROM " + (server?"SERVER ":"REPOSITORY ")+SQLStringVisitor.escapeSinglePart(sourceName)+" INTO "+SQLStringVisitor.escapeSinglePart(m.getName()); if (!m.getPropertiesMap().isEmpty()) { replace += " OPTIONS (\n"; Iterator<String> it = m.getPropertiesMap().keySet().iterator(); while (it.hasNext()) { String key = it.next(); replace += ("\t"+SQLStringVisitor.escapeSinglePart(key) +" '"+StringUtil.replaceAll(m.getPropertiesMap().get(key), "'", "''")+"'"); if (it.hasNext()) { replace += ",\n"; } } replace += ")"; } replace+=";\n\n"; return replace; }
protected void assignMetadataRepositories(VDBMetaData deployment, MetadataRepository<?, ?> defaultRepo) throws VirtualDatabaseException { for (ModelMetaData model:deployment.getModelMetaDatas().values()) { if (model.getModelType() != Type.OTHER && (model.getName() == null || model.getName().indexOf('.') >= 0) || model.getName().equalsIgnoreCase(CoreConstants.SYSTEM_MODEL) || model.getName().equalsIgnoreCase(CoreConstants.SYSTEM_ADMIN_MODEL) || model.getName().equalsIgnoreCase(CoreConstants.ODBC_MODEL)) { throw new VirtualDatabaseException(RuntimePlugin.Event.TEIID40121, RuntimePlugin.Util.gs(RuntimePlugin.Event.TEIID40121, model.getName(), deployment.getName(), deployment.getVersion())); } if (model.isSource() && model.getSourceNames().isEmpty()) { throw new VirtualDatabaseException(RuntimePlugin.Event.TEIID40093, RuntimePlugin.Util.gs(RuntimePlugin.Event.TEIID40093, model.getName(), deployment.getName(), deployment.getVersion())); } if (model.getModelType() == Type.FUNCTION || model.getModelType() == Type.OTHER) { continue; } MetadataRepository<?, ?> repo = getMetadataRepository(deployment, model, defaultRepo); //handle multi-source column creation if (model.isSupportsMultiSourceBindings() && Boolean.valueOf(model.getPropertyValue("multisource.addColumn"))) { //$NON-NLS-1$ List<MetadataRepository<?, ?>> repos = new ArrayList<MetadataRepository<?, ?>>(2); repos.add(repo); String columnName = model.getPropertyValue(MultiSourceMetadataWrapper.MULTISOURCE_COLUMN_NAME); repos.add(new MultiSourceMetadataRepository(columnName==null?MultiSourceElement.DEFAULT_MULTI_SOURCE_ELEMENT_NAME:columnName)); repo = new ChainingMetadataRepository(repos); } model.addAttchment(MetadataRepository.class, repo); } }
public void createConnectorManagers(VDBMetaData deployment, ExecutionFactoryProvider provider) throws ConnectorManagerException { for (ModelMetaData model : deployment.getModelMetaDatas().values()) { List<String> sourceNames = model.getSourceNames(); if (sourceNames.size() != new HashSet<String>(sourceNames).size()) { throw new ConnectorManagerException(QueryPlugin.Util.gs(QueryPlugin.Event.TEIID31101, model.getName(), deployment.getName(), deployment.getVersion())); } if (sourceNames.size() > 1 && !model.isSupportsMultiSourceBindings()) { throw new ConnectorManagerException(QueryPlugin.Util.gs(QueryPlugin.Event.TEIID31102, model.getName(), deployment.getName(), deployment.getVersion())); } for (SourceMappingMetadata source : model.getSourceMappings()) { createConnectorManager(deployment, provider, source, false); } } }
public void createConnectorManagers(VDBMetaData deployment, ExecutionFactoryProvider provider) throws ConnectorManagerException { for (ModelMetaData model : deployment.getModelMetaDatas().values()) { List<String> sourceNames = model.getSourceNames(); if (sourceNames.size() != new HashSet<String>(sourceNames).size()) { throw new ConnectorManagerException(QueryPlugin.Util.gs(QueryPlugin.Event.TEIID31101, model.getName(), deployment.getName(), deployment.getVersion())); } if (sourceNames.size() > 1 && !model.isSupportsMultiSourceBindings()) { throw new ConnectorManagerException(QueryPlugin.Util.gs(QueryPlugin.Event.TEIID31102, model.getName(), deployment.getName(), deployment.getVersion())); } for (SourceMappingMetadata source : model.getSourceMappings()) { createConnectorManager(deployment, provider, source, false); } } }
public void createConnectorManagers(VDBMetaData deployment, ExecutionFactoryProvider provider) throws ConnectorManagerException { for (ModelMetaData model : deployment.getModelMetaDatas().values()) { List<String> sourceNames = model.getSourceNames(); if (sourceNames.size() != new HashSet<String>(sourceNames).size()) { throw new ConnectorManagerException(QueryPlugin.Util.gs(QueryPlugin.Event.TEIID31101, model.getName(), deployment.getName(), deployment.getVersion())); } if (sourceNames.size() > 1 && !model.isSupportsMultiSourceBindings()) { throw new ConnectorManagerException(QueryPlugin.Util.gs(QueryPlugin.Event.TEIID31102, model.getName(), deployment.getName(), deployment.getVersion())); } for (SourceMappingMetadata source : model.getSourceMappings()) { createConnectorManager(deployment, provider, source, false); } } }
Schema schema = metadataStore.getSchema(model.getName()); if (schema == null) { continue; //OTHER type, which does not have a corresponding Teiid schema
Schema schema = metadataStore.getSchema(model.getName()); if (schema == null) { continue; //OTHER type, which does not have a corresponding Teiid schema
&& schema.getProcedures().isEmpty() && schema.getFunctions().isEmpty()) { metadataValidator.log(report, model, QueryPlugin.Util.gs(QueryPlugin.Event.TEIID31070, model.getName())); ActivityReport<ReportItem> funcReport = new ActivityReport<ReportItem>("Translator metadata load " + model.getName()); //$NON-NLS-1$ FunctionMetadataValidator.validateFunctionMethods(schema.getFunctions().values(),report, store.getDatatypes()); if(report.hasItems()) {
&& schema.getProcedures().isEmpty() && schema.getFunctions().isEmpty()) { metadataValidator.log(report, model, QueryPlugin.Util.gs(QueryPlugin.Event.TEIID31070, model.getName())); ActivityReport<ReportItem> funcReport = new ActivityReport<ReportItem>("Translator metadata load " + model.getName()); //$NON-NLS-1$ FunctionMetadataValidator.validateFunctionMethods(schema.getFunctions().values(),report, store.getDatatypes()); if(report.hasItems()) {
&& schema.getProcedures().isEmpty() && schema.getFunctions().isEmpty()) { metadataValidator.log(report, model, QueryPlugin.Util.gs(QueryPlugin.Event.TEIID31070, model.getName())); ActivityReport<ReportItem> funcReport = new ActivityReport<ReportItem>("Translator metadata load " + model.getName()); //$NON-NLS-1$ FunctionMetadataValidator.validateFunctionMethods(schema.getFunctions().values(),report, store.getDatatypes()); if(report.hasItems()) {
private void writeModel(final XMLStreamWriter writer, ModelMetaData model) throws XMLStreamException { writer.writeStartElement(Element.MODEL.getLocalName()); writeAttribute(writer, Element.NAME.getLocalName(), model.getName()); writeAttribute(writer, Element.TYPE.getLocalName(), model.getModelType().name());