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);


Reply via email to