raphael     2002/11/09 11:02:53

  Modified:    scratchpad/jetspeed-cms build.properties
               scratchpad/jetspeed-cms/src/java/org/apache/jetspeed/services/cms
                        DefaultCmsService.java
               
scratchpad/jetspeed-cms/src/java/org/apache/jetspeed/services/cms/manager
                        CmsManager.java CmsManagerSlideImpl.java
               scratchpad/jetspeed-cms/src/java/org/apache/jetspeed/util/cms
                        CMSLink.java
               scratchpad/jetspeed-cms/webapp/WEB-INF/conf
                        CmsResources.properties Domain.xml
               scratchpad/jetspeed-cms/webapp/WEB-INF/db
                        cms-slide.properties cms-slide.script
  Added:       scratchpad/jetspeed-cms/src/java/org/apache/jetspeed/om/cms
                        Catalog.java ContentItem.java Link.java
                        Permission.java Resource.java
               scratchpad/jetspeed-cms/src/java/org/apache/jetspeed/om/cms/slide
                        SlideCatalog.java SlideContentItem.java
                        SlideLink.java SlidePermission.java
                        SlideResource.java
               
scratchpad/jetspeed-cms/src/java/org/apache/jetspeed/services/cms/manager
                        CmsFactory.java
  Removed:     scratchpad/jetspeed-cms/src/java/org/apache/jetspeed/om/cms/slide
                        Catalog.java ContentItem.java Link.java
                        Permission.java Resource.java
               
scratchpad/jetspeed-cms/src/java/org/apache/jetspeed/services/cms/manager
                        CmsManagerFactory.java
  Log:
  Update of the slide integration code
  provided by Christophe Lombart <[EMAIL PROTECTED]>
  
  Revision  Changes    Path
  1.2       +2 -4      jakarta-jetspeed/scratchpad/jetspeed-cms/build.properties
  
  Index: build.properties
  ===================================================================
  RCS file: /home/cvs/jakarta-jetspeed/scratchpad/jetspeed-cms/build.properties,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- build.properties  29 Oct 2002 16:05:25 -0000      1.1
  +++ build.properties  9 Nov 2002 19:02:52 -0000       1.2
  @@ -4,8 +4,6 @@
   #       comment it's home property. For example, if you don't want to run the
   #       tests on the Resin 1.2, comment out the "resin.home.12" property.
   
  -
  -tomcat.home.40=D:/MyApplication/Apache Tomcat 4.0
  -install.war=D:/MyApplication/Apache Tomcat 4.0/webapps
  -deploy.war=D:/MyApplication/Apache Tomcat 4.0/webapps
  +#install.war=D:/MyApplication/Apache Tomcat 4.0/webapps
  +install.war=D:/JavaProjects
   locale.default=en
  
  
  
  1.1                  
jakarta-jetspeed/scratchpad/jetspeed-cms/src/java/org/apache/jetspeed/om/cms/Catalog.java
  
  Index: Catalog.java
  ===================================================================
  /* ====================================================================
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  All rights
   * reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
   * are met:
   *
   * 1. Redistributions of source code must retain the above copyright
   *    notice, this list of conditions and the following disclaimer.
   *
   * 2. Redistributions in binary form must reproduce the above copyright
   *    notice, this list of conditions and the following disclaimer in
   *    the documentation and/or other materials provided with the
   *    distribution.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Apache" and "Apache Software Foundation" and
   *    "Apache Jetspeed" must not be used to endorse or promote products
   *    derived from this software without prior written permission. For
   *    written permission, please contact [EMAIL PROTECTED]
   *
   * 5. Products derived from this software may not be called "Apache",
   *    "Apache Jetspeed", nor may "Apache" appear in their name, without
   *    prior written permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
   * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
   * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
   * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
   * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
   * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
   * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   * SUCH DAMAGE.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation.  For more
   * information on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  package org.apache.jetspeed.om.cms;
  
  import java.util.Vector;
  import java.util.TreeMap;
  import java.util.Comparator;
  
  
  /**
   * <p> CMS om interface for Catalog.<br>
   *
   * @author <a href="mailto:christophe.lombart@;skynet.be">Christophe Lombart</a>
   *
   */
  public interface Catalog extends Resource
  {
  
        public void addResource(String itemKey, Resource resource);
  
        public Vector getItems();
        
        public String getKey();
        
        public void setLogicalName(String logicalName);
        
        public String getLogicalName();
  
        public void setTitle(String title);
  
        public String getTitle();
  
        public void setParentUri(String parentUri);
        
        public String getParentUri();
  
        public String getType();
  
  }
  
  
  
  1.1                  
jakarta-jetspeed/scratchpad/jetspeed-cms/src/java/org/apache/jetspeed/om/cms/ContentItem.java
  
  Index: ContentItem.java
  ===================================================================
  /* ====================================================================
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  All rights
   * reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
   * are met:
   *
   * 1. Redistributions of source code must retain the above copyright
   *    notice, this list of conditions and the following disclaimer.
   *
   * 2. Redistributions in binary form must reproduce the above copyright
   *    notice, this list of conditions and the following disclaimer in
   *    the documentation and/or other materials provided with the
   *    distribution.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Apache" and "Apache Software Foundation" and
   *    "Apache Jetspeed" must not be used to endorse or promote products
   *    derived from this software without prior written permission. For
   *    written permission, please contact [EMAIL PROTECTED]
   *
   * 5. Products derived from this software may not be called "Apache",
   *    "Apache Jetspeed", nor may "Apache" appear in their name, without
   *    prior written permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
   * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
   * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
   * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
   * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
   * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
   * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   * SUCH DAMAGE.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation.  For more
   * information on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  package org.apache.jetspeed.om.cms;
  
  import org.apache.turbine.util.Log;
  
  /**
   * <p> CMS om interface for for Content Item.<br>
   * Used to access to the content attributes
   *
   * @author <a href="mailto:christophe.lombart@;skynet.be">Christophe Lombart</a>
   *
   */
  
  public interface ContentItem extends Resource
  {
  
  
        public boolean contentTypeisURLPortal();
  
        public boolean contentTypeisURLInternet();
  
        public boolean contentTypeisHTML();
  
        public boolean contentTypeisUpload();
  
        public void setContentClass(String contentClass);
  
        public String getContentClass();
  
  
        public void setDescription(String description);
  
        public String getDescription();
  
        public void setContentType(String contentType);
  
        public String getContentType();
  
        public void setContentReference(String contentReference);
  
        public String getContentReference();
  
        public void setAuthor(String author);
  
        public String getAuthor();
  
        public void setCreationDate_year(Integer creationDate_year);
  
        public Integer getCreationDate_year();
  
        public void setCreationDate_month(Integer creationDate_month);
  
        public Integer getCreationDate_month();
        
        public void setCreationDate_day(Integer creationDate_day);
  
        public Integer getCreationDate_day();
  
        public void setParentUri(String parentUri);
        
        public String getParentUri();
        
  
  }
  
  
  1.1                  
