Author: rdonkin
Date: Fri Dec 6 19:28:47 2013
New Revision: 1548684
URL: http://svn.apache.org/r1548684
Log:
Factory method for license family data
Added:
creadur/rat/branches/gsoc/apache-rat-api/src/main/java/org/apache/rat/api/domain/LicenseFamilyFactory.java
(with props)
creadur/rat/branches/gsoc/apache-rat-api/src/test/java/org/apache/rat/api/domain/LicenseFamilyFactoryTest.java
(with props)
Modified:
creadur/rat/branches/gsoc/apache-rat-api/pom.xml
creadur/rat/branches/gsoc/apache-rat-core/src/main/java/org/apache/rat/api/MetaData.java
creadur/rat/branches/gsoc/apache-rat-core/src/main/java/org/apache/rat/license/W3CSoftwareLicenseFamily.java
creadur/rat/branches/gsoc/apache-rat-core/src/main/java/org/apache/rat/policy/DefaultPolicy.java
Modified: creadur/rat/branches/gsoc/apache-rat-api/pom.xml
URL:
http://svn.apache.org/viewvc/creadur/rat/branches/gsoc/apache-rat-api/pom.xml?rev=1548684&r1=1548683&r2=1548684&view=diff
==============================================================================
--- creadur/rat/branches/gsoc/apache-rat-api/pom.xml (original)
+++ creadur/rat/branches/gsoc/apache-rat-api/pom.xml Fri Dec 6 19:28:47 2013
@@ -21,7 +21,7 @@
<parent>
<groupId>org.apache.rat</groupId>
<artifactId>apache-rat-project</artifactId>
- <version>0.10-SNAPSHOT</version>
+ <version>0.11-SNAPSHOT</version>
</parent>
<artifactId>apache-rat-api</artifactId>
Added:
creadur/rat/branches/gsoc/apache-rat-api/src/main/java/org/apache/rat/api/domain/LicenseFamilyFactory.java
URL:
http://svn.apache.org/viewvc/creadur/rat/branches/gsoc/apache-rat-api/src/main/java/org/apache/rat/api/domain/LicenseFamilyFactory.java?rev=1548684&view=auto
==============================================================================
---
creadur/rat/branches/gsoc/apache-rat-api/src/main/java/org/apache/rat/api/domain/LicenseFamilyFactory.java
(added)
+++
creadur/rat/branches/gsoc/apache-rat-api/src/main/java/org/apache/rat/api/domain/LicenseFamilyFactory.java
Fri Dec 6 19:28:47 2013
@@ -0,0 +1,39 @@
+/*
+ * 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.api.domain;
+
+import static org.apache.rat.api.domain.LicenseFamilyBuilder.aLicenseFamily;
+
+public final class LicenseFamilyFactory {
+
+ public static final String RAT_LICENSE_FAMILY_CATEGORY_VALUE_W3C = "W3C ";
+ public static final String
RAT_LICENSE_FAMILY_NAME_VALUE_W3C_SOFTWARE_COPYRIGHT =
+ "W3C Software Copyright";
+
+ private LicenseFamilyFactory() {
+ }
+
+ public static LicenseFamily w3c() {
+ return aLicenseFamily()
+ .withCategory(RAT_LICENSE_FAMILY_CATEGORY_VALUE_W3C)
+ .withName(RAT_LICENSE_FAMILY_NAME_VALUE_W3C_SOFTWARE_COPYRIGHT)
+ .withNotes("").build();
+ }
+
+}
Propchange:
creadur/rat/branches/gsoc/apache-rat-api/src/main/java/org/apache/rat/api/domain/LicenseFamilyFactory.java
------------------------------------------------------------------------------
svn:eol-style = native
Added:
creadur/rat/branches/gsoc/apache-rat-api/src/test/java/org/apache/rat/api/domain/LicenseFamilyFactoryTest.java
URL:
http://svn.apache.org/viewvc/creadur/rat/branches/gsoc/apache-rat-api/src/test/java/org/apache/rat/api/domain/LicenseFamilyFactoryTest.java?rev=1548684&view=auto
==============================================================================
---
creadur/rat/branches/gsoc/apache-rat-api/src/test/java/org/apache/rat/api/domain/LicenseFamilyFactoryTest.java
(added)
+++
creadur/rat/branches/gsoc/apache-rat-api/src/test/java/org/apache/rat/api/domain/LicenseFamilyFactoryTest.java
Fri Dec 6 19:28:47 2013
@@ -0,0 +1,48 @@
+/*
+ * 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.api.domain;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertThat;
+
+import org.junit.Test;
+
+public class LicenseFamilyFactoryTest {
+
+ @Test
+ public void testW3CLicenseFamilyCategory() {
+ final LicenseFamily family = LicenseFamilyFactory.w3c();
+ assertThat(family.getCategory(),
+
is(LicenseFamilyFactory.RAT_LICENSE_FAMILY_CATEGORY_VALUE_W3C));
+ }
+
+ @Test
+ public void testW3CLicenseFamilyName() {
+ final LicenseFamily family = LicenseFamilyFactory.w3c();
+ assertThat(
+ family.getName(),
+
is(LicenseFamilyFactory.RAT_LICENSE_FAMILY_NAME_VALUE_W3C_SOFTWARE_COPYRIGHT));
+ }
+
+ @Test
+ public void testW3CLicenseFamilyNotes() {
+ final LicenseFamily family = LicenseFamilyFactory.w3c();
+ assertThat(family.getNotes(), is(""));
+ }
+}
Propchange:
creadur/rat/branches/gsoc/apache-rat-api/src/test/java/org/apache/rat/api/domain/LicenseFamilyFactoryTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified:
creadur/rat/branches/gsoc/apache-rat-core/src/main/java/org/apache/rat/api/MetaData.java
URL:
http://svn.apache.org/viewvc/creadur/rat/branches/gsoc/apache-rat-core/src/main/java/org/apache/rat/api/MetaData.java?rev=1548684&r1=1548683&r2=1548684&view=diff
==============================================================================
---
creadur/rat/branches/gsoc/apache-rat-core/src/main/java/org/apache/rat/api/MetaData.java
(original)
+++
creadur/rat/branches/gsoc/apache-rat-core/src/main/java/org/apache/rat/api/MetaData.java
Fri Dec 6 19:28:47 2013
@@ -24,6 +24,8 @@ import java.util.Collections;
import java.util.Iterator;
import java.util.List;
+import org.apache.rat.api.domain.LicenseFamilyFactory;
+
/**
* Data about the subject.
*/
@@ -66,7 +68,6 @@ public class MetaData {
public static final String RAT_LICENSE_FAMILY_CATEGORY_VALUE_ASL = "AL ";
public static final String RAT_LICENSE_FAMILY_CATEGORY_VALUE_OASIS =
"OASIS";
public static final String RAT_LICENSE_FAMILY_CATEGORY_VALUE_W3CD = "W3CD
";
- public static final String RAT_LICENSE_FAMILY_CATEGORY_VALUE_W3C = "W3C ";
public static final String RAT_LICENSE_FAMILY_CATEGORY_VALUE_DOJO = "DOJO
";
public static final String RAT_LICENSE_FAMILY_CATEGORY_VALUE_TMF = "TMF ";
public static final String RAT_LICENSE_FAMILY_CATEGORY_VALUE_GPL1 = "GPL1
";
@@ -92,7 +93,7 @@ public class MetaData {
RAT_LICENSE_FAMILY_CATEGORY_VALUE_W3CD);
public static final Datum RAT_LICENSE_FAMILY_CATEGORY_DATUM_W3C = new
Datum(
RAT_URL_LICENSE_FAMILY_CATEGORY,
- RAT_LICENSE_FAMILY_CATEGORY_VALUE_W3C);
+ LicenseFamilyFactory.RAT_LICENSE_FAMILY_CATEGORY_VALUE_W3C);
public static final Datum RAT_LICENSE_FAMILY_CATEGORY_DATUM_DOJO = new
Datum(
RAT_URL_LICENSE_FAMILY_CATEGORY,
RAT_LICENSE_FAMILY_CATEGORY_VALUE_DOJO);
@@ -118,7 +119,6 @@ public class MetaData {
// License Family Standard Names
public static final String RAT_URL_LICENSE_FAMILY_NAME = RAT_BASE_URL
+ "#LicenseFamilyName";
- public static final String
RAT_LICENSE_FAMILY_NAME_VALUE_W3C_SOFTWARE_COPYRIGHT = "W3C Software Copyright";
public static final String
RAT_LICENSE_FAMILY_NAME_VALUE_W3C_DOCUMENT_COPYRIGHT = "W3C Document Copyright";
public static final String
RAT_LICENSE_FAMILY_NAME_VALUE_OASIS_OPEN_LICENSE = "OASIS Open License";
public static final String
RAT_LICENSE_FAMILY_NAME_VALUE_MODIFIED_BSD_LICENSE = "Modified BSD License";
@@ -132,7 +132,7 @@ public class MetaData {
public static final String RAT_LICENSE_FAMILY_NAME_VALUE_UNKNOWN = "?????";
public static final Datum
RAT_LICENSE_FAMILY_NAME_DATUM_W3C_SOFTWARE_COPYRIGHT = new Datum(
RAT_URL_LICENSE_FAMILY_NAME,
- RAT_LICENSE_FAMILY_NAME_VALUE_W3C_SOFTWARE_COPYRIGHT);
+
LicenseFamilyFactory.RAT_LICENSE_FAMILY_NAME_VALUE_W3C_SOFTWARE_COPYRIGHT);
public static final Datum
RAT_LICENSE_FAMILY_NAME_DATUM_W3C_DOCUMENT_COPYRIGHT = new Datum(
RAT_URL_LICENSE_FAMILY_NAME,
RAT_LICENSE_FAMILY_NAME_VALUE_W3C_DOCUMENT_COPYRIGHT);
Modified:
creadur/rat/branches/gsoc/apache-rat-core/src/main/java/org/apache/rat/license/W3CSoftwareLicenseFamily.java
URL:
http://svn.apache.org/viewvc/creadur/rat/branches/gsoc/apache-rat-core/src/main/java/org/apache/rat/license/W3CSoftwareLicenseFamily.java?rev=1548684&r1=1548683&r2=1548684&view=diff
==============================================================================
---
creadur/rat/branches/gsoc/apache-rat-core/src/main/java/org/apache/rat/license/W3CSoftwareLicenseFamily.java
(original)
+++
creadur/rat/branches/gsoc/apache-rat-core/src/main/java/org/apache/rat/license/W3CSoftwareLicenseFamily.java
Fri Dec 6 19:28:47 2013
@@ -15,13 +15,13 @@
* KIND, either express or implied. See the License for the *
* specific language governing permissions and limitations *
* under the License. *
- */
+ */
package org.apache.rat.license;
-import org.apache.rat.api.MetaData;
+import org.apache.rat.api.domain.LicenseFamilyFactory;
public class W3CSoftwareLicenseFamily extends SimpleLicenseFamily {
public W3CSoftwareLicenseFamily() {
- super(MetaData.RAT_LICENSE_FAMILY_NAME_VALUE_W3C_SOFTWARE_COPYRIGHT);
+
super(LicenseFamilyFactory.RAT_LICENSE_FAMILY_NAME_VALUE_W3C_SOFTWARE_COPYRIGHT);
}
}
Modified:
creadur/rat/branches/gsoc/apache-rat-core/src/main/java/org/apache/rat/policy/DefaultPolicy.java
URL:
http://svn.apache.org/viewvc/creadur/rat/branches/gsoc/apache-rat-core/src/main/java/org/apache/rat/policy/DefaultPolicy.java?rev=1548684&r1=1548683&r2=1548684&view=diff
==============================================================================
---
creadur/rat/branches/gsoc/apache-rat-core/src/main/java/org/apache/rat/policy/DefaultPolicy.java
(original)
+++
creadur/rat/branches/gsoc/apache-rat-core/src/main/java/org/apache/rat/policy/DefaultPolicy.java
Fri Dec 6 19:28:47 2013
@@ -15,7 +15,7 @@
* KIND, either express or implied. See the License for the *
* specific language governing permissions and limitations *
* under the License. *
- */
+ */
package org.apache.rat.policy;
import org.apache.rat.api.Document;
@@ -23,6 +23,7 @@ import org.apache.rat.api.MetaData;
import org.apache.rat.api.MetaData.Datum;
import org.apache.rat.document.IDocumentAnalyser;
import org.apache.rat.license.ILicenseFamily;
+import org.apache.rat.api.domain.LicenseFamilyFactory;
import java.util.Arrays;
@@ -30,13 +31,13 @@ public class DefaultPolicy implements ID
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,
- MetaData.RAT_LICENSE_FAMILY_NAME_VALUE_W3C_SOFTWARE_COPYRIGHT,
+
LicenseFamilyFactory.RAT_LICENSE_FAMILY_NAME_VALUE_W3C_SOFTWARE_COPYRIGHT,
MetaData.RAT_LICENSE_FAMILY_NAME_VALUE_W3C_DOCUMENT_COPYRIGHT,
MetaData.RAT_LICENSE_FAMILY_NAME_VALUE_MODIFIED_BSD_LICENSE,
MetaData.RAT_LICENSE_FAMILY_NAME_VALUE_MIT,
MetaData.RAT_LICENSE_FAMILY_NAME_VALUE_CDDL1,
};
-
+
private static final String[] toNames(final ILicenseFamily[]
approvedLicenses) {
String[] results = null;
if (approvedLicenses != null) {
@@ -50,11 +51,11 @@ public class DefaultPolicy implements ID
}
private final String[] approvedLicenseNames;
-
+
public DefaultPolicy() {
this(APPROVED_LICENSES);
}
-
+
public DefaultPolicy(final ILicenseFamily[] approvedLicenses) {
this(toNames(approvedLicenses));
}
@@ -79,7 +80,7 @@ public class DefaultPolicy implements ID
}
subject.getMetaData().set(datum);
}
-
+
public void analyse(final Document subject) {
if (subject != null) {
final String name =
subject.getMetaData().value(MetaData.RAT_URL_LICENSE_FAMILY_NAME);