You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@creadur.apache.org by rd...@apache.org on 2009/05/22 21:44:19 UTC
svn commit: r777673 - in /incubator/rat/main/trunk:
apache-rat-core/src/main/java/org/apache/rat/api/
apache-rat-core/src/main/java/org/apache/rat/policy/
apache-rat-core/src/main/java/org/apache/rat/report/analyser/
apache-rat-core/src/main/java/org/a...
Author: rdonkin
Date: Fri May 22 19:44:18 2009
New Revision: 777673
URL: http://svn.apache.org/viewvc?rev=777673&view=rev
Log:
RAT-53 Document categorisation (was file type) now stored in meta data. https://issues.apache.org/jira/browse/RAT-53
Removed:
incubator/rat/main/trunk/apache-rat-core/src/main/java/org/apache/rat/report/claim/FileType.java
incubator/rat/main/trunk/apache-rat-core/src/main/java/org/apache/rat/report/claim/impl/FileTypeClaim.java
Modified:
incubator/rat/main/trunk/apache-rat-core/src/main/java/org/apache/rat/api/MetaData.java
incubator/rat/main/trunk/apache-rat-core/src/main/java/org/apache/rat/policy/DefaultPolicy.java
incubator/rat/main/trunk/apache-rat-core/src/main/java/org/apache/rat/report/analyser/DefaultAnalyserFactory.java
incubator/rat/main/trunk/apache-rat-core/src/main/java/org/apache/rat/report/claim/ClaimStatistic.java
incubator/rat/main/trunk/apache-rat-core/src/main/java/org/apache/rat/report/claim/impl/AbstractClaimReporter.java
incubator/rat/main/trunk/apache-rat-core/src/main/java/org/apache/rat/report/claim/impl/ClaimAggregator.java
incubator/rat/main/trunk/apache-rat-core/src/main/java/org/apache/rat/report/claim/impl/xml/SimpleXmlClaimReporter.java
incubator/rat/main/trunk/apache-rat-core/src/main/java/org/apache/rat/report/xml/XmlReport.java
incubator/rat/main/trunk/apache-rat-core/src/main/java/org/apache/rat/report/xml/XmlReportFactory.java
incubator/rat/main/trunk/apache-rat-core/src/test/java/org/apache/rat/policy/DefaultPolicyTest.java
incubator/rat/main/trunk/apache-rat-core/src/test/java/org/apache/rat/report/analyser/AnalyserFactoryTest.java
incubator/rat/main/trunk/apache-rat-core/src/test/java/org/apache/rat/report/xml/XmlReportFactoryTest.java
incubator/rat/main/trunk/apache-rat-core/src/test/java/org/apache/rat/report/xml/XmlReportTest.java
incubator/rat/main/trunk/apache-rat-plugin/src/main/java/org/apache/rat/mp/FilesReportable.java
incubator/rat/main/trunk/apache-rat-tasks/src/main/java/org/apache/rat/anttasks/ResourceCollectionContainer.java
Modified: incubator/rat/main/trunk/apache-rat-core/src/main/java/org/apache/rat/api/MetaData.java
URL: http://svn.apache.org/viewvc/incubator/rat/main/trunk/apache-rat-core/src/main/java/org/apache/rat/api/MetaData.java?rev=777673&r1=777672&r2=777673&view=diff
==============================================================================
--- incubator/rat/main/trunk/apache-rat-core/src/main/java/org/apache/rat/api/MetaData.java (original)
+++ incubator/rat/main/trunk/apache-rat-core/src/main/java/org/apache/rat/api/MetaData.java Fri May 22 19:44:18 2009
@@ -34,13 +34,19 @@
public static final String RAT_BASE_URL = "http://org/apache/rat/meta-data";
// Document Categories
+ public static final String RAT_URL_DOCUMENT_CATEGORY = RAT_BASE_URL + "#FileCategory";
public static final String RAT_DOCUMENT_CATEGORY_VALUE_GENERATED = "GEN ";
public static final String RAT_DOCUMENT_CATEGORY_VALUE_UNKNOWN = "?????";
public static final String RAT_DOCUMENT_CATEGORY_VALUE_ARCHIVE = "archive";
public static final String RAT_DOCUMENT_CATEGORY_VALUE_NOTICE = "notice";
public static final String RAT_DOCUMENT_CATEGORY_VALUE_BINARY = "binary";
public static final String RAT_DOCUMENT_CATEGORY_VALUE_STANDARD = "standard";
- public static final String RAT_URL_DOCUMENT_CATEGORY = RAT_BASE_URL + "#FileCategory";
+ public static final Datum RAT_DOCUMENT_CATEGORY_DATUM_GENERATED = new Datum(RAT_URL_DOCUMENT_CATEGORY, RAT_DOCUMENT_CATEGORY_VALUE_GENERATED);
+ public static final Datum RAT_DOCUMENT_CATEGORY_DATUM_UNKNOWN = new Datum(RAT_URL_DOCUMENT_CATEGORY, RAT_DOCUMENT_CATEGORY_VALUE_UNKNOWN);
+ public static final Datum RAT_DOCUMENT_CATEGORY_DATUM_ARCHIVE = new Datum(RAT_URL_DOCUMENT_CATEGORY, RAT_DOCUMENT_CATEGORY_VALUE_ARCHIVE);
+ public static final Datum RAT_DOCUMENT_CATEGORY_DATUM_NOTICE = new Datum(RAT_URL_DOCUMENT_CATEGORY, RAT_DOCUMENT_CATEGORY_VALUE_NOTICE);
+ public static final Datum RAT_DOCUMENT_CATEGORY_DATUM_BINARY = new Datum(RAT_URL_DOCUMENT_CATEGORY, RAT_DOCUMENT_CATEGORY_VALUE_BINARY);
+ public static final Datum RAT_DOCUMENT_CATEGORY_DATUM_STANDARD = new Datum(RAT_URL_DOCUMENT_CATEGORY, RAT_DOCUMENT_CATEGORY_VALUE_STANDARD);
// Header Categories
public static final String RAT_URL_HEADER_CATEGORY = RAT_BASE_URL + "#HeaderCategory";
@@ -213,6 +219,14 @@
}
/**
+ * Clears all data.
+ */
+ public void clear() {
+ data.clear();
+ this.contentType = null;
+ }
+
+ /**
* A datum.
*/
public static final class Datum {
Modified: incubator/rat/main/trunk/apache-rat-core/src/main/java/org/apache/rat/policy/DefaultPolicy.java
URL: http://svn.apache.org/viewvc/incubator/rat/main/trunk/apache-rat-core/src/main/java/org/apache/rat/policy/DefaultPolicy.java?rev=777673&r1=777672&r2=777673&view=diff
==============================================================================
--- incubator/rat/main/trunk/apache-rat-core/src/main/java/org/apache/rat/policy/DefaultPolicy.java (original)
+++ incubator/rat/main/trunk/apache-rat-core/src/main/java/org/apache/rat/policy/DefaultPolicy.java Fri May 22 19:44:18 2009
@@ -23,12 +23,11 @@
import org.apache.rat.api.MetaData;
import org.apache.rat.api.MetaData.Datum;
import org.apache.rat.document.IDocument;
+import org.apache.rat.document.IDocumentAnalyser;
+import org.apache.rat.document.RatDocumentAnalysisException;
import org.apache.rat.license.ILicenseFamily;
-import org.apache.rat.report.RatReportFailedException;
-import org.apache.rat.report.claim.IClaim;
-import org.apache.rat.report.claim.IClaimReporter;
-public class DefaultPolicy implements IClaimReporter {
+public class DefaultPolicy implements IDocumentAnalyser {
private static final String[] APPROVED_LICENSES = {
MetaData.RAT_LICENSE_FAMILY_NAME_VALUE_APACHE_LICENSE_VERSION_2_0,
MetaData.RAT_LICENSE_FAMILY_NAME_VALUE_OASIS_OPEN_LICENSE,
@@ -50,8 +49,6 @@
}
;
private final String[] approvedLicenseNames;
- private IDocument subject;
- private boolean testedDocument = false;
public DefaultPolicy() {
this(APPROVED_LICENSES);
@@ -72,24 +69,7 @@
Arrays.sort(this.approvedLicenseNames);
}
- public void claim(IClaim pClaim)
- throws RatReportFailedException {
- testDocumentWhenNecessary(subject);
- }
-
- private void testDocumentWhenNecessary(final IDocument subject) throws RatReportFailedException {
- if (!testedDocument && subject != null) {
- final MetaData.Datum nameDatum = subject.getMetaData().get(MetaData.RAT_URL_LICENSE_FAMILY_NAME);
- if (nameDatum != null) {
- final String name = nameDatum.getValue();
- final boolean isApproved = Arrays.binarySearch(approvedLicenseNames, name) >= 0;
- reportLicenseApprovalClaim(subject, isApproved);
- }
- testedDocument = true;
- }
- }
-
- public void reportLicenseApprovalClaim(final IDocument subject, final boolean isAcceptable) throws RatReportFailedException {
+ public void reportLicenseApprovalClaim(final IDocument subject, final boolean isAcceptable) {
final Datum datum;
if (isAcceptable) {
datum = MetaData.RAT_APPROVED_LICENSE_DATIM_TRUE;
@@ -99,10 +79,13 @@
subject.getMetaData().set(datum);
}
-
- public void report(final IDocument subject) throws RatReportFailedException {
- testDocumentWhenNecessary(this.subject);
- this.subject = subject;
- testedDocument = false;
+ public void analyse(final IDocument subject) throws RatDocumentAnalysisException {
+ if (subject != null) {
+ final String name = subject.getMetaData().value(MetaData.RAT_URL_LICENSE_FAMILY_NAME);
+ if (name != null) {
+ final boolean isApproved = Arrays.binarySearch(approvedLicenseNames, name) >= 0;
+ reportLicenseApprovalClaim(subject, isApproved);
+ }
+ }
}
}
Modified: incubator/rat/main/trunk/apache-rat-core/src/main/java/org/apache/rat/report/analyser/DefaultAnalyserFactory.java
URL: http://svn.apache.org/viewvc/incubator/rat/main/trunk/apache-rat-core/src/main/java/org/apache/rat/report/analyser/DefaultAnalyserFactory.java?rev=777673&r1=777672&r2=777673&view=diff
==============================================================================
--- incubator/rat/main/trunk/apache-rat-core/src/main/java/org/apache/rat/report/analyser/DefaultAnalyserFactory.java (original)
+++ incubator/rat/main/trunk/apache-rat-core/src/main/java/org/apache/rat/report/analyser/DefaultAnalyserFactory.java Fri May 22 19:44:18 2009
@@ -19,16 +19,14 @@
package org.apache.rat.report.analyser;
import org.apache.rat.analysis.IHeaderMatcher;
+import org.apache.rat.api.MetaData;
import org.apache.rat.document.IDocument;
import org.apache.rat.document.IDocumentAnalyser;
import org.apache.rat.document.RatDocumentAnalysisException;
import org.apache.rat.document.impl.guesser.ArchiveGuesser;
import org.apache.rat.document.impl.guesser.BinaryGuesser;
import org.apache.rat.document.impl.guesser.NoteGuesser;
-import org.apache.rat.report.RatReportFailedException;
-import org.apache.rat.report.claim.FileType;
import org.apache.rat.report.claim.IClaimReporter;
-import org.apache.rat.report.claim.impl.FileTypeClaim;
/**
* Creates default analysers.
@@ -53,25 +51,20 @@
this.matcher = matcher;
}
- public void analyse(IDocument document) throws RatDocumentAnalysisException {
- try {
- reporter.report(document);
- final FileType type;
- if (NoteGuesser.isNote(document)) {
- type = FileType.NOTICE;
- } else if (ArchiveGuesser.isArchive(document)) {
- type = FileType.ARCHIVE;
- } else if (BinaryGuesser.isBinary(document)) {
- type = FileType.BINARY;
- } else {
- type = FileType.STANDARD;
- final DocumentHeaderAnalyser headerAnalyser = new DocumentHeaderAnalyser(matcher, reporter);
- headerAnalyser.analyse(document);
- }
- reporter.claim(new FileTypeClaim(document, type));
- } catch (RatReportFailedException e) {
- throw new RatReportAnalysisResultException(e);
+ public void analyse(IDocument subject) throws RatDocumentAnalysisException {
+ final MetaData.Datum documentCategory;
+ if (NoteGuesser.isNote(subject)) {
+ documentCategory = MetaData.RAT_DOCUMENT_CATEGORY_DATUM_NOTICE;
+ } else if (ArchiveGuesser.isArchive(subject)) {
+ documentCategory = MetaData.RAT_DOCUMENT_CATEGORY_DATUM_ARCHIVE;
+ } else if (BinaryGuesser.isBinary(subject)) {
+ documentCategory = MetaData.RAT_DOCUMENT_CATEGORY_DATUM_BINARY;
+ } else {
+ documentCategory = MetaData.RAT_DOCUMENT_CATEGORY_DATUM_STANDARD;
+ final DocumentHeaderAnalyser headerAnalyser = new DocumentHeaderAnalyser(matcher, reporter);
+ headerAnalyser.analyse(subject);
}
+ subject.getMetaData().set(documentCategory);
}
}
}
Modified: incubator/rat/main/trunk/apache-rat-core/src/main/java/org/apache/rat/report/claim/ClaimStatistic.java
URL: http://svn.apache.org/viewvc/incubator/rat/main/trunk/apache-rat-core/src/main/java/org/apache/rat/report/claim/ClaimStatistic.java?rev=777673&r1=777672&r2=777673&view=diff
==============================================================================
--- incubator/rat/main/trunk/apache-rat-core/src/main/java/org/apache/rat/report/claim/ClaimStatistic.java (original)
+++ incubator/rat/main/trunk/apache-rat-core/src/main/java/org/apache/rat/report/claim/ClaimStatistic.java Fri May 22 19:44:18 2009
@@ -10,7 +10,7 @@
* the report.
*/
public class ClaimStatistic {
- private Map fileTypeMap, licenseFamilyCodeMap, licenseFamilyNameMap;
+ private Map documentCategoryMap, licenseFamilyCodeMap, licenseFamilyNameMap;
private int numApproved, numUnApproved, numGenerated, numUnknown, numCustom;
/**
@@ -95,22 +95,22 @@
/**
* Sets a map with the file types. The map keys
- * are instances of {@link FileType} and the map values
+ * are file type names and the map values
* are integers with the number of resources matching
* the file type.
*/
- public void setFileTypeMap(Map pFileTypeMap) {
- fileTypeMap = pFileTypeMap;
+ public void setDocumentCategoryMap(Map pDocumentCategoryMap) {
+ documentCategoryMap = pDocumentCategoryMap;
}
/**
* Returns a map with the file types. The map keys
- * are instances of {@link FileType} and the map values
+ * are file type names and the map values
* are integers with the number of resources matching
* the file type.
*/
- public Map getFileTypeMap() {
- return fileTypeMap;
+ public Map getDocumentCategoryMap() {
+ return documentCategoryMap;
}
/**
Modified: incubator/rat/main/trunk/apache-rat-core/src/main/java/org/apache/rat/report/claim/impl/AbstractClaimReporter.java
URL: http://svn.apache.org/viewvc/incubator/rat/main/trunk/apache-rat-core/src/main/java/org/apache/rat/report/claim/impl/AbstractClaimReporter.java?rev=777673&r1=777672&r2=777673&view=diff
==============================================================================
--- incubator/rat/main/trunk/apache-rat-core/src/main/java/org/apache/rat/report/claim/impl/AbstractClaimReporter.java (original)
+++ incubator/rat/main/trunk/apache-rat-core/src/main/java/org/apache/rat/report/claim/impl/AbstractClaimReporter.java Fri May 22 19:44:18 2009
@@ -14,11 +14,8 @@
* this class.
*/
public abstract class AbstractClaimReporter implements IClaimReporter {
-
- private IDocument subject;
- private boolean writtenDocumentClaims = false;
- protected void handleClaim(FileTypeClaim pClaim) {
+ protected void handleDocumentCategoryClaim(String documentCategoryName) {
// Does nothing
}
@@ -39,10 +36,7 @@
}
protected void handleClaim(IClaim pClaim) {
- writeDocumentClaimsWhenNecessary(subject);
- if (pClaim instanceof FileTypeClaim) {
- handleClaim((FileTypeClaim) pClaim);
- } else if (pClaim instanceof CustomClaim) {
+ if (pClaim instanceof CustomClaim) {
handleClaim((CustomClaim) pClaim);
} else {
throw new IllegalStateException("Unsupported type of claim: " + pClaim.getClass().getName());
@@ -57,6 +51,11 @@
final MetaData metaData = subject.getMetaData();
writeHeaderCategory(metaData);
writeLicenseFamilyName(metaData);
+ writeDocumentCategory(metaData);
+ writeApprovedLicenseClaim(metaData);
+ }
+
+ private void writeApprovedLicenseClaim(final MetaData metaData) {
final MetaData.Datum approvedLicenseDatum = metaData.get(MetaData.RAT_URL_APPROVED_LICENSE);
if (approvedLicenseDatum != null) {
final String approvedLicense = approvedLicenseDatum.getValue();
@@ -79,23 +78,24 @@
private void writeLicenseFamilyName(final MetaData metaData) {
final MetaData.Datum licenseFamilyNameDatum = metaData.get(MetaData.RAT_URL_LICENSE_FAMILY_NAME);
if (licenseFamilyNameDatum != null) {
- final String licenseFamilyName = licenseFamilyNameDatum.getName();
+ final String licenseFamilyName = licenseFamilyNameDatum.getValue();
if (licenseFamilyName != null) {
handleLicenseFamilyNameClaim(licenseFamilyName);
}
}
}
- public void report(IDocument subject) throws RatReportFailedException {
- writeDocumentClaimsWhenNecessary(subject);
- this.subject = subject;
- writtenDocumentClaims = false;
- }
-
- private void writeDocumentClaimsWhenNecessary(IDocument subject) {
- if (!writtenDocumentClaims && subject != null) {
- writeDocumentClaim(subject);
- writtenDocumentClaims = true;
+ private void writeDocumentCategory(final MetaData metaData) {
+ final MetaData.Datum documentCategoryDatum = metaData.get(MetaData.RAT_URL_DOCUMENT_CATEGORY);
+ if (documentCategoryDatum != null) {
+ final String documentCategory = documentCategoryDatum.getValue();
+ if (documentCategory != null) {
+ handleDocumentCategoryClaim(documentCategory);
+ }
}
}
+
+ public void report(IDocument subject) throws RatReportFailedException {
+ writeDocumentClaim(subject);
+ }
}
Modified: incubator/rat/main/trunk/apache-rat-core/src/main/java/org/apache/rat/report/claim/impl/ClaimAggregator.java
URL: http://svn.apache.org/viewvc/incubator/rat/main/trunk/apache-rat-core/src/main/java/org/apache/rat/report/claim/impl/ClaimAggregator.java?rev=777673&r1=777672&r2=777673&view=diff
==============================================================================
--- incubator/rat/main/trunk/apache-rat-core/src/main/java/org/apache/rat/report/claim/impl/ClaimAggregator.java (original)
+++ incubator/rat/main/trunk/apache-rat-core/src/main/java/org/apache/rat/report/claim/impl/ClaimAggregator.java Fri May 22 19:44:18 2009
@@ -42,8 +42,8 @@
pMap.put(pKey, new Integer(newNum));
}
- protected void handleClaim(FileTypeClaim pClaim) {
- incMapValue(numsByFileType, pClaim.getType());
+ protected void handleDocumentCategoryClaim(String documentCategoryName) {
+ incMapValue(numsByFileType, documentCategoryName);
}
protected void handleApprovedLicenseClaim(String licenseApproved) {
@@ -70,7 +70,7 @@
}
public void fillClaimStatistic(ClaimStatistic pStatistic) {
- pStatistic.setFileTypeMap(numsByFileType);
+ pStatistic.setDocumentCategoryMap(numsByFileType);
pStatistic.setLicenseFileCodeMap(numsByLicenseFamilyCode);
pStatistic.setLicenseFileNameMap(numsByLicenseFamilyName);
pStatistic.setNumApproved(numApproved);
Modified: incubator/rat/main/trunk/apache-rat-core/src/main/java/org/apache/rat/report/claim/impl/xml/SimpleXmlClaimReporter.java
URL: http://svn.apache.org/viewvc/incubator/rat/main/trunk/apache-rat-core/src/main/java/org/apache/rat/report/claim/impl/xml/SimpleXmlClaimReporter.java?rev=777673&r1=777672&r2=777673&view=diff
==============================================================================
--- incubator/rat/main/trunk/apache-rat-core/src/main/java/org/apache/rat/report/claim/impl/xml/SimpleXmlClaimReporter.java (original)
+++ incubator/rat/main/trunk/apache-rat-core/src/main/java/org/apache/rat/report/claim/impl/xml/SimpleXmlClaimReporter.java Fri May 22 19:44:18 2009
@@ -25,7 +25,6 @@
import org.apache.rat.report.RatReportFailedException;
import org.apache.rat.report.claim.IClaim;
import org.apache.rat.report.claim.IClaimReporter;
-import org.apache.rat.report.claim.impl.FileTypeClaim;
import org.apache.rat.report.xml.writer.IXmlWriter;
public class SimpleXmlClaimReporter implements IClaimReporter {
@@ -40,22 +39,14 @@
private static final String NAME = "name";
private final IXmlWriter writer;
- private IDocument lastSubject;
- private IDocument subject;
- private boolean writtenDocumentClaims = false;
-
+ private boolean firstTime = true;
+
public SimpleXmlClaimReporter(final IXmlWriter writer) {
this.writer = writer;
}
- protected void handleClaim(FileTypeClaim pClaim)
- throws IOException, RatReportFailedException {
- writeClaim(FILE_TYPE_PREDICATE, pClaim.getType().getName(), false);
- }
-
-
protected void handleClaim(CustomClaim pClaim)
- throws IOException, RatReportFailedException {
+ throws IOException, RatReportFailedException {
writeClaim(pClaim.getPredicate(), pClaim.getObject(), pClaim.isLiteral());
}
@@ -69,18 +60,16 @@
* @throws RatReportFailedException Another error occurred while writing the claim.
*/
protected void writeClaim(String pPredicate, String pObject, boolean pLiteral)
- throws IOException, RatReportFailedException {
+ throws IOException, RatReportFailedException {
if (pLiteral) {
writer.openElement(pPredicate).content(pObject).closeElement();
} else {
writer.openElement(pPredicate).attribute(NAME, pObject).closeElement();
}
}
-
+
protected void handleClaim(IClaim pClaim) throws IOException, RatReportFailedException {
- if (pClaim instanceof FileTypeClaim) {
- handleClaim((FileTypeClaim) pClaim);
- } else if (pClaim instanceof CustomClaim) {
+ if (pClaim instanceof CustomClaim) {
handleClaim((CustomClaim) pClaim);
} else {
throw new IllegalStateException("Invalid claim type: " + pClaim.getClass().getName());
@@ -89,32 +78,23 @@
public void claim(IClaim pClaim) throws RatReportFailedException {
try {
- if(!writtenDocumentClaims) {
- writeDocumentClaims(subject);
- writtenDocumentClaims = true;
- }
handleClaim(pClaim);
} catch (IOException e) {
throw new RatReportFailedException("XML writing failure: " + e.getMessage()
- + " subject: " + subject + " claim type: "
+ + " claim type: "
+ pClaim.getClass().getName(), e);
}
}
public void report(final IDocument subject) throws RatReportFailedException {
- this.subject = subject;
try {
- if (!(subject.equals(lastSubject))) {
- if (lastSubject != null) {
- writer.closeElement();
- if(!writtenDocumentClaims) {
- writeDocumentClaims(lastSubject);
- }
- }
- writer.openElement("resource").attribute(NAME, subject.getName());
+ if (firstTime) {
+ firstTime = false;
+ } else {
+ writer.closeElement();
}
- lastSubject = subject;
- writtenDocumentClaims = false;
+ writer.openElement("resource").attribute(NAME, subject.getName());
+ writeDocumentClaims(subject);
} catch (IOException e) {
throw new RatReportFailedException("XML writing failure: " + e.getMessage()
+ " subject: " + subject, e);
@@ -128,53 +108,48 @@
writeHeaderCategory(metaData);
writeLicenseFamilyName(metaData);
writeApprovedLicense(metaData);
-
+ writeDocumentCategory(metaData);
}
private void writeApprovedLicense(final MetaData metaData) throws IOException, RatReportFailedException {
- final MetaData.Datum approvedLicenseDatum = metaData.get(MetaData.RAT_URL_APPROVED_LICENSE);
- if (approvedLicenseDatum != null) {
- final String approvedLicense = approvedLicenseDatum.getValue();
- if (approvedLicense != null) {
- writeClaim(LICENSE_APPROVAL_PREDICATE, approvedLicense, false);
- }
+ final String approvedLicense = metaData.value(MetaData.RAT_URL_APPROVED_LICENSE);
+ if (approvedLicense != null) {
+ writeClaim(LICENSE_APPROVAL_PREDICATE, approvedLicense, false);
}
}
private void writeLicenseFamilyName(final MetaData metaData) throws IOException, RatReportFailedException {
- final MetaData.Datum licenseFamilyNameDatum = metaData.get(MetaData.RAT_URL_LICENSE_FAMILY_NAME);
- if (licenseFamilyNameDatum != null) {
- final String licenseFamilyName = licenseFamilyNameDatum.getValue();
- if (licenseFamilyName != null) {
- writeClaim(LICENSE_FAMILY_PREDICATE, licenseFamilyName, false);
- }
+ final String licenseFamilyName = metaData.value(MetaData.RAT_URL_LICENSE_FAMILY_NAME);
+ if (licenseFamilyName != null) {
+ writeClaim(LICENSE_FAMILY_PREDICATE, licenseFamilyName, false);
}
}
private void writeHeaderCategory(final MetaData metaData) throws IOException, RatReportFailedException {
- final MetaData.Datum headerCategoryDatum = metaData.get(MetaData.RAT_URL_HEADER_CATEGORY);
- if (headerCategoryDatum != null) {
- final String headerCategory = headerCategoryDatum.getValue();
+ final String headerCategory = metaData.value(MetaData.RAT_URL_HEADER_CATEGORY);
+ if (headerCategory != null) {
writeClaim(HEADER_TYPE_PREDICATE, headerCategory, false);
}
}
private void writeLicenseFamilyCategory(final MetaData metaData) throws IOException, RatReportFailedException {
- final MetaData.Datum licenseFamilyCategoryDatum = metaData.get(MetaData.RAT_URL_LICENSE_FAMILY_CATEGORY);
- if (licenseFamilyCategoryDatum != null) {
- final String licenseFamilyCategory = licenseFamilyCategoryDatum.getValue();
+ final String licenseFamilyCategory = metaData.value(MetaData.RAT_URL_LICENSE_FAMILY_CATEGORY);
+ if (licenseFamilyCategory != null) {
writeClaim(LICENSE_FAMILY_PREDICATE, licenseFamilyCategory, false);
}
}
private void writeHeaderSample(final MetaData metaData) throws IOException, RatReportFailedException {
- final MetaData.Datum sampleDatum = metaData.get(MetaData.RAT_URL_HEADER_SAMPLE);
- if (sampleDatum != null) {
- final String sample = sampleDatum.getValue();
- if (sample != null) {
- writeClaim(HEADER_SAMPLE_PREDICATE, sample, true);
- }
+ final String sample = metaData.value(MetaData.RAT_URL_HEADER_SAMPLE);
+ if (sample != null) {
+ writeClaim(HEADER_SAMPLE_PREDICATE, sample, true);
}
}
+ private void writeDocumentCategory(final MetaData metaData) throws IOException, RatReportFailedException {
+ final String documentCategory = metaData.value(MetaData.RAT_URL_DOCUMENT_CATEGORY);
+ if (documentCategory != null) {
+ writeClaim(FILE_TYPE_PREDICATE, documentCategory, false);
+ }
+ }
}
Modified: incubator/rat/main/trunk/apache-rat-core/src/main/java/org/apache/rat/report/xml/XmlReport.java
URL: http://svn.apache.org/viewvc/incubator/rat/main/trunk/apache-rat-core/src/main/java/org/apache/rat/report/xml/XmlReport.java?rev=777673&r1=777672&r2=777673&view=diff
==============================================================================
--- incubator/rat/main/trunk/apache-rat-core/src/main/java/org/apache/rat/report/xml/XmlReport.java (original)
+++ incubator/rat/main/trunk/apache-rat-core/src/main/java/org/apache/rat/report/xml/XmlReport.java Fri May 22 19:44:18 2009
@@ -25,16 +25,19 @@
import org.apache.rat.document.RatDocumentAnalysisException;
import org.apache.rat.report.RatReport;
import org.apache.rat.report.RatReportFailedException;
+import org.apache.rat.report.claim.IClaimReporter;
import org.apache.rat.report.xml.writer.IXmlWriter;
class XmlReport implements RatReport {
private final IDocumentAnalyser analyser;
private final IXmlWriter writer;
+ private final IClaimReporter reporter;
- public XmlReport(final IXmlWriter writer, IDocumentAnalyser analyser) {
+ public XmlReport(final IXmlWriter writer, IDocumentAnalyser analyser, final IClaimReporter reporter) {
this.analyser = analyser;
this.writer = writer;
+ this.reporter = reporter;
}
public void startReport() throws RatReportFailedException {
@@ -59,9 +62,10 @@
*
* @param document the document to report on.
*/
- public void report(IDocument document) throws RatReportFailedException {
+ public void report(IDocument subject) throws RatReportFailedException {
try {
- analyser.analyse(document);
+ analyser.analyse(subject);
+ reporter.report(subject);
} catch (RatDocumentAnalysisException e) {
throw new RatReportFailedException("Analysis failed", e);
}
Modified: incubator/rat/main/trunk/apache-rat-core/src/main/java/org/apache/rat/report/xml/XmlReportFactory.java
URL: http://svn.apache.org/viewvc/incubator/rat/main/trunk/apache-rat-core/src/main/java/org/apache/rat/report/xml/XmlReportFactory.java?rev=777673&r1=777672&r2=777673&view=diff
==============================================================================
--- incubator/rat/main/trunk/apache-rat-core/src/main/java/org/apache/rat/report/xml/XmlReportFactory.java (original)
+++ incubator/rat/main/trunk/apache-rat-core/src/main/java/org/apache/rat/report/xml/XmlReportFactory.java Fri May 22 19:44:18 2009
@@ -21,6 +21,7 @@
import org.apache.rat.analysis.IHeaderMatcher;
import org.apache.rat.document.IDocument;
import org.apache.rat.document.IDocumentAnalyser;
+import org.apache.rat.document.impl.util.DocumentAnalyserMultiplexer;
import org.apache.rat.license.ILicenseFamily;
import org.apache.rat.policy.DefaultPolicy;
import org.apache.rat.report.RatReport;
@@ -30,7 +31,6 @@
import org.apache.rat.report.claim.IClaimReporter;
import org.apache.rat.report.claim.impl.ClaimAggregator;
import org.apache.rat.report.claim.impl.xml.SimpleXmlClaimReporter;
-import org.apache.rat.report.claim.util.ClaimReporterMultiplexer;
import org.apache.rat.report.xml.writer.IXmlWriter;
/**
@@ -55,13 +55,13 @@
reporter = new ClaimAggregator(new SimpleXmlClaimReporter(writer));
}
final DefaultPolicy policy = new DefaultPolicy(approvedLicenses);
- final IClaimReporter[] reporters = {policy, reporter};
- final ClaimReporterMultiplexer multiplexer = new ClaimReporterMultiplexer(reporters);
final IDocumentAnalyser analyser =
- DefaultAnalyserFactory.createDefaultAnalyser(multiplexer, matcher);
-
- final RatReport result = new XmlReport(writer, analyser);
+ DefaultAnalyserFactory.createDefaultAnalyser(reporter, matcher);
+ final IDocumentAnalyser[] analysers = {analyser, policy};
+ DocumentAnalyserMultiplexer analysisMultiplexer = new DocumentAnalyserMultiplexer(analysers);
+
+ final RatReport result = new XmlReport(writer, analysisMultiplexer, reporter);
if (pStatistic == null) {
return result;
}
Modified: incubator/rat/main/trunk/apache-rat-core/src/test/java/org/apache/rat/policy/DefaultPolicyTest.java
URL: http://svn.apache.org/viewvc/incubator/rat/main/trunk/apache-rat-core/src/test/java/org/apache/rat/policy/DefaultPolicyTest.java?rev=777673&r1=777672&r2=777673&view=diff
==============================================================================
--- incubator/rat/main/trunk/apache-rat-core/src/test/java/org/apache/rat/policy/DefaultPolicyTest.java (original)
+++ incubator/rat/main/trunk/apache-rat-core/src/test/java/org/apache/rat/policy/DefaultPolicyTest.java Fri May 22 19:44:18 2009
@@ -23,7 +23,6 @@
import org.apache.rat.api.MetaData;
import org.apache.rat.document.IDocument;
import org.apache.rat.document.MockLocation;
-import org.apache.rat.report.claim.impl.xml.CustomClaim;
import org.apache.rat.report.claim.impl.xml.MockClaimReporter;
@@ -44,17 +43,9 @@
super.tearDown();
}
- public void testOtherPredicate() throws Exception {
- final String predicate = "predicate";
- final String object = "object";
- policy.claim(new CustomClaim(subject, predicate, object, true));
- assertEquals("No claim", 0, reporter.claims.size());
- }
-
public void testASLFamily() throws Exception {
subject.getMetaData().set(MetaData.RAT_LICENSE_FAMILY_NAME_DATUM_APACHE_LICENSE_VERSION_2_0);
- policy.report(subject);
- policy.claim(null);
+ policy.analyse(subject);
assertApproval(true);
}
@@ -64,29 +55,25 @@
public void testOASISFamily() throws Exception {
subject.getMetaData().set(MetaData.RAT_LICENSE_FAMILY_NAME_DATUM_OASIS_OPEN_LICENSE);
- policy.report(subject);
- policy.claim(null);
+ policy.analyse(subject);
assertApproval(true);
}
public void testW3CFamily() throws Exception {
subject.getMetaData().set(MetaData.RAT_LICENSE_FAMILY_NAME_DATUM_W3C_SOFTWARE_COPYRIGHT);
- policy.report(subject);
- policy.claim(null);
+ policy.analyse(subject);
assertApproval(true);
}
public void testW3CDocFamily() throws Exception {
subject.getMetaData().set(MetaData.RAT_LICENSE_FAMILY_NAME_DATUM_W3C_DOCUMENT_COPYRIGHT);
- policy.report(subject);
- policy.claim(null);
+ policy.analyse(subject);
assertApproval(true);
}
public void testUnknownFamily() throws Exception {
subject.getMetaData().set(MetaData.RAT_LICENSE_FAMILY_NAME_DATUM_UNKNOWN);
- policy.report(subject);
- policy.claim(null);
+ policy.analyse(subject);
assertApproval(false);
}
}
Modified: incubator/rat/main/trunk/apache-rat-core/src/test/java/org/apache/rat/report/analyser/AnalyserFactoryTest.java
URL: http://svn.apache.org/viewvc/incubator/rat/main/trunk/apache-rat-core/src/test/java/org/apache/rat/report/analyser/AnalyserFactoryTest.java?rev=777673&r1=777672&r2=777673&view=diff
==============================================================================
--- incubator/rat/main/trunk/apache-rat-core/src/test/java/org/apache/rat/report/analyser/AnalyserFactoryTest.java (original)
+++ incubator/rat/main/trunk/apache-rat-core/src/test/java/org/apache/rat/report/analyser/AnalyserFactoryTest.java Fri May 22 19:44:18 2009
@@ -63,6 +63,7 @@
MonolithicFileDocument document = new MonolithicFileDocument(new File("src/test/resources/elements/Text.txt"));
IDocumentAnalyser analyser = DefaultAnalyserFactory.createDefaultAnalyser(reporter, matcherStub);
analyser.analyse(document);
+ reporter.report(document);
assertEquals("Open standard element", "<resource name='src/test/resources/elements/Text.txt'><header-sample>/*\n" +
" * Licensed to the Apache Software Foundation (ASF) under one\n" +
" * or more contributor license agreements. See the NOTICE file\n" +
@@ -90,6 +91,7 @@
MonolithicFileDocument document = new MonolithicFileDocument(new File("src/test/elements/LICENSE"));
IDocumentAnalyser analyser = DefaultAnalyserFactory.createDefaultAnalyser(reporter, matcherStub);
analyser.analyse(document);
+ reporter.report(document);
assertEquals("Open note element", "<resource name='src/test/elements/LICENSE'><type name='notice'/>", out.toString());
}
@@ -97,6 +99,7 @@
MonolithicFileDocument document = new MonolithicFileDocument(new File("src/test/elements/Image.png"));
IDocumentAnalyser analyser = DefaultAnalyserFactory.createDefaultAnalyser(reporter, matcherStub);
analyser.analyse(document);
+ reporter.report(document);
assertEquals("Open binary element", "<resource name='src/test/elements/Image.png'><type name='binary'/>", out.toString());
}
@@ -104,6 +107,7 @@
MonolithicFileDocument document = new MonolithicFileDocument(new File("src/test/elements/Dummy.jar"));
IDocumentAnalyser analyser = DefaultAnalyserFactory.createDefaultAnalyser(reporter, matcherStub);
analyser.analyse(document);
+ reporter.report(document);
assertEquals("Open archive element", "<resource name='src/test/elements/Dummy.jar'><type name='archive'/>", out.toString());
}
}
Modified: incubator/rat/main/trunk/apache-rat-core/src/test/java/org/apache/rat/report/xml/XmlReportFactoryTest.java
URL: http://svn.apache.org/viewvc/incubator/rat/main/trunk/apache-rat-core/src/test/java/org/apache/rat/report/xml/XmlReportFactoryTest.java?rev=777673&r1=777672&r2=777673&view=diff
==============================================================================
--- incubator/rat/main/trunk/apache-rat-core/src/test/java/org/apache/rat/report/xml/XmlReportFactoryTest.java (original)
+++ incubator/rat/main/trunk/apache-rat-core/src/test/java/org/apache/rat/report/xml/XmlReportFactoryTest.java Fri May 22 19:44:18 2009
@@ -26,9 +26,9 @@
import org.apache.rat.DirectoryWalker;
import org.apache.rat.analysis.MockLicenseMatcher;
+import org.apache.rat.api.MetaData;
import org.apache.rat.report.RatReport;
import org.apache.rat.report.claim.ClaimStatistic;
-import org.apache.rat.report.claim.FileType;
import org.apache.rat.report.xml.writer.IXmlWriter;
import org.apache.rat.report.xml.writer.impl.base.XmlWriter;
import org.apache.rat.test.utils.Resources;
@@ -82,9 +82,9 @@
"<resource name='" + elementsPath + "/dummy.jar'><type name='archive'/></resource>" +
"</rat-report>", output);
assertTrue("Is well formed", XmlUtils.isWellFormedXml(output));
- assertEquals("Binary files", new Integer(1), statistic.getFileTypeMap().get(FileType.BINARY));
- assertEquals("Notice files", new Integer(2), statistic.getFileTypeMap().get(FileType.NOTICE));
- assertEquals("Standard files", new Integer(3), statistic.getFileTypeMap().get(FileType.STANDARD));
- assertEquals("Archives", new Integer(1), statistic.getFileTypeMap().get(FileType.ARCHIVE));
+ assertEquals("Binary files", new Integer(1), statistic.getDocumentCategoryMap().get(MetaData.RAT_DOCUMENT_CATEGORY_VALUE_BINARY));
+ assertEquals("Notice files", new Integer(2), statistic.getDocumentCategoryMap().get(MetaData.RAT_DOCUMENT_CATEGORY_VALUE_NOTICE));
+ assertEquals("Standard files", new Integer(3), statistic.getDocumentCategoryMap().get(MetaData.RAT_DOCUMENT_CATEGORY_VALUE_STANDARD));
+ assertEquals("Archives", new Integer(1), statistic.getDocumentCategoryMap().get(MetaData.RAT_DOCUMENT_CATEGORY_VALUE_ARCHIVE));
}
}
Modified: incubator/rat/main/trunk/apache-rat-core/src/test/java/org/apache/rat/report/xml/XmlReportTest.java
URL: http://svn.apache.org/viewvc/incubator/rat/main/trunk/apache-rat-core/src/test/java/org/apache/rat/report/xml/XmlReportTest.java?rev=777673&r1=777672&r2=777673&view=diff
==============================================================================
--- incubator/rat/main/trunk/apache-rat-core/src/test/java/org/apache/rat/report/xml/XmlReportTest.java (original)
+++ incubator/rat/main/trunk/apache-rat-core/src/test/java/org/apache/rat/report/xml/XmlReportTest.java Fri May 22 19:44:18 2009
@@ -59,7 +59,7 @@
}
};
IDocumentAnalyser analyser = DefaultAnalyserFactory.createDefaultAnalyser(reporter, matcher);
- report = new XmlReport(writer, analyser);
+ report = new XmlReport(writer, analyser, reporter);
}
protected void tearDown() throws Exception {
Modified: incubator/rat/main/trunk/apache-rat-plugin/src/main/java/org/apache/rat/mp/FilesReportable.java
URL: http://svn.apache.org/viewvc/incubator/rat/main/trunk/apache-rat-plugin/src/main/java/org/apache/rat/mp/FilesReportable.java?rev=777673&r1=777672&r2=777673&view=diff
==============================================================================
--- incubator/rat/main/trunk/apache-rat-plugin/src/main/java/org/apache/rat/mp/FilesReportable.java (original)
+++ incubator/rat/main/trunk/apache-rat-plugin/src/main/java/org/apache/rat/mp/FilesReportable.java Fri May 22 19:44:18 2009
@@ -65,6 +65,7 @@
for ( int i = 0; i < files.length; i++ )
{
document.setFile( new File( basedir, files[i] ) );
+ document.getMetaData().clear();
report.report( document );
}
}
Modified: incubator/rat/main/trunk/apache-rat-tasks/src/main/java/org/apache/rat/anttasks/ResourceCollectionContainer.java
URL: http://svn.apache.org/viewvc/incubator/rat/main/trunk/apache-rat-tasks/src/main/java/org/apache/rat/anttasks/ResourceCollectionContainer.java?rev=777673&r1=777672&r2=777673&view=diff
==============================================================================
--- incubator/rat/main/trunk/apache-rat-tasks/src/main/java/org/apache/rat/anttasks/ResourceCollectionContainer.java (original)
+++ incubator/rat/main/trunk/apache-rat-tasks/src/main/java/org/apache/rat/anttasks/ResourceCollectionContainer.java Fri May 22 19:44:18 2009
@@ -54,6 +54,7 @@
// do nothing
} else {
document.setResource(r);
+ document.getMetaData().clear();
report.report(document);
}
}