jakarta-jetspeed/scratchpad/jetspeed-cms/src/java/org/apache/jetspeed/om/cms/Link.java
  
  Index: Link.java
  ===================================================================
  /* ====================================================================
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  All rights
   * reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
   * are met:
   *
   * 1. Redistributions of source code must retain the above copyright
   *    notice, this list of conditions and the following disclaimer.
   *
   * 2. Redistributions in binary form must reproduce the above copyright
   *    notice, this list of conditions and the following disclaimer in
   *    the documentation and/or other materials provided with the
   *    distribution.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Apache" and "Apache Software Foundation" and
   *    "Apache Jetspeed" must not be used to endorse or promote products
   *    derived from this software without prior written permission. For
   *    written permission, please contact [EMAIL PROTECTED]
   *
   * 5. Products derived from this software may not be called "Apache",
   *    "Apache Jetspeed", nor may "Apache" appear in their name, without
   *    prior written permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
   * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
   * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
   * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
   * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
   * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
   * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   * SUCH DAMAGE.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation.  For more
   * information on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  
  package  org.apache.jetspeed.om.cms;
  
  /**
   * <p> Wrapper class for a link node.<br>
   * Used to access to the Link attributes
   *
   * @author <a href="mailto:christophe.lombart@;skynet.be">Christophe Lombart</a>
   *
   */
  public interface Link extends Resource
  {
        
  
        public void setTargetResourceUri(String newTargetResourceUri);
  
        public String getTargetResourceUri();
  }
  
  
  
  1.1                  
jakarta-jetspeed/scratchpad/jetspeed-cms/src/java/org/apache/jetspeed/om/cms/Permission.java
  
  Index: Permission.java
  ===================================================================
  /* ====================================================================
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  All rights
   * reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
   * are met:
   *
   * 1. Redistributions of source code must retain the above copyright
   *    notice, this list of conditions and the following disclaimer.
   *
   * 2. Redistributions in binary form must reproduce the above copyright
   *    notice, this list of conditions and the following disclaimer in
   *    the documentation and/or other materials provided with the
   *    distribution.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Apache" and "Apache Software Foundation" and
   *    "Apache Jetspeed" must not be used to endorse or promote products
   *    derived from this software without prior written permission. For
   *    written permission, please contact [EMAIL PROTECTED]
   *
   * 5. Products derived from this software may not be called "Apache",
   *    "Apache Jetspeed", nor may "Apache" appear in their name, without
   *    prior written permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
   * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
   * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
   * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
   * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
   * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
   * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   * SUCH DAMAGE.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation.  For more
   * information on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  package  org.apache.jetspeed.om.cms;
  
  /**
   * <p> Permission interface assign to a {@link Resource}
   *
   *
   * @author <a href="mailto:christophe.lombart@;skynet.be">Christophe Lombart</a>
   *
   */
  public interface Permission
  {
  
        public String getActor();
        
        public void setActor(String actor);
        
        public void setAction(String action);
        
        public String getAction();
        
        public void setInheritable(boolean inheritable);
        
        public boolean isInheritable();
        
        public void setNegative(boolean negative);
        
        public boolean isNegative();
        
  }
  
  
  
  1.1                  
jakarta-jetspeed/scratchpad/jetspeed-cms/src/java/org/apache/jetspeed/om/cms/Resource.java
  
  Index: Resource.java
  ===================================================================
  /* ====================================================================
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  All rights
   * reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
   * are met:
   *
   * 1. Redistributions of source code must retain the above copyright
   *    notice, this list of conditions and the following disclaimer.
   *
   * 2. Redistributions in binary form must reproduce the above copyright
   *    notice, this list of conditions and the following disclaimer in
   *    the documentation and/or other materials provided with the
   *    distribution.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Apache" and "Apache Software Foundation" and
   *    "Apache Jetspeed" must not be used to endorse or promote products
   *    derived from this software without prior written permission. For
   *    written permission, please contact [EMAIL PROTECTED]
   *
   * 5. Products derived from this software may not be called "Apache",
   *    "Apache Jetspeed", nor may "Apache" appear in their name, without
   *    prior written permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
   * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
   * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
   * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
   * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
   * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
   * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   * SUCH DAMAGE.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation.  For more
   * information on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  package  org.apache.jetspeed.om.cms;
  
  import java.util.Vector;
  
  
  
  /**
   * <p> Ancestor interface used for all content management resource
   *
   *
   * @author <a href="mailto:christophe.lombart@;skynet.be">Christophe Lombart</a>
   *
   */
  public interface Resource
  {
  
        public String getKey();
  
        public String getTitle();
        
        public void setUri(String uri);
  
        public String getUri();
        
        public String getType();
        
        public void setPermissions(Vector permissions);
        
        public Vector getPermissions();
        
        public void addPermission(Permission permission);
        
  }
  
  
  
  1.1                  
