@Override public boolean allowExpansionFromArchive(ArtifactContent content, ArchiveContext archiveContext) { if ( // core content.getFilename().endsWith(".xsd") || content.getFilename().endsWith(".wsdl") || content.getFilename().endsWith(".wspolicy") // Maven Facade support || content.getFilename().endsWith(".sha1") || content.getFilename().endsWith(".pom")) { return true; } if (content.getFilename().endsWith(".xml") && !content.getFilename().equals("pom.xml")) { // XML files, but not POMs return true; } return false; } }
/** * Since the build process is multi-step and parses the content multiple times, it's necessary to be given * the byte[] and provide on-demand ByteArrayInputStreams as needed. * * @return InputStream */ protected InputStream getContentStream() throws FileNotFoundException { return artifactContent.getInputStream(); } }
private void processDocument(ArtificerDocumentArtifact artificerArtifact, ArtifactContent content) throws Exception { InputStream inputStream = null; try { if (content != null) { artificerArtifact.setContentSize(content.getSize()); inputStream = content.getInputStream(); String sha1Hash = DigestUtils.shaHex(inputStream); artificerArtifact.setContentHash(sha1Hash); } else { artificerArtifact.setContentSize(0); artificerArtifact.setContentHash(""); } } finally { if (inputStream != null) { IOUtils.closeQuietly(inputStream); } } } }
public static ArchiveContext createArchiveContext(ArtifactContent content) throws IOException { File archiveWorkDir = File.createTempFile(UUID.randomUUID().toString(), ".work"); archiveWorkDir.delete(); archiveWorkDir.mkdir(); ArchiveUtils.unpackToWorkDir(content.getFile(), archiveWorkDir); return new ArchiveContext(content, archiveWorkDir); }
@Override public boolean isArchive(ArtifactContent content) { String filename = content.getFilename(); return filename.endsWith(".jar") || filename.endsWith(".ear") || filename.endsWith(".war") || filename.endsWith(".zip"); }
@Override public void write(ArtificerDocumentArtifact artifact, ArtifactContent content, EntityManager entityManager) throws Exception { artifact.setContent(IOUtils.toByteArray(content.getInputStream())); } }
@Override public ArtifactType detect(ArtifactContent content) { if (content.getFilename().equals("kmodule.xml")) { return ArtifactType.valueOf(KieJarModel.KieXmlDocument, true); } if (content.getFilename().endsWith(".bpmn") || content.getFilename().endsWith(".bpmn2")) { return ArtifactType.valueOf(KieJarModel.BpmnDocument, true); } if (content.getFilename().endsWith(".drl")) { return ArtifactType.valueOf(KieJarModel.DroolsDocument, true); } return null; }
@Override public void write(ArtificerDocumentArtifact artifact, ArtifactContent content, EntityManager entityManager) throws Exception { InputStream inputStream = null; try { File out = new File(path + artifact.getUuid()); out.createNewFile(); inputStream = content.getInputStream(); Files.copy(content.getInputStream(), out.toPath(), StandardCopyOption.REPLACE_EXISTING); artifact.setContentPath(path + artifact.getUuid()); } finally { if (inputStream != null) { IOUtils.closeQuietly(inputStream); } } } }
@Override public ArtifactType detect(ArtifactContent content) { return RTGovModel.detect(content.getFilename()); }
@Override public boolean allowExpansionFromArchive(ArtifactContent content, ArchiveContext archiveContext) { if (archiveContext.isExtendedTypeArchive(KieJarModel.TYPE_ARCHIVE)) { String filename = content.getFilename(); if (filename.endsWith(".bpmn") || filename.endsWith(".bpmn2") || filename.endsWith(".drl")) { return true; } } return super.allowExpansionFromArchive(content, archiveContext); }
@Override public ArtifactType detect(ArtifactContent content, ArchiveContext archiveContext) { if (archiveContext.isExpandedFromArchive()) { return detect(content); } if (content.getFilename().endsWith(".zip")) { return ArtifactType.valueOf("ZipArchive", true); } return null; }
@Override public ArtifactType detect(ArtifactContent content) { String filename = content.getFilename().toLowerCase(); if (filename.endsWith(".xml")) { return ArtifactType.XmlDocument(); } else if (filename.endsWith(".wsdl")) { return ArtifactType.WsdlDocument(); } else if (filename.endsWith(".xsd")) { return ArtifactType.XsdDocument(); } else if (filename.endsWith(".wspolicy")) { return ArtifactType.PolicyDocument(); } else if (!isArchive(content)) { // Don't allow archives within archives to become documents! Only process if explicitly OK'd by another // detector (JavaArtifactTypeDetector, etc.). return ArtifactType.Document(); } else { return null; } }