You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by cz...@apache.org on 2005/01/06 16:51:46 UTC
svn commit: r124395 - in cocoon/trunk/src/blocks/portal: WEB-INF/xconf java/org/apache/cocoon/portal java/org/apache/cocoon/portal/impl java/org/apache/cocoon/portal/layout
Author: cziegeler
Date: Thu Jan 6 07:51:44 2005
New Revision: 124395
URL: http://svn.apache.org/viewcvs?view=rev&rev=124395
Log:
Add initial skin support
Added:
cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/layout/SkinDescription.java (contents, props changed)
Modified:
cocoon/trunk/src/blocks/portal/WEB-INF/xconf/cocoon-portal-samples.xconf
cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/PortalService.java
cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/impl/PortalServiceImpl.java
Modified: cocoon/trunk/src/blocks/portal/WEB-INF/xconf/cocoon-portal-samples.xconf
Url: http://svn.apache.org/viewcvs/cocoon/trunk/src/blocks/portal/WEB-INF/xconf/cocoon-portal-samples.xconf?view=diff&rev=124395&p1=cocoon/trunk/src/blocks/portal/WEB-INF/xconf/cocoon-portal-samples.xconf&r1=124394&p2=cocoon/trunk/src/blocks/portal/WEB-INF/xconf/cocoon-portal-samples.xconf&r2=124395
==============================================================================
--- cocoon/trunk/src/blocks/portal/WEB-INF/xconf/cocoon-portal-samples.xconf (original)
+++ cocoon/trunk/src/blocks/portal/WEB-INF/xconf/cocoon-portal-samples.xconf Thu Jan 6 07:51:44 2005
@@ -13,8 +13,9 @@
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.
--->
+ CVS $Id$
+-->
<components>
<!-- THIS IS A SAMPLE PORTAL
It demonstrates several features of the portal engine,
@@ -26,6 +27,19 @@
<portals>
<portal name="portal">
<profile-manager>org.apache.cocoon.portal.profile.ProfileManager/Auth</profile-manager>
+ <!-- This is the sample portal:
+ - we use the auth profile manager
+ -->
+ <profile-manager>org.apache.cocoon.portal.profile.ProfileManager/Auth</profile-manager>
+ <!-- These are the skins the user can choose from: -->
+ <skins>
+ <skin name="basic" base-path="context://samples/blocks/portal/skins/basic">
+ <thumbnail-path>images/thumbnail.jpg</thumbnail-path>
+ </skin>
+ <skin name="common" base-path="context://samples/blocks/portal/skins/common">
+ <thumbnail-path>images/thumbnail.jpg</thumbnail-path>
+ </skin>
+ </skins>
</portal>
</portals>
</component>
Modified: cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/PortalService.java
Url: http://svn.apache.org/viewcvs/cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/PortalService.java?view=diff&rev=124395&p1=cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/PortalService.java&r1=124394&p2=cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/PortalService.java&r2=124395
==============================================================================
--- cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/PortalService.java (original)
+++ cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/PortalService.java Thu Jan 6 07:51:44 2005
@@ -16,7 +16,7 @@
package org.apache.cocoon.portal;
import java.util.Iterator;
-
+import java.util.List;
import org.apache.cocoon.portal.layout.Layout;
/**
@@ -110,4 +110,8 @@
*/
String getDefaultLayoutKey();
+ /**
+ * Return all skins
+ */
+ List getSkinDescriptions();
}
Modified: cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/impl/PortalServiceImpl.java
Url: http://svn.apache.org/viewcvs/cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/impl/PortalServiceImpl.java?view=diff&rev=124395&p1=cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/impl/PortalServiceImpl.java&r1=124394&p2=cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/impl/PortalServiceImpl.java&r2=124395
==============================================================================
--- cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/impl/PortalServiceImpl.java (original)
+++ cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/impl/PortalServiceImpl.java Thu Jan 6 07:51:44 2005
@@ -15,8 +15,10 @@
*/
package org.apache.cocoon.portal.impl;
+import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
+import java.util.List;
import java.util.Map;
import org.apache.avalon.framework.activity.Disposable;
@@ -37,6 +39,7 @@
import org.apache.cocoon.portal.PortalComponentManager;
import org.apache.cocoon.portal.PortalService;
import org.apache.cocoon.portal.layout.Layout;
+import org.apache.cocoon.portal.layout.SkinDescription;
/**
* Default implementation of a portal service using a session to store
@@ -64,6 +67,8 @@
protected Map portalConfigurations = new HashMap();
+ protected Map skins = new HashMap();
+
final protected static String KEY = PortalServiceImpl.class.getName();
/* (non-Javadoc)
@@ -198,6 +203,22 @@
ContainerUtil.initialize( c );
this.portalConfigurations.put( name, current );
+
+ // scan for skins
+ final List skinList = new ArrayList();
+ this.skins.put(name, skinList);
+ final Configuration[] skinConfs = current.getChild("skin").getChildren("skins");
+ if ( skinConfs != null ) {
+ for(int s=0;s<skinConfs.length;s++) {
+ final Configuration currentSkin = skinConfs[s];
+ final String skinName = currentSkin.getAttribute("name");
+ final SkinDescription desc = new SkinDescription();
+ desc.setName(skinName);
+ desc.setBasePath(currentSkin.getAttribute("base-path"));
+ desc.setThumbnailPath(currentSkin.getChild("thumbnail-path").getValue(null));
+ skinList.add(desc);
+ }
+ }
} catch (Exception e) {
throw new ConfigurationException("Unable to setup new portal component manager for portal " + name, e);
}
@@ -255,4 +276,10 @@
return key;
}
-}
\ No newline at end of file
+ /* (non-Javadoc)
+ * @see org.apache.cocoon.portal.PortalService#getSkinDescriptions()
+ */
+ public List getSkinDescriptions() {
+ return (List)this.skins.get(this.getPortalName());
+ }
+}
Added: cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/layout/SkinDescription.java
Url: http://svn.apache.org/viewcvs/cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/layout/SkinDescription.java?view=auto&rev=124395
==============================================================================
--- (empty file)
+++ cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/layout/SkinDescription.java Thu Jan 6 07:51:44 2005
@@ -0,0 +1,65 @@
+/*
+ * Copyright 1999-2002,2004 The Apache Software Foundation.
+ *
+ * Licensed 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.cocoon.portal.layout;
+
+/**
+*
+* @version CVS $Id: Parameters.java 30932 2004-07-29 17:35:38Z vgritsenko $
+*/
+public class SkinDescription {
+
+ protected String name;
+ protected String basePath;
+ protected String thumbnailPath;
+
+
+ /**
+ * @return Returns the basePath.
+ */
+ public String getBasePath() {
+ return basePath;
+ }
+ /**
+ * @param basePath The basePath to set.
+ */
+ public void setBasePath(String basePath) {
+ this.basePath = basePath;
+ }
+ /**
+ * @return Returns the name.
+ */
+ public String getName() {
+ return name;
+ }
+ /**
+ * @param name The name to set.
+ */
+ public void setName(String name) {
+ this.name = name;
+ }
+ /**
+ * @return Returns the thumbnailPath.
+ */
+ public String getThumbnailPath() {
+ return thumbnailPath;
+ }
+ /**
+ * @param thumbnailPath The thumbnailPath to set.
+ */
+ public void setThumbnailPath(String thumbnailPath) {
+ this.thumbnailPath = thumbnailPath;
+ }
+}
\ No newline at end of file