jakarta-jetspeed/scratchpad/jetspeed-cms/src/java/org/apache/jetspeed/om/cms/slide/SlideCatalog.java
  
  Index: SlideCatalog.java
  ===================================================================
  /* ====================================================================
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  All rights
   * reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
   * are met:
   *
   * 1. Redistributions of source code must retain the above copyright
   *    notice, this list of conditions and the following disclaimer.
   *
   * 2. Redistributions in binary form must reproduce the above copyright
   *    notice, this list of conditions and the following disclaimer in
   *    the documentation and/or other materials provided with the
   *    distribution.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Apache" and "Apache Software Foundation" and
   *    "Apache Jetspeed" must not be used to endorse or promote products
   *    derived from this software without prior written permission. For
   *    written permission, please contact [EMAIL PROTECTED]
   *
   * 5. Products derived from this software may not be called "Apache",
   *    "Apache Jetspeed", nor may "Apache" appear in their name, without
   *    prior written permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
   * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
   * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
   * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
   * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
   * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
   * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   * SUCH DAMAGE.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation.  For more
   * information on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  package org.apache.jetspeed.om.cms.slide;
  
  import java.util.Vector;
  import java.util.TreeMap;
  import java.util.Comparator;
  
  import org.apache.jetspeed.om.cms.*;
  
  /**
   * <p> Wrapper class for a slide catalog resource (ObjectNode).<br>
   * Used to access to the catalog attributes
   *
   * @author <a href="mailto:christophe.lombart@;skynet.be">Christophe Lombart</a>
   *
   */
  public class SlideCatalog extends SlideResource implements Catalog 
  {
  
        protected String logicalName = "";
        private String title = "";
        private String parentUri ="";
        public static String TYPE="Catalog";
        private TreeMap items = new TreeMap(new ItemComparator());
  
        /**
        * Constructor
        */
        public SlideCatalog()
        {
                super();
                descriptor.setProperty("resourcetype","<collection/>");
        }
  
        public void addResource(String itemKey, Resource resource)
        {
                items.put(itemKey, resource);
        }
  
        public Vector getItems()
        {
                return new Vector(items.values()); // return a vector of "Resource"
        }
  
        /**
        * Use in the comparator class for the treemap
        *
        */
        public String getKey()
        {
                return "1" + this.getTitle( ); // "1" because the catalog should
                                      // before the contentItem reference
        }
  
        public void setLogicalName(String logicalName)
        {
                if (descriptor != null)
                {
                        descriptor.setProperty("logicalName", logicalName);
                }
  
        this.logicalName = logicalName;
        }
  
        public String getLogicalName()
        {
                if ((descriptor != null) && ((this.logicalName == null) || 
(this.logicalName.equals(""))))
                {
                        this.logicalName = (String) this.getProperty("logicalName");
                }
  
                return this.logicalName;
        }
  
        public void setTitle(String title)
        {
                if (descriptor != null)
                {
                        descriptor.setProperty("title", title);
                }
  
                this.title = title;
        }
  
        public String getTitle()
        {
                if ((descriptor != null) && ((this.title == null) || 
(this.title.equals(""))))
                {
                        this.title = (String) this.getProperty("title");
                }
  
                return this.title;
        }
  
  
        public void setParentUri(String parentUri)
        {
                if (descriptor != null)
                {
                        descriptor.setProperty("parentUri", parentUri);
                }
  
                this.parentUri = parentUri;
        }
  
        public String getParentUri()
        {
                if ((descriptor != null) && ((this.parentUri == null) || 
(this.parentUri.equals(""))))
                {
                        this.parentUri = (String) this.getProperty("parentUri");
                }
  
                return this.parentUri;
        }
  
        public String getType()
        {
                return SlideCatalog.TYPE;
        }
  
        class ItemComparator implements Comparator
        {
                public int compare (Object key1, Object key2)
                {
                return ((String) key1).compareTo((String)key2);
                }
        }
  }
  
  
  
  1.1                  
