You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lenya.apache.org by an...@apache.org on 2006/09/22 09:46:37 UTC

svn commit: r448853 - in /lenya/trunk/src/impl: java/org/apache/lenya/cms/publication/PublicationConfiguration.java java/org/apache/lenya/cms/publication/PublicationImpl.java test/org/apache/lenya/cms/publication/PublicationTest.java

Author: andreas
Date: Fri Sep 22 00:46:36 2006
New Revision: 448853

URL: http://svn.apache.org/viewvc?view=rev&rev=448853
Log:
Moved resource type aggregation code from PublicationConfiguration to PublicationImpl, added test case

Modified:
    lenya/trunk/src/impl/java/org/apache/lenya/cms/publication/PublicationConfiguration.java
    lenya/trunk/src/impl/java/org/apache/lenya/cms/publication/PublicationImpl.java
    lenya/trunk/src/impl/test/org/apache/lenya/cms/publication/PublicationTest.java

Modified: lenya/trunk/src/impl/java/org/apache/lenya/cms/publication/PublicationConfiguration.java
URL: http://svn.apache.org/viewvc/lenya/trunk/src/impl/java/org/apache/lenya/cms/publication/PublicationConfiguration.java?view=diff&rev=448853&r1=448852&r2=448853
==============================================================================
--- lenya/trunk/src/impl/java/org/apache/lenya/cms/publication/PublicationConfiguration.java (original)
+++ lenya/trunk/src/impl/java/org/apache/lenya/cms/publication/PublicationConfiguration.java Fri Sep 22 00:46:36 2006
@@ -461,21 +461,7 @@
      */
     public String[] getResourceTypeNames() {
         loadConfiguration();
-
-        List allTypes = new ArrayList();
-        allTypes.addAll(this.resourceTypes);
-        String[] templateIds = getTemplateIds();
-        try {
-            for (int i = 0; i < templateIds.length; i++) {
-                Publication template = getFactory().getPublication(templateIds[i]);
-                String[] templateTypes = template.getResourceTypeNames();
-                allTypes.addAll(Arrays.asList(templateTypes));
-            }
-        } catch (PublicationException e) {
-            throw new RuntimeException(e);
-        }
-
-        return (String[]) allTypes.toArray(new String[allTypes.size()]);
+        return (String[]) this.resourceTypes.toArray(new String[this.resourceTypes.size()]);
     }
 
     public String toString() {

Modified: lenya/trunk/src/impl/java/org/apache/lenya/cms/publication/PublicationImpl.java
URL: http://svn.apache.org/viewvc/lenya/trunk/src/impl/java/org/apache/lenya/cms/publication/PublicationImpl.java?view=diff&rev=448853&r1=448852&r2=448853
==============================================================================
--- lenya/trunk/src/impl/java/org/apache/lenya/cms/publication/PublicationImpl.java (original)
+++ lenya/trunk/src/impl/java/org/apache/lenya/cms/publication/PublicationImpl.java Fri Sep 22 00:46:36 2006
@@ -18,6 +18,9 @@
 package org.apache.lenya.cms.publication;
 
 import java.io.File;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
 
 import org.apache.avalon.framework.logger.AbstractLogEnabled;
 import org.apache.avalon.framework.service.ServiceManager;
@@ -96,7 +99,21 @@
     }
 
     public String[] getResourceTypeNames() {
-        return delegate.getResourceTypeNames();
+        
+        List allTypes = new ArrayList();
+        allTypes.addAll(Arrays.asList(this.delegate.getResourceTypeNames()));
+        String[] templateIds = getTemplateIds();
+        try {
+            for (int i = 0; i < templateIds.length; i++) {
+                Publication template = getFactory().getPublication(templateIds[i]);
+                String[] templateTypes = template.getResourceTypeNames();
+                allTypes.addAll(Arrays.asList(templateTypes));
+            }
+        } catch (PublicationException e) {
+            throw new RuntimeException(e);
+        }
+
+        return (String[]) allTypes.toArray(new String[allTypes.size()]);
     }
 
     public File getServletContext() {

Modified: lenya/trunk/src/impl/test/org/apache/lenya/cms/publication/PublicationTest.java
URL: http://svn.apache.org/viewvc/lenya/trunk/src/impl/test/org/apache/lenya/cms/publication/PublicationTest.java?view=diff&rev=448853&r1=448852&r2=448853
==============================================================================
--- lenya/trunk/src/impl/test/org/apache/lenya/cms/publication/PublicationTest.java (original)
+++ lenya/trunk/src/impl/test/org/apache/lenya/cms/publication/PublicationTest.java Fri Sep 22 00:46:36 2006
@@ -18,6 +18,8 @@
 
 import java.io.File;
 import java.util.Arrays;
+import java.util.HashSet;
+import java.util.Set;
 
 import org.apache.lenya.ac.impl.AbstractAccessControlTest;
 
@@ -51,7 +53,7 @@
         
     }
 
-    protected void doTestPublication(Publication pub) {
+    protected void doTestPublication(Publication pub) throws PublicationException {
         String contentDirPath = pub.getContentDir();
         assertNotNull(contentDirPath);
         
@@ -73,6 +75,20 @@
         
         assertNotNull(pub.getDefaultLanguage());
         assertTrue(Arrays.asList(languages).contains(pub.getDefaultLanguage()));
+        
+        String[] types = pub.getResourceTypeNames();
+        assertTrue(types.length > 0);
+        
+        Set typeSet = new HashSet(Arrays.asList(types));
+        
+        String[] templateIds = pub.getTemplateIds();
+        for (int i = 0; i < templateIds.length; i++) {
+            Publication template = pub.getFactory().getPublication(templateIds[i]);
+            String[] templateTypes = template.getResourceTypeNames();
+            for (int t = 0; t < templateTypes.length; t++) {
+                assertTrue(typeSet.contains(templateTypes[i]));
+            }
+        }
         
     }
 



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@lenya.apache.org
For additional commands, e-mail: commits-help@lenya.apache.org