You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@creadur.apache.org by po...@apache.org on 2014/10/03 23:02:55 UTC
svn commit: r1629321 -
/creadur/rat/trunk/apache-rat-core/src/main/java/org/apache/rat/analysis/license/CDDL1License.java
Author: pottlinger
Date: Fri Oct 3 21:02:54 2014
New Revision: 1629321
URL: http://svn.apache.org/r1629321
Log:
RAT-174 CDDL still too slow
* Applied patch from Chris Burroughs to replace Pattern-Matchers with basic String operations. Let's see if CDDL-users complain, but restore performance.
Modified:
creadur/rat/trunk/apache-rat-core/src/main/java/org/apache/rat/analysis/license/CDDL1License.java
Modified: creadur/rat/trunk/apache-rat-core/src/main/java/org/apache/rat/analysis/license/CDDL1License.java
URL: http://svn.apache.org/viewvc/creadur/rat/trunk/apache-rat-core/src/main/java/org/apache/rat/analysis/license/CDDL1License.java?rev=1629321&r1=1629320&r2=1629321&view=diff
==============================================================================
--- creadur/rat/trunk/apache-rat-core/src/main/java/org/apache/rat/analysis/license/CDDL1License.java (original)
+++ creadur/rat/trunk/apache-rat-core/src/main/java/org/apache/rat/analysis/license/CDDL1License.java Fri Oct 3 21:02:54 2014
@@ -19,38 +19,52 @@
package org.apache.rat.analysis.license;
import java.util.regex.Pattern;
+
+import org.apache.rat.analysis.IHeaderMatcher;
+import org.apache.rat.analysis.RatHeaderAnalysisException;
+import org.apache.rat.api.Document;
import org.apache.rat.api.MetaData;
/**
* Base CDDL 1.0 license.
*/
-public class CDDL1License extends SimplePatternBasedLicense {
+public class CDDL1License extends BaseLicense implements IHeaderMatcher {
+
+ public static final String CDDL1_LICENSE_DEFN
+ = "The contents of this file are subject to the terms of the Common Development\n"
+ + "and Distribution License(\"CDDL\") (the \"License\"). You may not use this file\n"
+ + "except in compliance with the License.\n\n";
+
+ public static final String CDDL1_LICENSE_DEFN_ILLUMOS_STYLE
+ = "The contents of this file are subject to the terms of the\n"
+ + "Common Development and Distribution License (the \"License\")\n"
+ + "You may not use this file except in compliance with the License.\n";
- public static final String LICENSE_LINE =
- "The contents of this file are subject to the terms of the Common Development[\\\\r\\\\n\\\\s]+"
- + "and Distribution License(\"CDDL\") (the \"License\"). You may not use this file[\\\\r\\\\n\\\\s]+"
- + "except in compliance with the License.";
- private static final Pattern LICENSE_LINE_PATTERN = Pattern.compile(LICENSE_LINE);
-
- public static final String LICENSE_URL =
- ".*https://oss.oracle.com/licenses/CDDL.*";
- private static final Pattern LICENSE_URL_PATTERN = Pattern.compile(LICENSE_URL);
+ private final FullTextMatchingLicense textMatcherBase;
+ private final FullTextMatchingLicense textMatcherIllumosStyle;
public CDDL1License() {
super(MetaData.RAT_LICENSE_FAMILY_CATEGORY_DATUM_CDLL1,
- MetaData.RAT_LICENSE_FAMILY_NAME_DATUM_CDDL1,
- "", new String[]{});
+ MetaData.RAT_LICENSE_FAMILY_NAME_DATUM_CDDL1,
+ "");
+ textMatcherBase = new FullTextMatchingLicense(MetaData.RAT_LICENSE_FAMILY_CATEGORY_DATUM_CDLL1,
+ MetaData.RAT_LICENSE_FAMILY_NAME_DATUM_CDDL1,
+ "", CDDL1_LICENSE_DEFN);
+ textMatcherIllumosStyle = new FullTextMatchingLicense(MetaData.RAT_LICENSE_FAMILY_CATEGORY_DATUM_CDLL1,
+ MetaData.RAT_LICENSE_FAMILY_NAME_DATUM_CDDL1,
+ "", CDDL1_LICENSE_DEFN_ILLUMOS_STYLE);
}
@Override
- protected boolean matches(final String pLine) {
- if (pLine != null) {
- return
- super.matches(pLine) ||
- LICENSE_LINE_PATTERN.matcher(pLine).find() ||
- LICENSE_URL_PATTERN.matcher(pLine).find();
- }
- return false;
+ public boolean match(Document subject, String s) throws RatHeaderAnalysisException {
+ return (textMatcherBase.match(subject, s) ||
+ textMatcherIllumosStyle.match(subject, s));
}
+
+ public void reset() {
+ textMatcherBase.reset();
+ textMatcherIllumosStyle.reset();
+ }
+
}