jakarta-jetspeed/scratchpad/jetspeed-cms/src/java/org/apache/jetspeed/om/cms/slide/SlideContentItem.java
  
  Index: SlideContentItem.java
  ===================================================================
  /* ====================================================================
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  All rights
   * reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
   * are met:
   *
   * 1. Redistributions of source code must retain the above copyright
   *    notice, this list of conditions and the following disclaimer.
   *
   * 2. Redistributions in binary form must reproduce the above copyright
   *    notice, this list of conditions and the following disclaimer in
   *    the documentation and/or other materials provided with the
   *    distribution.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Apache" and "Apache Software Foundation" and
   *    "Apache Jetspeed" must not be used to endorse or promote products
   *    derived from this software without prior written permission. For
   *    written permission, please contact [EMAIL PROTECTED]
   *
   * 5. Products derived from this software may not be called "Apache",
   *    "Apache Jetspeed", nor may "Apache" appear in their name, without
   *    prior written permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
   * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
   * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
   * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
   * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
   * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
   * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   * SUCH DAMAGE.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation.  For more
   * information on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  package org.apache.jetspeed.om.cms.slide;
  
  import org.apache.turbine.util.Log;
  
  import org.apache.jetspeed.om.cms.*;
  
  
  /**
   * <p> Wrapper class for a content Item (ObjectNode).<br>
   * Used to access to the content attributes
   *
   * @author <a href="mailto:christophe.lombart@;skynet.be">Christophe Lombart</a>
   *
   */
  
  public class SlideContentItem extends SlideResource implements ContentItem
  {
        private String logicalName = "";
        private String description = "";
        private String contentType= "";            // URL, HTML Text or upload// if 
contentType = URL => external or portal link
        private String contentReference = "";  // url or HTML content
        private String contentClass="" ; // Application or Document
        private String title = "";
        private String author = "";
        private Integer creationDate_year;
        private Integer creationDate_month;
        private Integer creationDate_day;
        private String parentUri;
  
        public static String TYPE = "ContentItem";
  
        /**
        * getKey() : use in the comparator defined in the Catalog.java class
        */
        public String getKey()
        {
                return "2" + this.getTitle( ); // "2" because the contentItem should
                                                                         // after the 
catalogs reference
        }
  
        public boolean contentTypeisURLPortal()
        {
                String type = this.getContentType();
  
                if (type == null)
                {
                        return false;
                }
  
                return type.equals("URLPORT");
        }
  
        public boolean contentTypeisURLInternet()
        {
                String type = this.getContentType();
  
                if (type == null)
                {
                        return false;
                }
  
                return type.equals("URLINT");
        }
  
        public boolean contentTypeisHTML()
        {
                String type = this.getContentType();
  
                if (type == null)
                {
                        return false;
                }
  
                return type.equals("HTML");
        }
  
        public boolean contentTypeisUpload()
        {
                String type = this.getContentType();
  
                if (type == null)
                {
                        return false;
                }
  
                return type.equals("UPLOAD");
        }
  
        public void setContentClass(String contentClass)
        {
                if (descriptor != null)
                {
                        descriptor.setProperty("contentClass", contentClass);
                }
  
                this.contentClass = contentClass;
        }
  
        public String getContentClass()
        {
                if ((descriptor != null) && ((this.contentClass == null) || 
(this.contentClass.equals(""))))
                {
                        this.contentClass = (String) this.getProperty("contentClass");
                }
  
                return this.contentClass;
        }
  
        public void setLogicalName(String logicalName)
        {
                if (descriptor != null)
                {
                        descriptor.setProperty("logicalName", logicalName);
                }
  
                this.logicalName = logicalName;
        }
  
        public String getLogicalName()
        {
  
                if (Log.getLogger().isDebugEnabled())
                {
                        Log.debug("ContentItem.getLogicalName() :" + this.uri);
                }
  
                if ((descriptor != null) && ((this.logicalName == null) || 
(this.logicalName.equals(""))))
                {
                        this.logicalName = (String) this.getProperty("logicalName");
                }
  
                return this.logicalName;
        }
  
        public void setDescription(String description)
        {
                if (descriptor != null)
                {
                        descriptor.setProperty("description", description);
                }
  
                this.description = description;
        }
  
        public String getDescription()
        {
                if ((descriptor != null) && ((this.description == null) || 
(this.description.equals(""))))
                {
                        this.description = (String) this.getProperty("description");
                }
  
                return this.description;
        }
  
        public void setContentType(String contentType)
        {
                if (descriptor != null)
                {
                        descriptor.setProperty("contentType", contentType);
                }
  
                this.contentType = contentType;
        }
  
        public String getContentType()
        {
                if ((descriptor != null) && ((this.contentType == null) || 
(this.contentType.equals(""))))
                {
                        this.contentType = (String) this.getProperty("contentType");
                }
  
                return this.contentType;
        }
  
        public void setContentReference(String contentReference)
        {
                if (descriptor != null)
                {
                        descriptor.setProperty("contentReference", contentReference);
                }
          this.contentReference = contentReference;
        }
  
        public String getContentReference()
        {
                if ((descriptor != null) && ((this.contentReference == null) || 
(this.contentReference.equals(""))))
                {
                        this.contentReference = (String) 
this.getProperty("contentReference");
                }
  
                return this.contentReference;
        }
  
        public void setTitle(String title)
        {
                if (descriptor != null)
                {
                        descriptor.setProperty("title", title);
                }
  
                this.title = title;
        }
  
        public String getTitle()
        {
                if ((descriptor != null) && ((this.title == null) || 
(this.title.equals(""))))
                {
                        this.title = (String) this.getProperty("title");
                }
  
                return this.title;
        }
  
        public void setAuthor(String author)
        {
                if (descriptor != null)
                {
                        descriptor.setProperty("author", author);
                }
  
                this.author = author;
        }
  
        public String getAuthor()
        {
                if ((descriptor != null) && ((this.author == null) || 
(this.author.equals(""))))
                {
                        this.author = (String) this.getProperty("author");
                }
  
                return this.author;
        }
  
        public void setCreationDate_year(Integer creationDate_year)
        {
                if (descriptor != null)
                {
                        descriptor.setProperty("creationDate_year", creationDate_year);
                }
  
                this.creationDate_year = creationDate_year;
        }
  
        public Integer getCreationDate_year()
        {
                if ((descriptor != null) && ((this.creationDate_year == null)))
                {
                        this.creationDate_year = 
(Integer)this.getProperty("creationDate_year");
                }
  
                return this.creationDate_year;
        }
  
        public void setCreationDate_month(Integer creationDate_month)
        {
                if (descriptor != null)
                {
                        descriptor.setProperty("creationDate_month", 
creationDate_month);
                }
  
                this.creationDate_month = creationDate_month;
        }
  
        public Integer getCreationDate_month()
        {
                if ((descriptor != null) && ((this.creationDate_month == null)))
                {
                        this.creationDate_month = (Integer) 
this.getProperty("creationDate_month");
                }
  
                return this.creationDate_month;
        }
  
        public void setCreationDate_day(Integer creationDate_day)
        {
                if (descriptor != null)
                {
                        descriptor.setProperty("creationDate_day", creationDate_day);
                }
  
                this.creationDate_day = creationDate_day;
        }
  
        public Integer getCreationDate_day()
        {
                if ((descriptor != null) && ((this.creationDate_day == null)))
                {
                        this.creationDate_day = 
(Integer)this.getProperty("creationDate_day");
                }
  
                return this.creationDate_day;
        }
  
        public void setParentUri(String parentUri)
        {
                if (descriptor != null)
                {
                        descriptor.setProperty("parentUri", parentUri);
                }
  
                this.parentUri = parentUri;
        }
  
        public String getParentUri()
        {
                if ((descriptor != null) && ((this.parentUri == null) || 
(this.parentUri.equals(""))))
                {
                        this.parentUri = (String) this.getProperty("parentUri");
                }
  
                return this.parentUri;
        }
  
        public String getType()
        {
                return SlideContentItem.TYPE;
        }
  }
  
  
  1.1                  
jakarta-jetspeed/scratchpad/jetspeed-cms/src/java/org/apache/jetspeed/om/cms/slide/SlideLink.java
  
  Index: SlideLink.java
  ===================================================================
  /* ====================================================================
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  All rights
   * reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
   * are met:
   *
   * 1. Redistributions of source code must retain the above copyright
   *    notice, this list of conditions and the following disclaimer.
   *
   * 2. Redistributions in binary form must reproduce the above copyright
   *    notice, this list of conditions and the following disclaimer in
   *    the documentation and/or other materials provided with the
   *    distribution.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Apache" and "Apache Software Foundation" and
   *    "Apache Jetspeed" must not be used to endorse or promote products
   *    derived from this software without prior written permission. For
   *    written permission, please contact [EMAIL PROTECTED]
   *
   * 5. Products derived from this software may not be called "Apache",
   *    "Apache Jetspeed", nor may "Apache" appear in their name, without
   *    prior written permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
   * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
   * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
   * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
   * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
   * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
   * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   * SUCH DAMAGE.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation.  For more
   * information on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  
  package  org.apache.jetspeed.om.cms.slide;
  
  import org.apache.jetspeed.om.cms.*;
  
  /**
   * <p> Wrapper class for a link node.<br>
   * Used to access to the Link attributes
   *
   * @author <a href="mailto:christophe.lombart@;skynet.be">Christophe Lombart</a>
   *
   */
  public class SlideLink extends SlideResource implements Link
  {
        private String targetResourceUri;
        public transient static String TYPE="Link";
  
        public String getType()
        {
                return SlideLink.TYPE;
        }
  
        public void setTargetResourceUri(String newTargetResourceUri)
        {
                targetResourceUri = newTargetResourceUri;
        }
  
        public String getTargetResourceUri()
        {
                return targetResourceUri;
        }
  }
  
  
  
  1.1                  
