/** * Create an instance of {@link WsdlDocument } * */ public WsdlDocument createWsdlDocument() { return new WsdlDocument(); }
@Override public void visit(WsdlDocument artifact) { super.visit(artifact); if (oldArtifact == null) { verifyEmptyDerivedRelationships("importedXsds", artifact.getImportedXsds()); verifyEmptyDerivedRelationships("includedXsds", artifact.getIncludedXsds()); verifyEmptyDerivedRelationships("redefinedXsds", artifact.getRedefinedXsds()); verifyEmptyDerivedRelationships("importedWsdls", artifact.getImportedWsdls()); } else { WsdlDocument castOld = (WsdlDocument) oldArtifact; verifyUnchangedDerivedRelationships("importedXsds", artifact.getImportedXsds(), castOld.getImportedXsds()); verifyUnchangedDerivedRelationships("includedXsds", artifact.getIncludedXsds(), castOld.getIncludedXsds()); verifyUnchangedDerivedRelationships("redefinedXsds", artifact.getRedefinedXsds(), castOld.getRedefinedXsds()); verifyUnchangedDerivedRelationships("importedWsdls", artifact.getImportedWsdls(), castOld.getImportedWsdls()); } }
/** * @see org.overlord.sramp.common.visitors.HierarchicalArtifactVisitorAdapter#visit(org.oasis_open.docs.s_ramp.ns.s_ramp_v1.WsdlDocument) */ @Override public void visit(WsdlDocument artifact) { super.visit(artifact); try { setProperty("sramp:targetNamespace", artifact.getTargetNamespace()); //$NON-NLS-1$ } catch (Exception e) { error = e; } }
WsdlDocument testSrcArtifact = new WsdlDocument(); testSrcArtifact.setArtifactType(BaseArtifactEnum.WSDL_DOCUMENT); testSrcArtifact.setUuid(UUID.randomUUID().toString()); testSrcArtifact.setName("ws-humantask-api.wsdl"); //$NON-NLS-1$ testSrcArtifact.setVersion("200803"); //$NON-NLS-1$ testSrcArtifact.setContentEncoding("UTF-8"); //$NON-NLS-1$ testSrcArtifact.setContentType("application/xml"); //$NON-NLS-1$ testSrcArtifact.setContentSize(92779L); testSrcArtifact.setCreatedBy("anonymous"); //$NON-NLS-1$ XMLGregorianCalendar xmlGC = dtFactory.newXMLGregorianCalendar(new GregorianCalendar()); testSrcArtifact.setCreatedTimestamp(xmlGC); testSrcArtifact.setDescription("Human Task WSDL."); //$NON-NLS-1$ testSrcArtifact.setLastModifiedBy("anonymous"); //$NON-NLS-1$ testSrcArtifact.setLastModifiedTimestamp(xmlGC);
BatchItem item = createBatchItem("/sample-files/wsdl/jcr-sample-externalrefs.xsd", new XsdDocument(), BaseArtifactEnum.XSD_DOCUMENT); //$NON-NLS-1$ items.add(item); item = createBatchItem("/sample-files/wsdl/jcr-sample-externalrefs.wsdl", new WsdlDocument(), BaseArtifactEnum.WSDL_DOCUMENT); //$NON-NLS-1$ items.add(item); Assert.assertEquals("jcr-sample-externalrefs.wsdl", wsdl.getName()); //$NON-NLS-1$ Assert.assertEquals("http://ewittman.redhat.com/sample/2012/09/wsdl/sample.wsdl", wsdl.getTargetNamespace()); //$NON-NLS-1$
/** * @throws RepositoryException * @throws DerivedArtifactsCreationException */ private WsdlDocument addWsdlDoc() throws SrampException { String artifactFileName = "jcr-sample.wsdl"; //$NON-NLS-1$ InputStream contentStream = this.getClass().getResourceAsStream("/sample-files/wsdl/" + artifactFileName); //$NON-NLS-1$ try { WsdlDocument wsdlDoc = new WsdlDocument(); wsdlDoc.setArtifactType(BaseArtifactEnum.WSDL_DOCUMENT); wsdlDoc.setName(artifactFileName); wsdlDoc.setContentEncoding("application/xml"); //$NON-NLS-1$ // Persist the artifact BaseArtifactType artifact = persistenceManager.persistArtifact(wsdlDoc, contentStream); Assert.assertNotNull(artifact); return (WsdlDocument) artifact; } finally { IOUtils.closeQuietly(contentStream); } }
private void processWsdlImports() throws XPathExpressionException { WsdlDocument wsdlDocument; if (getPrimaryArtifact() instanceof WsdlDocument) { wsdlDocument = (WsdlDocument) getPrimaryArtifact(); } else { return; } NodeList nodes = (NodeList) this.query(rootElement, ".//wsdl:import", XPathConstants.NODESET); for (int idx = 0; idx < nodes.getLength(); idx++) { Element node = (Element) nodes.item(idx); if (node.hasAttribute("namespace")) { String namespace = node.getAttribute("namespace"); String location = node.getAttribute("location"); stripPath(location); WsdlDocument wsdlDocumentRef = derivedArtifacts.lookupWsdlDocument(namespace); WsdlDocumentTarget wsdlDocumentTarget = new WsdlDocumentTarget(); wsdlDocumentTarget.setArtifactType(WsdlDocumentEnum.WSDL_DOCUMENT); if (wsdlDocumentRef != null) { wsdlDocumentTarget.setValue(wsdlDocumentRef.getUuid()); } else { relationshipSources.add(new NamespaceRelationshipSource(namespace, location, wsdlDocumentTarget, wsdlDocument.getImportedWsdls(), ArtifactTypeEnum.WsdlDocument.getModel(), ArtifactTypeEnum.WsdlDocument.getType())); } wsdlDocument.getImportedWsdls().add(wsdlDocumentTarget); } } }
/** * @see org.overlord.sramp.common.visitors.HierarchicalArtifactVisitorAdapter#visit(org.oasis_open.docs.s_ramp.ns.s_ramp_v1.WsdlDocument) */ @Override public void visit(WsdlDocument artifact) { super.visit(artifact); artifact.setTargetNamespace(getProperty(jcrNode, "sramp:targetNamespace")); //$NON-NLS-1$ }
WsdlDocument wsdlDoc = addWsdlDoc(); SrampModelUtils.addGenericRelationship(xsdDoc, "importedBy", wsdlDoc.getUuid()); //$NON-NLS-1$ SrampModelUtils.addGenericRelationship(xsdDoc, "markerRel", null); //$NON-NLS-1$ query.setString(wsdlDoc.getUuid()); artifactSet = query.executeQuery(); Assert.assertNotNull(artifactSet);
WsdlDocument testSrcArtifact = new WsdlDocument(); testSrcArtifact.setArtifactType(BaseArtifactEnum.WSDL_DOCUMENT); testSrcArtifact.setUuid(UUID.randomUUID().toString()); testSrcArtifact.setName("sample.wsdl"); //$NON-NLS-1$ testSrcArtifact.setVersion("2012/09"); //$NON-NLS-1$ testSrcArtifact.setContentEncoding("UTF-8"); //$NON-NLS-1$ testSrcArtifact.setContentType("application/xml"); //$NON-NLS-1$ testSrcArtifact.setContentSize(92779L); testSrcArtifact.setCreatedBy("anonymous"); //$NON-NLS-1$ XMLGregorianCalendar xmlGC = dtFactory.newXMLGregorianCalendar(new GregorianCalendar()); testSrcArtifact.setCreatedTimestamp(xmlGC); testSrcArtifact.setDescription("Sample WSDL."); //$NON-NLS-1$ testSrcArtifact.setLastModifiedBy("anonymous"); //$NON-NLS-1$ testSrcArtifact.setLastModifiedTimestamp(xmlGC);
@Test public void testWsdlDocumentWithExternalRefs() throws Exception { String xsdUuid = addWsdlArtifact("jcr-sample-externalrefs.xsd", new XsdDocument(), BaseArtifactEnum.XSD_DOCUMENT); //$NON-NLS-1$ String uuid = addWsdlArtifact("jcr-sample-externalrefs.wsdl", new WsdlDocument(), BaseArtifactEnum.WSDL_DOCUMENT); //$NON-NLS-1$ Assert.assertEquals("jcr-sample-externalrefs.wsdl", wsdl.getName()); //$NON-NLS-1$ Assert.assertEquals("http://ewittman.redhat.com/sample/2012/09/wsdl/sample.wsdl", wsdl.getTargetNamespace()); //$NON-NLS-1$
/** * @see org.overlord.sramp.common.derived.XsdDeriver#derive(java.util.Collection, org.oasis_open.docs.s_ramp.ns.s_ramp_v1.BaseArtifactType, org.overlord.sramp.common.derived.AbstractXmlDeriver.XmlDeriverContext) */ @Override protected void derive(Collection<BaseArtifactType> derivedArtifacts, BaseArtifactType artifact, XmlDeriverContext xmlDeriverContext) throws IOException { String targetNS = xmlDeriverContext.getRootElement().getAttribute("targetNamespace"); //$NON-NLS-1$ ((WsdlDocument) artifact).setTargetNamespace(targetNS); try { processDefinitions((IndexedArtifactCollection) derivedArtifacts, artifact, xmlDeriverContext.getRootElement(), xmlDeriverContext.getXpath()); } catch (Exception e) { throw new IOException(e); } }
/** * @see org.overlord.sramp.common.visitors.HierarchicalArtifactVisitorAdapter#visit(org.oasis_open.docs.s_ramp.ns.s_ramp_v1.WsdlDocument) */ @Override public void visit(WsdlDocument artifact) { visitRelationships("importedXsds", artifact.getImportedXsds()); //$NON-NLS-1$ visitRelationships("includedXsds", artifact.getIncludedXsds()); //$NON-NLS-1$ visitRelationships("redefinedXsds", artifact.getRedefinedXsds()); //$NON-NLS-1$ visitRelationships("importedWsdls", artifact.getImportedWsdls()); //$NON-NLS-1$ super.visit(artifact); }
@Test public void testWsdlDocument() throws Exception { String uuid = addWsdlArtifact("jcr-sample.wsdl", new WsdlDocument(), BaseArtifactEnum.WSDL_DOCUMENT); //$NON-NLS-1$ Assert.assertEquals("jcr-sample.wsdl", wsdl.getName()); //$NON-NLS-1$ Assert.assertEquals("http://ewittman.redhat.com/sample/2012/09/wsdl/sample.wsdl", wsdl.getTargetNamespace()); //$NON-NLS-1$
/** * @see org.artificer.common.visitors.HierarchicalArtifactVisitor#visit(org.oasis_open.docs.s_ramp.ns.s_ramp_v1.WsdlDocument) */ @Override public void visit(WsdlDocument artifact) { super.visit(artifact); try { createProperty("targetNamespace", artifact.getTargetNamespace()); } catch (Exception e) { error = e; } }
/** * Creates the artifact instance based on the type of the discovered artifact. * @param discoveredArtifact */ protected BaseArtifactType createArtifact(DiscoveredArtifact discoveredArtifact) { BaseArtifactType metaData = null; String archivePath = discoveredArtifact.getArchivePath().toLowerCase(); if (archivePath.endsWith(".xml")) { //$NON-NLS-1$ metaData = new XmlDocument(); metaData.setArtifactType(BaseArtifactEnum.XML_DOCUMENT); } else if (archivePath.endsWith(".wsdl")) { //$NON-NLS-1$ metaData = new WsdlDocument(); metaData.setArtifactType(BaseArtifactEnum.WSDL_DOCUMENT); } else if (archivePath.endsWith(".xsd")) { //$NON-NLS-1$ metaData = new XsdDocument(); metaData.setArtifactType(BaseArtifactEnum.XSD_DOCUMENT); } else if (archivePath.endsWith(".wspolicy")) { //$NON-NLS-1$ metaData = new XsdDocument(); metaData.setArtifactType(BaseArtifactEnum.POLICY_DOCUMENT); } else { metaData = new Document(); metaData.setArtifactType(BaseArtifactEnum.DOCUMENT); } return metaData; }
/** * @see HierarchicalArtifactVisitor#visit(org.oasis_open.docs.s_ramp.ns.s_ramp_v1.WsdlDocument) */ @Override public void visit(WsdlDocument artifact) { visitRelationships("importedXsds", artifact.getImportedXsds(), false); visitRelationships("includedXsds", artifact.getIncludedXsds(), false); visitRelationships("redefinedXsds", artifact.getRedefinedXsds(), false); visitRelationships("importedWsdls", artifact.getImportedWsdls(), false); super.visit(artifact); }
} else if (artifact instanceof WsdlDocument) { WsdlDocument wsdlDocument = (WsdlDocument) artifact; wsdlDocumentIndex.put(wsdlDocument.getTargetNamespace(), wsdlDocument);
/** * @see org.artificer.common.visitors.HierarchicalArtifactVisitor#visit(org.oasis_open.docs.s_ramp.ns.s_ramp_v1.WsdlDocument) */ @Override public void visit(WsdlDocument artifact) { super.visit(artifact); try { setRelationships("importedXsds", RelationshipType.MODELED, artifact.getImportedXsds()); setRelationships("includedXsds", RelationshipType.MODELED, artifact.getIncludedXsds()); setRelationships("redefinedXsds", RelationshipType.MODELED, artifact.getRedefinedXsds()); setRelationships("importedWsdls", RelationshipType.MODELED, artifact.getImportedWsdls()); } catch (Exception e) { error = e; } }
/** * @see org.artificer.common.visitors.HierarchicalArtifactVisitor#visit(org.oasis_open.docs.s_ramp.ns.s_ramp_v1.WsdlDocument) */ @Override public void visit(WsdlDocument artifact) { super.visit(artifact); artifact.setTargetNamespace(getProperty("targetNamespace")); try { artifact.getImportedXsds().addAll(getRelationships( "importedXsds", artificerArtifact, XsdDocumentTarget.class)); artifact.getIncludedXsds().addAll(getRelationships( "includedXsds", artificerArtifact, XsdDocumentTarget.class)); artifact.getRedefinedXsds().addAll(getRelationships( "redefinedXsds", artificerArtifact, XsdDocumentTarget.class)); artifact.getImportedWsdls().addAll(getRelationships( "importedWsdls", artificerArtifact, WsdlDocumentTarget.class)); } catch (Exception e) { throw new RuntimeException(e); } }