private void processVdb( final Collection<BaseArtifactType> derivedArtifacts, final ExtendedDocument vdbArtifact, final Element vdb, final XPath xpath ) throws Exception { { // name final String name = vdb.getAttribute(VdbManifest.ManifestId.NAME); vdbArtifact.setName(name); } // description setDescriptionFromElementValue(vdb, XmlId.DESCRIPTION, vdbArtifact, xpath); // version setVdbVersion(vdb, VdbManifest.ManifestId.VERSION, vdbArtifact, VdbManifest.PropertyId.VERSION); if (LOGGER.isDebugEnabled()) { LOGGER.debug("VdbManifestDeriver:VDB name '{}'", vdbArtifact.getName()); //$NON-NLS-1$ LOGGER.debug("VdbManifestDeriver:VDB description '{}'", vdbArtifact.getDescription()); //$NON-NLS-1$ LOGGER.debug("VdbManifestDeriver:VDB version '{}'", vdbArtifact.getVersion()); //$NON-NLS-1$ } processProperties(vdbArtifact, vdb, xpath); // derive artifacts processVdbImports(derivedArtifacts, vdbArtifact, vdb, xpath); processTranslators(derivedArtifacts, vdbArtifact, vdb, xpath); processDataRoles(derivedArtifacts, vdbArtifact, vdb, xpath); processEntries(derivedArtifacts, vdbArtifact, vdb, xpath); processSchemas(derivedArtifacts, vdbArtifact, vdb, xpath); }
private void processModelAnnotation( final Collection<BaseArtifactType> derivedArtifacts, final ExtendedDocument modelArtifact, final Element xmiElement, final XPath xpath ) throws Exception { final Element annotationElement = (Element)query(xpath, xmiElement, Utils.getElementQueryString(TeiidModel.XmiId.MODEL_ANNOTATION), XPathConstants.NODE); if (annotationElement == null) { throw new IllegalArgumentException(Messages.I18N.format("missingModelAnnotationElement", modelArtifact.getName())); //$NON-NLS-1$ } setProperty(modelArtifact, annotationElement, TeiidModel.XmiId.UUID, PropertyId.MMUID); setProperty(modelArtifact, annotationElement, TeiidModel.XmiId.PRIMARY_METAMODEL_URI, TeiidModel.PropertyId.PRIMARY_METAMODEL_URI); setProperty(modelArtifact, annotationElement, TeiidModel.XmiId.MODEL_TYPE, TeiidModel.PropertyId.MODEL_TYPE); setProperty(modelArtifact, annotationElement, TeiidModel.XmiId.PRODUCER_NAME, TeiidModel.PropertyId.PRODUCER_NAME); setProperty(modelArtifact, annotationElement, TeiidModel.XmiId.PRODUCER_VERSION, TeiidModel.PropertyId.PRODUCER_VERSION); setProperty(modelArtifact, annotationElement, TeiidModel.XmiId.MAX_SET_SIZE, TeiidModel.PropertyId.MAX_SET_SIZE); setProperty(modelArtifact, annotationElement, TeiidModel.XmiId.NAME_IN_SOURCE, PropertyId.NAME_IN_SOURCE); setProperty(modelArtifact, annotationElement, XmlId.DESCRIPTION, org.overlord.sramp.integration.teiid.model.Describable.PropertyId.DESCRIPTION); setProperty(modelArtifact, annotationElement, TeiidModel.XmiId.VISIBLE, TeiidModel.PropertyId.VISIBLE); }
Assert.assertEquals("org.overlord.sramp.integration.java.deriver.MyClass", artifact.getName()); //$NON-NLS-1$ Assert.assertEquals("org.overlord.sramp.integration.java.deriver", SrampModelUtils.getCustomProperty(artifact, JavaModel.PROP_PACKAGE_NAME)); //$NON-NLS-1$ Assert.assertEquals("MyClass", SrampModelUtils.getCustomProperty(artifact, JavaModel.PROP_CLASS_NAME)); //$NON-NLS-1$ Assert.assertEquals("org.overlord.sramp.integration.java.deriver.MyInterface", artifact.getName()); //$NON-NLS-1$ Assert.assertEquals("org.overlord.sramp.integration.java.deriver", SrampModelUtils.getCustomProperty(artifact, JavaModel.PROP_PACKAGE_NAME)); //$NON-NLS-1$ Assert.assertEquals("MyInterface", SrampModelUtils.getCustomProperty(artifact, JavaModel.PROP_CLASS_NAME)); //$NON-NLS-1$
this.deriver.link(null, this.vdbManifestArtifact, derivedArtifacts); assertThat(this.vdbManifestArtifact.getName(), is("myVDB")); assertThat(this.vdbManifestArtifact.getDescription(), is("vdb description")); assertThat(this.vdbManifestArtifact.getVersion(), is("3"));
this.deriver.link(null, this.vdbManifestArtifact, derivedArtifacts); assertThat(this.vdbManifestArtifact.getName(), is("twitter")); assertThat(this.vdbManifestArtifact.getDescription(), is("Shows how to call Web Services")); assertThat(this.vdbManifestArtifact.getVersion(), is("1"));
this.deriver.link(null, this.vdbManifestArtifact, derivedArtifacts); assertThat(this.vdbManifestArtifact.getName(), is("ProductsSS_VDB")); assertThat(this.vdbManifestArtifact.getVersion(), is("1")); assertPropertyValue(this.vdbManifestArtifact, VdbManifest.PropertyId.VERSION, "1");
Assert.assertEquals("orders", artifact.getName()); //$NON-NLS-1$ Assert.assertEquals("urn:switchyard-quickstart:bean-service:0.1.0", SrampModelUtils.getCustomProperty(artifact, "targetNamespace")); //$NON-NLS-1$ //$NON-NLS-2$