jakarta-jetspeed/scratchpad/jetspeed-cms/src/java/org/apache/jetspeed/om/cms/slide/SlidePermission.java
  
  Index: SlidePermission.java
  ===================================================================
  /* ====================================================================
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  All rights
   * reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
   * are met:
   *
   * 1. Redistributions of source code must retain the above copyright
   *    notice, this list of conditions and the following disclaimer.
   *
   * 2. Redistributions in binary form must reproduce the above copyright
   *    notice, this list of conditions and the following disclaimer in
   *    the documentation and/or other materials provided with the
   *    distribution.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Apache" and "Apache Software Foundation" and
   *    "Apache Jetspeed" must not be used to endorse or promote products
   *    derived from this software without prior written permission. For
   *    written permission, please contact [EMAIL PROTECTED]
   *
   * 5. Products derived from this software may not be called "Apache",
   *    "Apache Jetspeed", nor may "Apache" appear in their name, without
   *    prior written permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
   * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
   * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
   * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
   * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
   * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
   * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   * SUCH DAMAGE.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation.  For more
   * information on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  package  org.apache.jetspeed.om.cms.slide;
  
  import org.apache.jetspeed.om.*;
  import org.apache.jetspeed.om.cms.Permission;
  /**
   * <p> Permission assign to a {@link Resource}
   *
   *
   * @author <a href="mailto:christophe.lombart@;skynet.be">Christophe Lombart</a>
   *
   */
  public class SlidePermission implements Permission
  {
  
        private String actor;
        private String action;
        private boolean inheritable;
        private boolean negative;
  
        public String getActor()
        {
                return actor;
        }
  
        public void setActor(String actor)
        {
                this.actor = actor;
        }
  
        public void setAction(String action)
        {
                this.action = action;
        }
  
        public String getAction()
        {
                return action;
        }
  
        public void setInheritable(boolean inheritable)
        {
                this.inheritable = inheritable;
        }
  
        public boolean isInheritable()
        {
                return inheritable;
        }
  
        public void setNegative(boolean negative)
        {
                this.negative = negative;
        }
  
        public boolean isNegative()
        {
                return negative;
        }
  }
  
  
  
  1.1                  
jakarta-jetspeed/scratchpad/jetspeed-cms/src/java/org/apache/jetspeed/om/cms/slide/SlideResource.java
  
  Index: SlideResource.java
  ===================================================================
  /* ====================================================================
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  All rights
   * reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
   * are met:
   *
   * 1. Redistributions of source code must retain the above copyright
   *    notice, this list of conditions and the following disclaimer.
   *
   * 2. Redistributions in binary form must reproduce the above copyright
   *    notice, this list of conditions and the following disclaimer in
   *    the documentation and/or other materials provided with the
   *    distribution.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Apache" and "Apache Software Foundation" and
   *    "Apache Jetspeed" must not be used to endorse or promote products
   *    derived from this software without prior written permission. For
   *    written permission, please contact [EMAIL PROTECTED]
   *
   * 5. Products derived from this software may not be called "Apache",
   *    "Apache Jetspeed", nor may "Apache" appear in their name, without
   *    prior written permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
   * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
   * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
   * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
   * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
   * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
   * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   * SUCH DAMAGE.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation.  For more
   * information on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  package  org.apache.jetspeed.om.cms.slide;
  
  import java.util.Vector;
  import org.apache.slide.content.NodeRevisionDescriptor;
  
  import org.apache.jetspeed.om.cms.*;
  /**
   * <p> Ancestor class used for all content management resource
   *
   *
   * @author <a href="mailto:christophe.lombart@;skynet.be">Christophe Lombart</a>
   *
   */
  public class SlideResource implements Resource
  {
        public static String TYPE="Resource";
        protected String uri;
        protected NodeRevisionDescriptor descriptor;
        protected Vector permissions;
  
        public SlideResource ()
        {
                descriptor = new NodeRevisionDescriptor(0);
                permissions = new Vector();
        }
  
        public void setDescriptor(NodeRevisionDescriptor descriptor)
        {
                this.descriptor = descriptor ;
        }
  
        public NodeRevisionDescriptor getDesciptor()
        {
                return descriptor;
        }
  
        public String getKey()
        {
                return "";
        } // has to be defined in descendents
  
        public String getTitle()
        {
                return "";
        } // has to be defined in descendents
  
        public void setUri(String uri)
        {
                this.uri = uri;
        }
  
        public String getUri()
        {
                return this.uri;
        }
  
        public String getType()
        {
                return SlideResource.TYPE;
        }
  
        public void setPermissions(Vector permissions)
        {
                this.permissions = permissions;
        }
  
        public Vector getPermissions()
        {
                return this.permissions;
        }
  
        public void addPermission(Permission permission)
        {
                permissions.add(permission);
        }
  
        protected Object getProperty(String propertyName)
        {
                try
                {
                        return descriptor.getProperty(propertyName).getValue();
                }
                catch (Exception e)
                { //return null if the propertuy doesn't exits
                        return null;
                }
        }
  }
  
  
  
  1.2       +4 -4      
