Author: cziegeler Date: Thu Jan 6 08:02:24 2005 New Revision: 124397 URL: http://svn.apache.org/viewcvs?view=rev&rev=124397 Log: Add initial skin support Added: cocoon/branches/BRANCH_2_1_X/src/blocks/portal/java/org/apache/cocoon/portal/layout/SkinDescription.java (contents, props changed) Modified: cocoon/branches/BRANCH_2_1_X/src/blocks/portal/conf/authportal.samplesxconf cocoon/branches/BRANCH_2_1_X/src/blocks/portal/java/org/apache/cocoon/portal/PortalService.java cocoon/branches/BRANCH_2_1_X/src/blocks/portal/java/org/apache/cocoon/portal/impl/PortalServiceImpl.java
Modified: cocoon/branches/BRANCH_2_1_X/src/blocks/portal/conf/authportal.samplesxconf Url: http://svn.apache.org/viewcvs/cocoon/branches/BRANCH_2_1_X/src/blocks/portal/conf/authportal.samplesxconf?view=diff&rev=124397&p1=cocoon/branches/BRANCH_2_1_X/src/blocks/portal/conf/authportal.samplesxconf&r1=124396&p2=cocoon/branches/BRANCH_2_1_X/src/blocks/portal/conf/authportal.samplesxconf&r2=124397 ============================================================================== --- cocoon/branches/BRANCH_2_1_X/src/blocks/portal/conf/authportal.samplesxconf (original) +++ cocoon/branches/BRANCH_2_1_X/src/blocks/portal/conf/authportal.samplesxconf Thu Jan 6 08:02:24 2005 @@ -13,12 +13,25 @@ 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: portlet.xml 30932 2004-07-29 17:35:38Z vgritsenko $ +--> <samplesxconf xpath="/cocoon/[EMAIL PROTECTED]'org.apache.cocoon.portal.PortalService']/portals" unless="[EMAIL PROTECTED]'portal']"> <portal name="portal"> + <!-- 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> </samplesxconf> Modified: cocoon/branches/BRANCH_2_1_X/src/blocks/portal/java/org/apache/cocoon/portal/PortalService.java Url: http://svn.apache.org/viewcvs/cocoon/branches/BRANCH_2_1_X/src/blocks/portal/java/org/apache/cocoon/portal/PortalService.java?view=diff&rev=124397&p1=cocoon/branches/BRANCH_2_1_X/src/blocks/portal/java/org/apache/cocoon/portal/PortalService.java&r1=124396&p2=cocoon/branches/BRANCH_2_1_X/src/blocks/portal/java/org/apache/cocoon/portal/PortalService.java&r2=124397 ============================================================================== --- cocoon/branches/BRANCH_2_1_X/src/blocks/portal/java/org/apache/cocoon/portal/PortalService.java (original) +++ cocoon/branches/BRANCH_2_1_X/src/blocks/portal/java/org/apache/cocoon/portal/PortalService.java Thu Jan 6 08:02:24 2005 @@ -16,7 +16,7 @@ package org.apache.cocoon.portal; import java.util.Iterator; - +import java.util.List; import org.apache.avalon.framework.component.Component; import org.apache.cocoon.portal.layout.Layout; @@ -111,4 +111,8 @@ */ String getDefaultLayoutKey(); + /** + * Return all skins + */ + List getSkinDescriptions(); } Modified: cocoon/branches/BRANCH_2_1_X/src/blocks/portal/java/org/apache/cocoon/portal/impl/PortalServiceImpl.java Url: http://svn.apache.org/viewcvs/cocoon/branches/BRANCH_2_1_X/src/blocks/portal/java/org/apache/cocoon/portal/impl/PortalServiceImpl.java?view=diff&rev=124397&p1=cocoon/branches/BRANCH_2_1_X/src/blocks/portal/java/org/apache/cocoon/portal/impl/PortalServiceImpl.java&r1=124396&p2=cocoon/branches/BRANCH_2_1_X/src/blocks/portal/java/org/apache/cocoon/portal/impl/PortalServiceImpl.java&r2=124397 ============================================================================== --- cocoon/branches/BRANCH_2_1_X/src/blocks/portal/java/org/apache/cocoon/portal/impl/PortalServiceImpl.java (original) +++ cocoon/branches/BRANCH_2_1_X/src/blocks/portal/java/org/apache/cocoon/portal/impl/PortalServiceImpl.java Thu Jan 6 08:02:24 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; } + /* (non-Javadoc) + * @see org.apache.cocoon.portal.PortalService#getSkinDescriptions() + */ + public List getSkinDescriptions() { + return (List)this.skins.get(this.getPortalName()); + } } Added: cocoon/branches/BRANCH_2_1_X/src/blocks/portal/java/org/apache/cocoon/portal/layout/SkinDescription.java Url: http://svn.apache.org/viewcvs/cocoon/branches/BRANCH_2_1_X/src/blocks/portal/java/org/apache/cocoon/portal/layout/SkinDescription.java?view=auto&rev=124397 ============================================================================== --- (empty file) +++ cocoon/branches/BRANCH_2_1_X/src/blocks/portal/java/org/apache/cocoon/portal/layout/SkinDescription.java Thu Jan 6 08:02:24 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