@Override protected boolean continueProcessing(FileMetadata meta) { String fileNameText = null; if (fullPath) { fileNameText = meta.getFilePointer().getAbsolutePath(); fileNameText = StringUtils.replace(fileNameText, "\\", "/"); } else { fileNameText = meta.getFilePointer().getName(); } return regexPattern.matcher(fileNameText).find(); }
@Override public void processMeta(T fileMeta) { File file = fileMeta.getFilePointer(); if (LOG.isTraceEnabled()) { LOG.trace("Processing Extension: " + file.getAbsolutePath()); } decoratorPipeline.processMeta(fileMeta); if (isOfInterest(fileMeta)) { // add it to it's parent's results. fileMeta.getArchiveMeta().getEntries().add(fileMeta); } }
@Override public void processFile(FileMetadata entry) { String path = StringUtils.replace(entry.getFilePointer().getAbsolutePath(), "\\", "/"); if(matchesExtension(path)) { T meta = fileEntryToMeta(entry); if (meta != null) { processMeta(meta); return; } } }
@Override public void processMeta(FileMetadata meta) { try { FileInputStream fis = new FileInputStream(meta.getFilePointer()); String md5 = org.apache.commons.codec.digest.DigestUtils.md5Hex(fis); Hash result = new Hash(); result.setHashType(HashType.MD5); result.setHash(md5); meta.getDecorations().add(result); if (LOG.isDebugEnabled()) { LOG.debug("File: " + meta.getFilePointer().getAbsolutePath() + " : MD5: " + md5); } chainDecorators(meta); } catch (Exception e) { LOG.error("Exception generating MD5.", e); } } }
@Override public void processMeta(FileMetadata meta) { try { String contents = FileUtils.readFileToString(meta.getFilePointer()); Matcher matcher = regexPattern.matcher(contents); while (matcher.find()) { String matched = matcher.group(1); Line lr = new Line(); lr.setDescription("Blacklist Namespace: " + matched); lr.setLineNumber(NewLineUtil.countNewLine(contents, matcher.start())); lr.setPattern(matched); meta.getDecorations().add(lr); } } catch (IOException e) { LOG.error("Exception reading content for: " + meta.getFilePointer().getAbsolutePath(), e); } } }
@Override public JspMetadata fileEntryToMeta(FileMetadata entry) { File file = entry.getFilePointer(); LOG.debug("Processing: " + file.getAbsolutePath()); JspMetadata meta = new JspMetadata(); meta.setArchiveMeta(entry.getArchiveMeta()); meta.setFilePointer(file); return meta; }
@Override public void processMeta(FileMetadata meta) { try { FileInputStream fis = new FileInputStream(meta.getFilePointer()); String sha1 = org.apache.commons.codec.digest.DigestUtils.sha1Hex(fis); Hash result = new Hash(); result.setHashType(HashType.SHA1); result.setHash(sha1); meta.getDecorations().add(result); if (LOG.isDebugEnabled()) { LOG.debug("File: " + meta.getFilePointer().getAbsolutePath() + " : SHA1: " + sha1); } chainDecorators(meta); } catch (Exception e) { LOG.error("Exception generating MD5.", e); } }
@Override public void process(ArchiveMetadata archive, File reportDirectory) { //for each resource, create and persist a serialized data object. for(ArchiveMetadata archiveMeta : archive.getNestedArchives()) { //recurse. this.process(archiveMeta, reportDirectory); } for(FileMetadata fileMeta : archive.getEntries()) { //convert file resource to meta object and persist. MetaResultTransformer transformer = resolver.resolveTransformer(fileMeta.getClass()); ResourceData data = transformer.toResourceData(fileMeta, reportDirectory); File metaOut = new File(fileMeta.getFilePointer().getAbsolutePath() + ".windup.meta"); try { marshaller.marshal(metaOut, data); } catch (IOException e) { LOG.error("Exception writing meta: "+metaOut.getAbsolutePath(), e); } } } }
if(archiveEntryMeta.getFilePointer().equals(tempMeta.getFilePointer())) { result = archiveEntryMeta; break;
@Override public ManifestMetadata fileEntryToMeta(FileMetadata entry) { File file = entry.getFilePointer(); LOG.debug("Processing Manifest: " + file.getAbsolutePath().toString()); if (file.length() > 1048576L * 1) { LOG.warn("Manifest larger than 1 MB: " + file.getAbsolutePath() + "; Skipping processing."); return null; } ManifestMetadata meta = new ManifestMetadata(); //meta.setArchiveMeta(archiveEntry.getArchiveMeta()); meta.setFilePointer(file); meta.setArchiveMeta(entry.getArchiveMeta()); Classification classification = new Classification(); StoryPointEffort he = new StoryPointEffort(); he.setHours(0); classification.setEffort(he); classification.setDescription("ArchiveMetadata Manifest"); meta.getDecorations().add(classification); return meta; } }
fis = new FileInputStream(entry.getFilePointer()); javaMeta.setFilePointer(entry.getFilePointer()); LOG.error("Exception processing file: "+entry.getFilePointer().getAbsolutePath(), e);
@Override public XmlMetadata fileEntryToMeta(FileMetadata entry) { File file = entry.getFilePointer();
@Override public JavaMetadata fileEntryToMeta(FileMetadata entry) { JavaMetadata meta = new JavaMetadata(); meta.setFilePointer(entry.getFilePointer()); meta.setArchiveMeta(entry.getArchiveMeta()); populateMeta(meta); if (!customerPackageResolver.isCustomerPkg(meta.getQualifiedClassName())) { LOG.trace("Not customer package."); return null; } if (blacklistPackageResolver.containsGenerated(meta.getClassDependencies())) { LOG.trace("Class is generated. Skip profiling."); return null; } // third does the class contain any blacklists? if (!blacklistPackageResolver.containsBlacklist(meta.getClassDependencies())) { LOG.trace("Class does not contain blacklists."); return null; } return meta; }