jakarta-jetspeed/scratchpad/jetspeed-cms/src/java/org/apache/jetspeed/services/cms/DefaultCmsService.java
  
  Index: DefaultCmsService.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jetspeed/scratchpad/jetspeed-cms/src/java/org/apache/jetspeed/services/cms/DefaultCmsService.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- DefaultCmsService.java    29 Oct 2002 16:05:26 -0000      1.1
  +++ DefaultCmsService.java    9 Nov 2002 19:02:52 -0000       1.2
  @@ -61,10 +61,10 @@
   
   // Tubine
   import org.apache.turbine.services.*;
  -import org.apache.turbine.services.resources.*;
  +//import org.apache.turbine.services.resources.*;
   
   // Jetspeed
  -import org.apache.jetspeed.services.cms.manager.CmsManagerFactory;
  +import org.apache.jetspeed.services.cms.manager.CmsFactory;
   import org.apache.jetspeed.services.cms.manager.CmsManager;
   import org.apache.jetspeed.services.cms.JetspeedCMSException;
   
  @@ -90,7 +90,7 @@
       /**
        * Default namespace value.
        */
  -    private final static String DEFAULT_NAMESPACE_VALUE = "jetspeed-content";
  +    private final static String DEFAULT_NAMESPACE_VALUE = "jetspeed";
   
       /**
        * Initialize the CMS Service.
  @@ -126,7 +126,7 @@
   
                        if (cms == null)
                        {
  -                             cms = CmsManagerFactory.getInstance(nameSpace);
  +                             cms = CmsFactory.getCmsManagerInstance(nameSpace);
                                cmsRepositories.put(nameSpace, cms);
                        }
                }
  
  
  
  1.2       +1 -1      
jakarta-jetspeed/scratchpad/jetspeed-cms/src/java/org/apache/jetspeed/services/cms/manager/CmsManager.java
  
  Index: CmsManager.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jetspeed/scratchpad/jetspeed-cms/src/java/org/apache/jetspeed/services/cms/manager/CmsManager.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- CmsManager.java   29 Oct 2002 16:05:26 -0000      1.1
  +++ CmsManager.java   9 Nov 2002 19:02:53 -0000       1.2
  @@ -59,7 +59,7 @@
   
   //Jetspeed
   import org.apache.jetspeed.services.cms.JetspeedCMSException;
  -import org.apache.jetspeed.om.cms.slide.*;
  +import org.apache.jetspeed.om.cms.*;
   import org.apache.turbine.util.upload.FileItem;
   
   /**
  
  
  
  1.2       +17 -22    
jakarta-jetspeed/scratchpad/jetspeed-cms/src/java/org/apache/jetspeed/services/cms/manager/CmsManagerSlideImpl.java
  
  Index: CmsManagerSlideImpl.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jetspeed/scratchpad/jetspeed-cms/src/java/org/apache/jetspeed/services/cms/manager/CmsManagerSlideImpl.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- CmsManagerSlideImpl.java  29 Oct 2002 16:05:26 -0000      1.1
  +++ CmsManagerSlideImpl.java  9 Nov 2002 19:02:53 -0000       1.2
  @@ -68,7 +68,7 @@
   
   // Turbine
   import org.apache.turbine.services.TurbineServices;
  -import org.apache.turbine.services.resources.ResourceService;
  +import org.apache.turbine.services.resources.TurbineResources;
   import org.apache.turbine.util.upload.FileItem;
   import org.apache.turbine.util.Log;
   
  @@ -84,12 +84,13 @@
   import org.apache.slide.security.AccessDeniedException;
   
   // Jetspeed
  -import org.apache.jetspeed.om.cms.slide.*;
  +import org.apache.jetspeed.om.cms.*;
  +import org.apache.jetspeed.om.cms.slide.SlideResource;
   import org.apache.jetspeed.services.cms.CmsService;
   import org.apache.jetspeed.services.cms.JetspeedCMSException;
   
   
  -public class CmsManagerSlideImpl
  +public class CmsManagerSlideImpl implements CmsManager
   {
   
        private NamespaceAccessToken token = null;
  @@ -105,14 +106,12 @@
        * @param nameSpace used assigned to the CmsManager. This namespace can be
        * used to read parameters assigned to this namespace in the JR.prop
        */
  -     void init (String namespace)
  +     public void init (String namespace)
                        throws JetspeedCMSException
        {
                try
                {
  -                     ResourceService serviceConf = 
((TurbineServices)TurbineServices.getInstance())
  -                                                                                    
                                 .getResources(CmsService.SERVICE_NAME);
  -                     String domainFile = serviceConf.getString("CmsManager." + 
namespace + ".domainfile");
  +            String domainFile 
=TurbineResources.getString("services.CmsService.CmsManager." + namespace + 
".domainfile");
                        Domain.init(new FileInputStream(domainFile));
                }
                catch (Exception e)
  @@ -264,7 +263,7 @@
                   throws JetspeedCMSException
        {
   
  -             Resource resource = null;
  +             SlideResource resource = null;
   
                try
                {
  @@ -285,7 +284,7 @@
                        // (based on the property class name) & an create an object 
for this resource
                        NodeProperty p = 
revisionDescriptor.getProperty(PROPERTY_CLASS_NAME);
                        String className = (String) p.getValue();
  -                     resource = (Resource) Class.forName( className ).newInstance();
  +                     resource = (SlideResource) Class.forName( className 
).newInstance();
                        resource.setUri(uri);
                        // Populate the resource properties
                        resource.setDescriptor(revisionDescriptor);
  @@ -305,8 +304,7 @@
                        // Trigger when the objectNode has not the correct properties
                        // eg. :  for a User or Action node in Slide. These type of 
node are mapped to Catalog
   
  -                     Catalog catalog = new Catalog();
  -                     catalog.setUri(uri);
  +                     Catalog catalog = (Catalog) 
CmsFactory.getCmsOmInstance("Catalog");
                    catalog.setUri(uri);
                        catalog.setLogicalName(uri);
                        catalog.setTitle(uri);
                        return catalog;
  @@ -322,21 +320,18 @@
                        // But in our case, we need different properties defined via 
the
                        // NodeRevisionDescriptor like the title, logical name, ...
   
  -                ResourceService serviceConf = 
((TurbineServices)TurbineServices.getInstance())
  -                                                                                    
          .getResources(CmsService.SERVICE_NAME);
  -
  -                     if (uri.equals(serviceConf.getString("catalog.root.uri")))
  +                 if 
(uri.equals(TurbineResources.getString("services.CmsService.catalog.root.uri")))
                        {
  -                             Catalog catalog = new Catalog();
  +                             Catalog catalog =  (Catalog) 
CmsFactory.getCmsOmInstance("Catalog");
                                catalog.setUri(uri);
  -                             
catalog.setLogicalName(serviceConf.getString("catalog.root.logicalame"));
  -                             
catalog.setTitle(serviceConf.getString("catalog.root.title"));
  +                             
catalog.setLogicalName(TurbineResources.getString("services.CmsService.catalog.root.logicalname"));
  +                             
catalog.setTitle(TurbineResources.getString("services.CmsService.catalog.root.title"));
                                return catalog;
                        }
                        else
                        {
                                // getResource called for a user/action ...
  -                             Catalog catalog = new Catalog();
  +                             Catalog catalog =  (Catalog) 
CmsFactory.getCmsOmInstance("Catalog");
                                catalog.setUri(uri);
                                catalog.setLogicalName(uri);
                                catalog.setTitle(uri);
  @@ -416,7 +411,7 @@
                        {
                                org.apache.slide.security.NodePermission node =
                                        (org.apache.slide.security.NodePermission) 
e.nextElement();
  -                             Permission p = new Permission();
  +                             Permission p = (Permission) 
CmsFactory.getCmsOmInstance("Permission");
                                p.setAction(node.getActionUri());
                                p.setActor(node.getSubjectUri());
                                p.setInheritable(node.isInheritable());
  @@ -497,7 +492,7 @@
                        structure.create(slideToken, subject, resource.getUri());
   
                        // ---- Create the new content revision descriptor
  -                     NodeRevisionDescriptor descriptor = resource.getDesciptor();
  +                     NodeRevisionDescriptor descriptor = (( SlideResource 
)resource).getDesciptor();
                        descriptor.setProperty(this.PROPERTY_CLASS_NAME,
                                                                         
resource.getClass().getName());
   
  @@ -597,7 +592,7 @@
                        structure.create(slideToken, subject, resource.getUri());
   
                        // Create the new content revision descriptor
  -                     NodeRevisionDescriptor descriptor = resource.getDesciptor();
  +                     NodeRevisionDescriptor descriptor = ((SlideResource) 
resource).getDesciptor();
                        descriptor.setProperty(this.PROPERTY_CLASS_NAME,
                                                                   
resource.getClass().getName());
   
  
  
  
  1.1                  
jakarta-jetspeed/scratchpad/jetspeed-cms/src/java/org/apache/jetspeed/services/cms/manager/CmsFactory.java
  
  Index: CmsFactory.java
  ===================================================================
  /* ====================================================================
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2000-2001 The Apache Software Foundation.  All rights
   * reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
   * are met:
   *
   * 1. Redistributions of source code must retain the above copyright
   *    notice, this list of conditions and the following disclaimer.
   *
   * 2. Redistributions in binary form must reproduce the above copyright
   *    notice, this list of conditions and the following disclaimer in
   *    the documentation and/or other materials provided with the
   *    distribution.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Apache" and "Apache Software Foundation" and
   *     "Apache Jetspeed" must not be used to endorse or promote products
   *    derived from this software without prior written permission. For
   *    written permission, please contact [EMAIL PROTECTED]
   *
   * 5. Products derived from this software may not be called "Apache" or
   *    "Apache Jetspeed", nor may "Apache" appear in their name, without
   *    prior written permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
   * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
   * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
   * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
   * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
   * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
   * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   * SUCH DAMAGE.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation.  For more
   * information on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  package org.apache.jetspeed.services.cms.manager;
  
  // JDK
  import java.util.Hashtable;
  
  // Turbine
  import org.apache.turbine.services.TurbineServices;
  import org.apache.turbine.util.TurbineException;
  import org.apache.turbine.services.resources.TurbineResources;
  
  
  //Jetspeed
  import org.apache.jetspeed.services.cms.CmsService;
  import org.apache.jetspeed.services.cms.JetspeedCMSException;
  import org.apache.jetspeed.om.cms.Resource;
  
  /**
   * Factory class for creating Jetspeed CmsManager & CMS om classes
   * The Cms classes are configured in the JR.p
   *
   * @author <a href="mailto:christophe.lombart@;skynet.be">Christophe Lombart</a>
   */
  public class CmsFactory
  {
  
      private static String cmsManagerClassName = null;
      private static Class cmsManagerClass = null;
      private static Hashtable omClasses = new Hashtable();
      
  
      /**
       * Factory method to create CmsManager instances.
       *
       * @param namespace associated to a CMS repository
       * @throws Exception when the cmsManager instance can't be created.
       * @return CmsManager a new created cmsManager.
       */
      public static CmsManager getCmsManagerInstance(String namespace)
          throws JetspeedCMSException
  
      {
          CmsManager cmsManager = null;
  
          if (null == cmsManagerClassName)
          {
              try
              {
                cmsManagerClassName = TurbineResources.getString(
                                   "services.CmsService.CmsManager." + namespace + 
".class");
                                   
                  cmsManagerClass = Class.forName(cmsManagerClassName);
              }
              catch(Exception e)
              {
                  throw new JetspeedCMSException(
                      "CmsFactory: Failed to create a CmsManager object for CMS 
implementation: " + e.toString());
              }
          }
  
          try
          {
              cmsManager = (CmsManager) cmsManagerClass.newInstance();
              cmsManager.init(namespace);
  
          }
          catch(Exception e)
          {
              throw new JetspeedCMSException("Failed instantiate an CmsManager 
implementation object: " + e.toString());
          }
  
          return cmsManager;
      }
  
      /**
       * Factory method to create Cms objects.<br>
       * It is a generic factory used to create all CMS objects.
       * The parameter is used to get the matching classe define in the JR.prop.
       * 
       * @param CmsOmName Cms object interface name
       * @throws Exception when the cms object instance can't be created.
       * @return Resource a new created cmsManager.
       */
      public static Resource getCmsOmInstance(String CmsOmName)
           throws JetspeedCMSException
      {
          Resource resource = null;
          Class omClass = (Class) omClasses.get(CmsOmName);
          
          if (null == omClass)
          {
              try
              {
                String omClassName = TurbineResources.getString(
                                   "services.CmsService.om." + CmsOmName + ".class");
                                   
                  omClass = Class.forName(omClassName);
                  omClasses.put(CmsOmName, omClass);
              }
              catch(Exception e)
              {
                  throw new JetspeedCMSException(
                      "CmsFactory: Failed to create a Cms object for : " + 
e.toString());
              }
          }
  
          try
          {
              resource = (Resource) omClass.newInstance();
  
          }
          catch(Exception e)
          {
              throw new JetspeedCMSException("Failed to instantiate an Cms 
implementation object: " + e.toString());
          }
  
          return resource;
      
      }
  
  }
  
  
  1.2       +2 -2      
jakarta-jetspeed/scratchpad/jetspeed-cms/src/java/org/apache/jetspeed/util/cms/CMSLink.java
  
  Index: CMSLink.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jetspeed/scratchpad/jetspeed-cms/src/java/org/apache/jetspeed/util/cms/CMSLink.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- CMSLink.java      29 Oct 2002 16:05:26 -0000      1.1
  +++ CMSLink.java      9 Nov 2002 19:02:53 -0000       1.2
  @@ -60,7 +60,7 @@
   import org.apache.turbine.services.TurbineServices;
   import java.util.Vector;
   
  -import org.apache.jetspeed.om.cms.slide.*;
  +import org.apache.jetspeed.om.cms.*;
   import org.apache.jetspeed.services.cms.JetspeedCMSException;
   import org.apache.jetspeed.services.cms.repository.slide.Utility;
   import org.apache.jetspeed.services.cms.CmsService;
  
  
  
  1.2       +8 -2      
jakarta-jetspeed/scratchpad/jetspeed-cms/webapp/WEB-INF/conf/CmsResources.properties
  
  Index: CmsResources.properties
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jetspeed/scratchpad/jetspeed-cms/webapp/WEB-INF/conf/CmsResources.properties,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- CmsResources.properties   29 Oct 2002 16:05:27 -0000      1.1
  +++ CmsResources.properties   9 Nov 2002 19:02:53 -0000       1.2
  @@ -8,8 +8,14 @@
   services.CmsService.classname=org.apache.jetspeed.services.cms.DefaultCmsService
   
   # CmsManager implementation used for the namespace 'Jetspeed'
  -services.CmseService.CmsManager.jetspeed.class = 
org.apache.jetspeed.services.cms.manager.CmsManagerSlideImpl
  -services.CmseService.CmsManager.jetspeed.domainfile = 
D://JavaProjects/jetspeed-cms/webapp/WEB-INF/conf/domain.xml
  +services.CmsService.CmsManager.jetspeed.class = 
org.apache.jetspeed.services.cms.manager.CmsManagerSlideImpl
  +services.CmsService.CmsManager.jetspeed.domainfile = 
D://JavaProjects/jetspeed-cms/webapp/WEB-INF/conf/domain.xml
  +
  +# Cms om implementation 
  +services.CmsService.om.Catalog.class=org.apache.jetspeed.om.cms.slide.SlideCatalog
  
+services.CmsService.om.ContentItem.class=org.apache.jetspeed.om.cms.slide.SlideContentItem
  +services.CmsService.om.Link.class=org.apache.jetspeed.om.cms.slide.SlideLink
  
+services.CmsService.om.Permission.class=org.apache.jetspeed.om.cms.slide.SlidePermission
   
   
   # Root catalog information
  
  
  
  1.2       +2 -2      
jakarta-jetspeed/scratchpad/jetspeed-cms/webapp/WEB-INF/conf/Domain.xml
  
  Index: Domain.xml
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jetspeed/scratchpad/jetspeed-cms/webapp/WEB-INF/conf/Domain.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- Domain.xml        29 Oct 2002 16:05:27 -0000      1.1
  +++ Domain.xml        9 Nov 2002 19:02:53 -0000       1.2
  @@ -3,7 +3,7 @@
   <slide logger="org.apache.slide.util.logger.SimpleLogger" logger-level="6"
    default="slide">
     
  -  <namespace name="jetspeed-content">
  +  <namespace name="jetspeed">
       
   
       <definition>
  @@ -12,7 +12,7 @@
           
        <nodestore 
classname="org.apache.jetspeed.services.cms.repository.slide.JDBCDescriptorsStore">
            <parameter name="driver">org.hsql.jdbcDriver</parameter>
  -         <parameter name="url">jdbc:HypersonicSQL:D:/MyApplication/Apache Tomcat 
4.0/webapps/jetspeed/WEB-INF/db/cms-slide</parameter>
  +         <parameter 
name="url">jdbc:HypersonicSQL:D:/JavaProjects/jetspeed-cms/webapp/WEB-INF/db/cms-slide</parameter>
            <parameter name="user">sa</parameter>
            <parameter name="password"></parameter>
           </nodestore>
  
  
  
  1.2       +2 -2      
jakarta-jetspeed/scratchpad/jetspeed-cms/webapp/WEB-INF/db/cms-slide.properties
  
  Index: cms-slide.properties
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jetspeed/scratchpad/jetspeed-cms/webapp/WEB-INF/db/cms-slide.properties,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- cms-slide.properties      29 Oct 2002 16:05:27 -0000      1.1
  +++ cms-slide.properties      9 Nov 2002 19:02:53 -0000       1.2
  @@ -1,4 +1,4 @@
   #Hypersonic SQL database
  -#Sat Oct 19 00:19:36 CEST 2002
  +#Thu Nov 07 22:28:53 CET 2002
   version=1.4
  -modified=no
  +modified=yes
  
  
  
  1.2       +2 -0      
jakarta-jetspeed/scratchpad/jetspeed-cms/webapp/WEB-INF/db/cms-slide.script
  
  Index: cms-slide.script
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jetspeed/scratchpad/jetspeed-cms/webapp/WEB-INF/db/cms-slide.script,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- cms-slide.script  29 Oct 2002 16:05:27 -0000      1.1
  +++ cms-slide.script  9 Nov 2002 19:02:53 -0000       1.2
  @@ -82,3 +82,5 @@
   INSERT INTO OBJECTS VALUES('/catalog','org.apache.slide.structure.SubjectNode')
   INSERT INTO PERMISSIONS 
VALUES('/catalog',NULL,'+/users/turbine/groups/Jetspeed','/actions',1,NULL)
   INSERT INTO REVISIONS VALUES('/catalog',0,'1.0')
  +/*C2*/CONNECT USER sa PASSWORD ""
  +SET AUTOCOMMIT FALSE
  
  
  

--
To unsubscribe, e-mail:   <mailto:jetspeed-dev-unsubscribe@;jakarta.apache.org>
For additional commands, e-mail: <mailto:jetspeed-dev-help@;jakarta.apache.org>

Reply via email to