/** * @return the artifact's file extension, or null if none found */ public String getExtension() { String name = getName(); int idx = name.lastIndexOf('.'); if (idx > 0) { return name.substring(idx+1); } else { return null; } }
/** * Adds a candidate artifact to the set of collected (accepted/discovered) artifacts. * @param candidate */ public void add(File file) { DiscoveredArtifact artifact = new DiscoveredArtifact(file); getArtifacts().add(artifact); }
/** * Indexes all of the discovered artifacts using the given directory as the base directory * (for determining canonical archive paths). * @param workDir */ public void index(File workDir) { for (DiscoveredArtifact artifact : getArtifacts()) { String archivePath = determineArchivePath(workDir, artifact.getFile()); artifact.setArchivePath(archivePath); index.put(archivePath, artifact); } }
/** * Adds some standard meta-data properties to the artifact instance. * @param discoveredArtifact * @param artifact */ protected void addStandardMetaData(DiscoveredArtifact discoveredArtifact, BaseArtifactType artifact) { artifact.setUuid(UUID.randomUUID().toString()); artifact.setName(discoveredArtifact.getName()); SrampModelUtils.setCustomProperty(artifact, "batch.archive-path", discoveredArtifact.getArchivePath()); //$NON-NLS-1$ if (this.context != null) { String parentUUID = (String) this.context.get(PARENT_UUID); if (parentUUID != null) SrampModelUtils.addGenericRelationship(artifact, "expandedFromDocument", parentUUID); //$NON-NLS-1$ } }
/** * @see org.overlord.sramp.atom.archive.expand.DefaultMetaDataFactory#createArtifact(org.overlord.sramp.atom.archive.expand.DiscoveredArtifact) */ @Override protected BaseArtifactType createArtifact(DiscoveredArtifact discoveredArtifact) { if (discoveredArtifact.getName().equals("switchyard.xml")) { //$NON-NLS-1$ ExtendedDocument artifact = new ExtendedDocument(); artifact.setArtifactType(BaseArtifactEnum.EXTENDED_DOCUMENT); artifact.setExtendedType(SwitchYardModel.SwitchYardXmlDocument); return artifact; } if ("class".equals(discoveredArtifact.getExtension())) { //$NON-NLS-1$ ExtendedDocument artifact = new ExtendedDocument(); artifact.setArtifactType(BaseArtifactEnum.EXTENDED_DOCUMENT); artifact.setExtendedType(JavaModel.TYPE_JAVA_CLASS); return artifact; } return super.createArtifact(discoveredArtifact); }
/** * Creates an S-RAMP archive from this JAR. * @return an S-RAMP archive * @throws ZipToSrampArchiveException */ public SrampArchive createSrampArchive() throws ZipToSrampArchiveException { this.artifactFilter.setContext(this.context); this.metaDataFactory.setContext(this.context); DiscoveredArtifacts discoveredArtifacts = discoverArtifacts(); discoveredArtifacts.index(jarWorkDir); generateMetaData(discoveredArtifacts); try { SrampArchive archive = new SrampArchive(); for (DiscoveredArtifact artifact : discoveredArtifacts) { String path = artifact.getArchivePath(); archive.addEntry(path, artifact.getMetaData(), artifact.getContent()); } return archive; } catch (Exception e) { throw new ZipToSrampArchiveException(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; }
@Override public BaseArtifactType createMetaData(DiscoveredArtifact artifact) { BaseArtifactType md = new Document(); md.setUuid(UUID.randomUUID().toString()); md.setName("custom-" + artifact.getName()); //$NON-NLS-1$ return md; } });
/** * {@inheritDoc} * * @see org.overlord.sramp.atom.archive.expand.DefaultMetaDataFactory#createArtifact(org.overlord.sramp.atom.archive.expand.DiscoveredArtifact) */ @Override protected BaseArtifactType createArtifact( final DiscoveredArtifact discoveredArtifact ) { // VDB manifest if (VdbManifest.FILE_NAME.equals(discoveredArtifact.getName())) { final ExtendedDocument artifact = new ExtendedDocument(); artifact.setArtifactType(BaseArtifactEnum.EXTENDED_DOCUMENT); artifact.setExtendedType(TeiidArtifactType.VDB_MANIFEST.extendedType()); return artifact; } // Teiid models if (discoveredArtifact.getName().endsWith(TeiidModel.FILE_EXT)) { final ExtendedDocument artifact = new ExtendedDocument(); artifact.setArtifactType(BaseArtifactEnum.EXTENDED_DOCUMENT); artifact.setExtendedType(TeiidArtifactType.MODEL.extendedType()); return artifact; } // VDB configuration info def if (Vdb.CONFIGURATION_INFO_FILE_NAME.equals(discoveredArtifact.getName())) { final ExtendedDocument artifact = new ExtendedDocument(); artifact.setArtifactType(BaseArtifactEnum.EXTENDED_DOCUMENT); artifact.setExtendedType(Vdb.VdbExtendedType.CONFIG_INFO.extendedType()); return artifact; } return super.createArtifact(discoveredArtifact); }
/** * @see org.overlord.sramp.atom.archive.expand.DefaultMetaDataFactory#createArtifact(org.overlord.sramp.atom.archive.expand.DiscoveredArtifact) */ @Override protected BaseArtifactType createArtifact(DiscoveredArtifact discoveredArtifact) { String name = discoveredArtifact.getName().toLowerCase(); if (name.equals("kmodule.xml")) { //$NON-NLS-1$ ExtendedDocument artifact = new ExtendedDocument(); artifact.setArtifactType(BaseArtifactEnum.EXTENDED_DOCUMENT); artifact.setExtendedType(KieJarModel.KieXmlDocument); return artifact; } if (name.endsWith(".bpmn") || name.endsWith(".bpmn2")) { //$NON-NLS-1$ ExtendedDocument artifact = new ExtendedDocument(); artifact.setArtifactType(BaseArtifactEnum.EXTENDED_DOCUMENT); artifact.setExtendedType(KieJarModel.BpmnDocument); return artifact; } if (name.endsWith(".drl")) { //$NON-NLS-1$ ExtendedDocument artifact = new ExtendedDocument(); artifact.setArtifactType(BaseArtifactEnum.EXTENDED_DOCUMENT); artifact.setExtendedType(KieJarModel.DroolsDocument); return artifact; } return super.createArtifact(discoveredArtifact); } }