@Override public boolean isSource() { return getModelType() == Model.Type.PHYSICAL; }
@Override public boolean isSource() { return getModelType() == Model.Type.PHYSICAL; }
node.get(MODEL_TYPE).set(model.getModelType().toString()); if (model.getPath() != null) { node.get(MODELPATH).set(model.getPath());
node.get(MODEL_TYPE).set(model.getModelType().toString()); if (model.getPath() != null) { node.get(MODELPATH).set(model.getPath());
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); } }
if (model.getModelType() == ModelMetaData.Type.PHYSICAL) { repos.add(new DirectQueryMetadataRepository()); if (model.getModelType() == ModelMetaData.Type.VIRTUAL) { repos.add(new MaterializationMetadataRepository());
@Test public void testModelType() { ModelMetaData model = new ModelMetaData(); model.setModelType("physical"); assertTrue(model.getModelType() == Model.Type.PHYSICAL); assertTrue(model.isSource()); model.modelType = "VIRTUAL"; assertTrue(model.getModelType() == Model.Type.VIRTUAL); model.modelType = "TYPE"; assertTrue(model.getModelType() == Model.Type.OTHER); assertTrue(!model.isSource()); }
if (model.getModelType() == Model.Type.PHYSICAL || model.getModelType() == Model.Type.VIRTUAL) { loadCount.incrementAndGet(); if (model.getModelType() == Model.Type.PHYSICAL || model.getModelType() == Model.Type.VIRTUAL) { loadMetadata(vdb, model, cmr, metadataRepository, store, loadCount, vdbResources); LogManager.logTrace(LogConstants.CTX_RUNTIME, "Model ", model.getName(), "in VDB ", vdb.getName(), " was being loaded from its repository"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ LogManager.logTrace(LogConstants.CTX_RUNTIME, "Model ", model.getName(), "in VDB ", vdb.getName(), " skipped being loaded because of its type ", model.getModelType()); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
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());
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());
assertEquals("model-one", modelOne.getName()); //$NON-NLS-1$ assertEquals("s1", modelOne.getSourceNames().get(0)); //$NON-NLS-1$ assertEquals(Model.Type.PHYSICAL, modelOne.getModelType()); assertEquals("model-value-override", modelOne.getPropertyValue("model-prop")); //$NON-NLS-1$ //$NON-NLS-2$ assertFalse(modelOne.isVisible()); assertTrue(modelTwo.getSourceNames().contains("s1")); //$NON-NLS-1$ assertTrue(modelTwo.getSourceNames().contains("s2")); //$NON-NLS-1$ assertEquals(Model.Type.VIRTUAL, modelTwo.getModelType()); // this is not persisted in the XML assertEquals("model-value", modelTwo.getPropertyValue("model-prop")); //$NON-NLS-1$ //$NON-NLS-2$ assertEquals("DDL", modelTwo.getSourceMetadataType().get(0));