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 2013/12/05 14:52:20 UTC

svn commit: r1548138 - /creadur/rat/branches/gsoc/apache-rat-core/src/main/java/org/apache/rat/analysis/DefaultAnalyserFactory.java

Author: rdonkin
Date: Thu Dec  5 13:52:19 2013
New Revision: 1548138

URL: http://svn.apache.org/r1548138
Log:
Store instance in field, ready to be injected

Modified:
    creadur/rat/branches/gsoc/apache-rat-core/src/main/java/org/apache/rat/analysis/DefaultAnalyserFactory.java

Modified: creadur/rat/branches/gsoc/apache-rat-core/src/main/java/org/apache/rat/analysis/DefaultAnalyserFactory.java
URL: http://svn.apache.org/viewvc/creadur/rat/branches/gsoc/apache-rat-core/src/main/java/org/apache/rat/analysis/DefaultAnalyserFactory.java?rev=1548138&r1=1548137&r2=1548138&view=diff
==============================================================================
--- creadur/rat/branches/gsoc/apache-rat-core/src/main/java/org/apache/rat/analysis/DefaultAnalyserFactory.java (original)
+++ creadur/rat/branches/gsoc/apache-rat-core/src/main/java/org/apache/rat/analysis/DefaultAnalyserFactory.java Thu Dec  5 13:52:19 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.analysis;
 
 import org.apache.rat.api.Document;
@@ -28,38 +28,47 @@ import org.apache.rat.document.impl.gues
 
 /**
  * Creates default analysers.
- *
+ * 
  */
 public class DefaultAnalyserFactory {
-  
-    public static final IDocumentAnalyser createDefaultAnalyser(final IHeaderMatcher matcher) {
-        
+
+    public static final IDocumentAnalyser createDefaultAnalyser(
+            final IHeaderMatcher matcher) {
+
         return new DefaultAnalyser(matcher);
     }
-    
+
     private final static class DefaultAnalyser implements IDocumentAnalyser {
 
         private final IHeaderMatcher matcher;
-        
+        private final ArchiveGuesser archiveGuesser = new ArchiveGuesser();
+
         public DefaultAnalyser(final IHeaderMatcher matcher) {
             super();
             this.matcher = matcher;
         }
 
-        public void analyse(Document subject) throws RatDocumentAnalysisException {
+        public void analyse(final Document subject)
+                throws RatDocumentAnalysisException {
             final MetaData.Datum documentCategory;
             if (NoteGuesser.isNote(subject)) {
                 documentCategory = MetaData.RAT_DOCUMENT_CATEGORY_DATUM_NOTICE;
-            } else if (new ArchiveGuesser().isArchive(subject.getName())) {
-                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);
-                headerAnalyser.analyse(subject);
+                if (this.archiveGuesser.isArchive(subject.getName())) {
+                    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(this.matcher);
+                    headerAnalyser.analyse(subject);
+                }
             }
             subject.getMetaData().set(documentCategory);
-        }        
+        }
     }
 }