You are viewing a plain text version of this content. The canonical link for it is here.
Posted to portalapps-dev@portals.apache.org by wo...@apache.org on 2010/05/14 15:41:01 UTC

svn commit: r944256 - in /portals/applications/sandbox/content/trunk: etc/assembly/ etc/assembly/override/ src/main/java/org/apache/portals/applications/content/jndi/

Author: woonsan
Date: Fri May 14 13:41:01 2010
New Revision: 944256

URL: http://svn.apache.org/viewvc?rev=944256&view=rev
Log:
Extracting site-content-mappings into overrides/site-mappings.xml because we don't have to override everything of page-manager.xml.

Added:
    portals/applications/sandbox/content/trunk/etc/assembly/override/
    portals/applications/sandbox/content/trunk/etc/assembly/override/site-mappings.xml   (with props)
Removed:
    portals/applications/sandbox/content/trunk/etc/assembly/page-manager.xml
Modified:
    portals/applications/sandbox/content/trunk/src/main/java/org/apache/portals/applications/content/jndi/ObjectContentManagerProviderObjectFactory.java

Added: portals/applications/sandbox/content/trunk/etc/assembly/override/site-mappings.xml
URL: http://svn.apache.org/viewvc/portals/applications/sandbox/content/trunk/etc/assembly/override/site-mappings.xml?rev=944256&view=auto
==============================================================================
--- portals/applications/sandbox/content/trunk/etc/assembly/override/site-mappings.xml (added)
+++ portals/applications/sandbox/content/trunk/etc/assembly/override/site-mappings.xml Fri May 14 13:41:01 2010
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  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.
+-->
+<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
+  
+  <!-- PortalSite -->
+  <bean id="org.apache.jetspeed.portalsite.PortalSiteContentTypeMapper" name="portalSiteContentTypeMapper"
+    class="org.apache.jetspeed.portalsite.impl.PortalSiteContentTypeMapperImpl">         
+    <meta key="j2:cat" value="default" />
+    <constructor-arg index="0">
+      <list>
+        <bean class="org.apache.jetspeed.portalsite.impl.ContentTypeMapping">
+          <constructor-arg index="0">
+            <value>^/content/.*\w[.](\w+)&#36;</value> <!-- use &#36; for '$' -->
+          </constructor-arg>
+          <constructor-arg index="1">
+            <value>&#36;1</value> <!-- use &#36; for '$' -->
+          </constructor-arg>
+        </bean>
+        <bean class="org.apache.jetspeed.portalsite.impl.ContentTypeMapping">
+          <constructor-arg index="0">
+            <value>^/content/</value>
+          </constructor-arg>
+          <constructor-arg index="1">
+            <value>html</value>
+          </constructor-arg>
+        </bean>
+        <bean class="org.apache.jetspeed.portalsite.impl.ContentTypeMapping">
+          <constructor-arg index="0">
+            <value>^/news/.*\w[.](\w+)&#36;</value> <!-- use &#36; for '$' -->
+          </constructor-arg>
+          <constructor-arg index="1">
+            <value>&#36;1</value> <!-- use &#36; for '$' -->
+          </constructor-arg>
+        </bean>
+        <bean class="org.apache.jetspeed.portalsite.impl.ContentTypeMapping">
+          <constructor-arg index="0">
+            <value>^/news/</value>
+          </constructor-arg>
+          <constructor-arg index="1">
+            <value>html</value>
+          </constructor-arg>
+        </bean>
+      </list>
+    </constructor-arg>
+  </bean>
+  
+</beans>

Propchange: portals/applications/sandbox/content/trunk/etc/assembly/override/site-mappings.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: portals/applications/sandbox/content/trunk/etc/assembly/override/site-mappings.xml
------------------------------------------------------------------------------
    svn:keywords = Id

Propchange: portals/applications/sandbox/content/trunk/etc/assembly/override/site-mappings.xml
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: portals/applications/sandbox/content/trunk/src/main/java/org/apache/portals/applications/content/jndi/ObjectContentManagerProviderObjectFactory.java
URL: http://svn.apache.org/viewvc/portals/applications/sandbox/content/trunk/src/main/java/org/apache/portals/applications/content/jndi/ObjectContentManagerProviderObjectFactory.java?rev=944256&r1=944255&r2=944256&view=diff
==============================================================================
--- portals/applications/sandbox/content/trunk/src/main/java/org/apache/portals/applications/content/jndi/ObjectContentManagerProviderObjectFactory.java (original)
+++ portals/applications/sandbox/content/trunk/src/main/java/org/apache/portals/applications/content/jndi/ObjectContentManagerProviderObjectFactory.java Fri May 14 13:41:01 2010
@@ -39,6 +39,7 @@ public class ObjectContentManagerProvide
     
     public Object getObjectInstance(Object obj, Name name, Context nameCtx, Hashtable<?, ?> environment) throws Exception 
     {
+        String providerClassName = null;
         String annotatedClassNames = null;
         String xmlMappingResources = null;
         
@@ -51,7 +52,11 @@ public class ObjectContentManagerProvide
                 String type = addr.getType();
                 String value = (String) addr.getContent();
                 
-                if ("annotatedClassNames".equals(type))
+                if ("providerClassName".equals(type))
+                {
+                    providerClassName = (value != null ? value.trim() : value);
+                }
+                else if ("annotatedClassNames".equals(type))
                 {
                     annotatedClassNames = (value != null ? value.trim() : value);
                 }
@@ -73,11 +78,27 @@ public class ObjectContentManagerProvide
                 annotatedBeanClasses.add(Thread.currentThread().getContextClassLoader().loadClass(annotatedClassName));
             }
             
-            provider = new DefaultObjectContentManagerProvider(annotatedBeanClasses);
+            if (providerClassName != null && !"".equals(providerClassName))
+            {
+                provider = (ObjectContentManagerProvider) Thread.currentThread().getContextClassLoader().loadClass(providerClassName).getConstructor(new Class [] { List.class }).newInstance(new Object [] { annotatedBeanClasses });
+            }
+            else
+            {
+                provider = new DefaultObjectContentManagerProvider(annotatedBeanClasses);
+            }
         }
         else if (xmlMappingResources != null && !"".equals(xmlMappingResources))
         {
-            provider = new DefaultObjectContentManagerProvider(split(xmlMappingResources, " ,\t\r\n"));
+            String [] xmlMappingFiles = split(xmlMappingResources, " ,\t\r\n");
+            
+            if (providerClassName != null && !"".equals(providerClassName))
+            {
+                provider = (ObjectContentManagerProvider) Thread.currentThread().getContextClassLoader().loadClass(providerClassName).getConstructor(new Class [] { String [].class }).newInstance(new Object [] { xmlMappingFiles });
+            }
+            else
+            {
+                provider = new DefaultObjectContentManagerProvider(xmlMappingFiles);
+            }
         }
         else
         {