creadur-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From rdon...@apache.org
Subject svn commit: r1549483 - in /creadur/rat/branches/gsoc/apache-rat-core/src: main/java/org/apache/rat/analysis/license/AppliedApacheSoftwareLicense20.java test/java/org/apache/rat/analysis/license/AppliedApacheSoftwareLicense20Test.java
Date Mon, 09 Dec 2013 06:15:54 GMT
Author: rdonkin
Date: Mon Dec  9 06:15:53 2013
New Revision: 1549483

URL: http://svn.apache.org/r1549483
Log:
Revert "Delete not used Class."

This reverts commit 146bb1b5b1fb874aa8b6b5951ce3e8bde8bfd8bb.

Added:
    creadur/rat/branches/gsoc/apache-rat-core/src/main/java/org/apache/rat/analysis/license/AppliedApacheSoftwareLicense20.java
    creadur/rat/branches/gsoc/apache-rat-core/src/test/java/org/apache/rat/analysis/license/AppliedApacheSoftwareLicense20Test.java

Added: creadur/rat/branches/gsoc/apache-rat-core/src/main/java/org/apache/rat/analysis/license/AppliedApacheSoftwareLicense20.java
URL: http://svn.apache.org/viewvc/creadur/rat/branches/gsoc/apache-rat-core/src/main/java/org/apache/rat/analysis/license/AppliedApacheSoftwareLicense20.java?rev=1549483&view=auto
==============================================================================
--- creadur/rat/branches/gsoc/apache-rat-core/src/main/java/org/apache/rat/analysis/license/AppliedApacheSoftwareLicense20.java
(added)
+++ creadur/rat/branches/gsoc/apache-rat-core/src/main/java/org/apache/rat/analysis/license/AppliedApacheSoftwareLicense20.java
Mon Dec  9 06:15:53 2013
@@ -0,0 +1,98 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you under the Apache License, Version 2.0 (the            *
+ * "License"); you may not use this file except in compliance   *
+ * with the License.  You may obtain a copy of the License at   *
+ *                                                              *
+ *   http://www.apache.org/licenses/LICENSE-2.0                 *
+ *                                                              *
+ * Unless required by applicable law or agreed to in writing,   *
+ * software distributed under the License is distributed on an  *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
+ * KIND, either express or implied.  See the License for the    *
+ * specific language governing permissions and limitations      *
+ * under the License.                                           *
+ */
+package org.apache.rat.analysis.license;
+
+import static org.apache.rat.api.domain.RatLicenseFamily.APACHE;
+
+import org.apache.rat.api.Document;
+
+/**
+ * Matches an applied AL 2.0 License header, including a <em>required</em>
+ * initial copyright header line, conforming the <a
+ * href="http://apache.org/licenses/LICENSE-2.0.html#apply">template</a> from
+ * the AL 2.0 license itself.
+ * 
+ * @since Rat 0.9
+ */
+public class AppliedApacheSoftwareLicense20 extends CopyrightHeader {
+
+	/** The Constant ASL20_LICENSE_DEFN. */
+	public static final String ASL20_LICENSE_DEFN = "Licensed under the Apache License, Version
2.0 (the \"License\");\n"
+			+ "you may not use this file except in compliance with the License.\n"
+			+ "You may obtain a copy of the License at\n"
+			+ "http://www.apache.org/licenses/LICENSE-2.0\n"
+			+ "Unless required by applicable law or agreed to in writing, software\n"
+			+ "distributed under the License is distributed on an \"AS IS\" BASIS,\n"
+			+ "WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n"
+			+ "See the License for the specific language governing permissions and\n"
+			+ "limitations under the License.\n";
+
+	/** The text matcher. */
+	private final FullTextMatchingLicense textMatcher;
+
+	/**
+	 * Instantiates a new applied apache software license20.
+	 */
+	public AppliedApacheSoftwareLicense20() {
+		super(APACHE.licenseFamily(), "");
+		textMatcher = new FullTextMatchingLicense(APACHE.licenseFamily(),
+				ASL20_LICENSE_DEFN);
+	}
+
+	/**
+	 * Instantiates a new applied apache software license20.
+	 * 
+	 * @param copyrightOwner
+	 *            the copyright owner
+	 */
+	public AppliedApacheSoftwareLicense20(final String copyrightOwner) {
+		this();
+		setCopyrightOwner(copyrightOwner);
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see
+	 * org.apache.rat.analysis.license.CopyrightHeader#match(org.apache.rat.
+	 * api.Document, java.lang.String)
+	 */
+	@Override
+	public boolean match(final Document subject, final String text) {
+		boolean result = false;
+		if (isCopyrightMatch()) {
+			// will report the match if it has occurred
+			result = textMatcher.match(subject, text);
+		} else {
+			matchCopyright(text);
+		}
+		return result;
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see org.apache.rat.analysis.license.CopyrightHeader#reset()
+	 */
+	@Override
+	public void reset() {
+		super.reset();
+		textMatcher.reset();
+	}
+}

Added: creadur/rat/branches/gsoc/apache-rat-core/src/test/java/org/apache/rat/analysis/license/AppliedApacheSoftwareLicense20Test.java
URL: http://svn.apache.org/viewvc/creadur/rat/branches/gsoc/apache-rat-core/src/test/java/org/apache/rat/analysis/license/AppliedApacheSoftwareLicense20Test.java?rev=1549483&view=auto
==============================================================================
--- creadur/rat/branches/gsoc/apache-rat-core/src/test/java/org/apache/rat/analysis/license/AppliedApacheSoftwareLicense20Test.java
(added)
+++ creadur/rat/branches/gsoc/apache-rat-core/src/test/java/org/apache/rat/analysis/license/AppliedApacheSoftwareLicense20Test.java
Mon Dec  9 06:15:53 2013
@@ -0,0 +1,140 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you under the Apache License, Version 2.0 (the            *
+ * "License"); you may not use this file except in compliance   *
+ * with the License.  You may obtain a copy of the License at   *
+ *                                                              *
+ *   http://www.apache.org/licenses/LICENSE-2.0                 *
+ *                                                              *
+ * Unless required by applicable law or agreed to in writing,   *
+ * software distributed under the License is distributed on an  *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
+ * KIND, either express or implied.  See the License for the    *
+ * specific language governing permissions and limitations      *
+ * under the License.                                           *
+ */
+package org.apache.rat.analysis.license;
+
+import static org.apache.rat.api.domain.RatLicenseFamily.GPL1;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.StringReader;
+
+import org.apache.rat.api.Document;
+import org.apache.rat.document.MockLocation;
+import org.apache.rat.test.utils.Resources;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+
+/**
+ * The Class AppliedApacheSoftwareLicense20Test.
+ */
+public class AppliedApacheSoftwareLicense20Test {
+
+	/** The Constant HEADER. */
+	private static final String HEADER = "/*\n"
+			+ " *  Copyright 2012-2013 FooBar.\n"
+			+ " *\n"
+			+ " *  Licensed under the Apache License, Version 2.0 (the \"License\");\n"
+			+ " *  you may not use this file except in compliance with the License.\n"
+			+ " *\n"
+			+ " *  You may obtain a copy of the License at\n"
+			+ " *       http://www.apache.org/licenses/LICENSE-2.0\n"
+			+ " *\n"
+			+ " *  Unless required by applicable law or agreed to in writing, software\n"
+			+ " *  distributed under the License is distributed on an \"AS IS\" BASIS,\n"
+			+ " *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n"
+			+ " *  See the License for the specific language governing permissions and\n"
+			+ " *  limitations under the License.\n" + " */\n";
+
+	/** The license. */
+	private AppliedApacheSoftwareLicense20 license;
+
+
+	/**
+	 * Sets the up.
+	 * 
+	 * @throws Exception
+	 *             the exception
+	 */
+	@Before
+	public void setUp() throws Exception {
+		license = new AppliedApacheSoftwareLicense20("FooBar");
+	}
+
+	/**
+	 * Test match applied apache license.
+	 * 
+	 * @throws IOException
+	 *             Signals that an I/O exception has occurred.
+	 */
+	@Test
+	public void testMatchAppliedApacheLicense() throws IOException {
+		BufferedReader bufferedReader = new BufferedReader(new StringReader(
+				HEADER));
+		String line = bufferedReader.readLine();
+		boolean result = false;
+		final Document subject = new MockLocation("subject");
+		while (line != null) {
+			result = license.match(subject, line);
+			line = bufferedReader.readLine();
+		}
+		assertTrue("Applied AL2.0 license should be matched", result);
+		license.reset();
+	}
+
+	/**
+	 * Test no match applied apache license.
+	 * 
+	 * @throws IOException
+	 *             Signals that an I/O exception has occurred.
+	 */
+	@Test
+	public void testNoMatchAppliedApacheLicense() throws IOException {
+		BufferedReader bufferedReader = Resources
+				.getBufferedResourceReader("elements/Source.java");
+		String line = bufferedReader.readLine();
+		boolean result = false;
+		final Document subject = new MockLocation("subject");
+		while (line != null) {
+			result = license.match(subject, line);
+			line = bufferedReader.readLine();
+		}
+		assertFalse("Applied AL2.0 license should not be matched", result);
+		license.reset();
+	}
+
+	/**
+	 * Test not null copy right owner.
+	 */
+	@Test
+	public void testNotNullCopyRightOwner() {
+		Assert.assertNotNull(license.getCopyRightOwner());
+	}
+
+	/**
+	 * Test has copyright pattern.
+	 */
+	@Test
+	public void testHasCopyrightPattern() {
+		assertTrue("copyrightPattern not null", license.hasCopyrightPattern());
+	}
+
+	/**
+	 * Test has full text.
+	 */
+	@Test
+	public void testHasFullText() {
+		String fullText = "";
+		FullTextMatchingLicense fullTextMatchingLicense = new FullTextMatchingLicense(
+				GPL1.licenseFamily(), fullText);
+		assertTrue("fullText not null", fullTextMatchingLicense.hasFullText());
+	}
+}



Mime
View raw message