You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jetspeed-dev@portals.apache.org by ta...@apache.org on 2004/11/12 07:30:40 UTC

cvs commit: jakarta-jetspeed-2/components/web-content .project .classpath project.xml

taylor      2004/11/11 22:30:40

  Modified:    components/web-content project.xml
  Added:       components/web-content/src/java/org/apache/jetspeed/portlet
                        IFrameGenericPortlet.java
               components/web-content .project .classpath
  Log:
  rewrite of IFramePortlet to meet external requirements
  
  Revision  Changes    Path
  1.1                  jakarta-jetspeed-2/components/web-content/src/java/org/apache/jetspeed/portlet/IFrameGenericPortlet.java
  
  Index: IFrameGenericPortlet.java
  ===================================================================
  /*
   * Copyright 2000-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.jetspeed.portlet;
  
  import java.io.IOException;
  import java.util.HashMap;
  import java.util.Iterator;
  import java.util.Map;
  
  import javax.portlet.ActionRequest;
  import javax.portlet.ActionResponse;
  import javax.portlet.PortletConfig;
  import javax.portlet.PortletException;
  import javax.portlet.PortletMode;
  import javax.portlet.PortletPreferences;
  import javax.portlet.RenderRequest;
  import javax.portlet.RenderResponse;
  import javax.portlet.WindowState;
  
  import org.apache.portals.bridges.velocity.GenericVelocityPortlet;
  import org.apache.velocity.context.Context;
  
  import org.apache.portals.bridges.util.PreferencesHelper;
  
  
  /**
   * IFrameGenericPortlet
   * 
   * @author <a href="mailto:taylor@apache.org">David Sean Taylor </a>
   * @version $Id: IFrameGenericPortlet.java,v 1.1 2004/11/12 06:30:40 taylor Exp $
   */
  public class IFrameGenericPortlet extends GenericVelocityPortlet
  {
      private Map attributes = new HashMap();
  
      private Map maxAttributes = new HashMap();
  
      public void init(PortletConfig config) throws PortletException
      {
          super.init(config);
          attributes.put("SRC", "http://www.apache.org");
          attributes.put("ALIGN", "BOTTOM");
          attributes.put("CLASS", "");
          attributes.put("FRAMEBORDER", "0");
          attributes.put("ID", "");
          attributes.put("MARGINHEIGHT", "0");
          attributes.put("MARGINWIDTH", "0");
          attributes.put("NAME", "");
  
          attributes.put("HEIGHT", "100%");
          attributes.put("WIDTH", "100%");
          attributes.put("SCROLLING", "NO");
          attributes.put("STYLE", "");
  
          maxAttributes.put("HEIGHT", "800");
          maxAttributes.put("WIDTH", "100%");
          maxAttributes.put("SCROLLING", "AUTO");
          maxAttributes.put("STYLE", "");
      }
  
      private String getAttributePreference(PortletPreferences prefs, String attribute)
      {
          return this.getMappedAttributePreference(prefs, attribute, attributes);
      }
  
      private String getMaxAttributePreference(PortletPreferences prefs, String attribute)
      {
          return this.getMappedAttributePreference(prefs, "MAX-" + attribute, maxAttributes);
      }
  
      private String getMappedAttributePreference(PortletPreferences prefs, String attribute, Map map)
      {
          return prefs.getValue(attribute, (String) map.get(attribute));
      }
  
      private void appendAttribute(PortletPreferences prefs, StringBuffer content, String attribute, Map map)
      {
          String value;
          
          if (map == maxAttributes)
              value = getMaxAttributePreference(prefs, attribute);
          else
              value = getAttributePreference(prefs, attribute);
          
          System.out.println("ATT = " + attribute + "VALUE = " + value);
          if (value == null || value == "") { return; }
          content.append(" ").append(attribute).append("=\"").append(value).append("\"");
      }
  
      private void appendAttribute(PortletPreferences prefs, StringBuffer content, String attribute)
      {
          appendAttribute(prefs, content, attribute, attributes);
      }
  
      private void appendMaxAttribute(PortletPreferences prefs, StringBuffer content, String attribute)
      {
          appendAttribute(prefs, content, attribute, maxAttributes);
      }
  
      public void doView(RenderRequest request, RenderResponse response) throws PortletException, IOException
      {
          doIFrame(request, response);
      }
  
      public void doEdit(RenderRequest request, RenderResponse response) throws PortletException, IOException
      {
          Context context = getContext(request);
          PortletPreferences prefs = request.getPreferences();
          Iterator it = prefs.getMap().entrySet().iterator();
          context.put("prefs", it);
          super.doEdit(request, response);
      }
      
      /**
       * Render IFRAME content
       */
      protected void doIFrame(RenderRequest request, RenderResponse response) throws IOException
      {
          PortletPreferences prefs = request.getPreferences();
          // generate HTML IFRAME content
          StringBuffer content = new StringBuffer(4096);
          content.append("<IFRAME");
          appendAttribute(prefs, content, "SRC");
          appendAttribute(prefs, content, "ALIGN");
          appendAttribute(prefs, content, "CLASS");
          appendAttribute(prefs, content, "FRAMEBORDER");
          appendAttribute(prefs, content, "ID");
          appendAttribute(prefs, content, "MARGINHEIGHT");
          appendAttribute(prefs, content, "MARGINWIDTH");
          appendAttribute(prefs, content, "NAME");
          if (request.getWindowState().equals(WindowState.MAXIMIZED))
          {
              appendMaxAttribute(prefs, content, "HEIGHT");
              appendMaxAttribute(prefs, content, "WIDTH");
              appendMaxAttribute(prefs, content, "SCROLLING");
              appendMaxAttribute(prefs, content, "STYLE");
          }
          else
          {
              appendAttribute(prefs, content, "HEIGHT");
              appendAttribute(prefs, content, "WIDTH");
              appendAttribute(prefs, content, "SCROLLING");
              appendAttribute(prefs, content, "STYLE");
          }
          content.append(">");
          content.append("<P STYLE=\"textAlign:center\"><A HREF=\"").append(getAttributePreference(prefs, "SRC")).append(
                  "\">").append(getAttributePreference(prefs, "SRC")).append("</A></P>");
          content.append("</IFRAME>");
  
          // set required content type and write HTML IFRAME content
          response.setContentType("text/html");
          response.getWriter().print(content.toString());
      }
  
      /**
       * Save the prefs
       */
      public void processAction(ActionRequest request, ActionResponse actionResponse)
      throws PortletException, IOException
      {
          PortletPreferences prefs = request.getPreferences();
          PreferencesHelper.requestParamsToPreferences(request);
          prefs.store();
          actionResponse.setPortletMode(PortletMode.VIEW);
      }
      
  }
  
  
  1.4       +33 -0     jakarta-jetspeed-2/components/web-content/project.xml
  
  Index: project.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-jetspeed-2/components/web-content/project.xml,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- project.xml	13 Oct 2004 20:01:45 -0000	1.3
  +++ project.xml	12 Nov 2004 06:30:40 -0000	1.4
  @@ -93,6 +93,39 @@
         <groupId>pluto</groupId>
         <version>1.0.1-rc1</version>
       </dependency>
  +
  +    <dependency>
  +      <id>velocity</id>
  +      <version>1.4</version>
  +      <properties>
  +        <war.bundle>true</war.bundle>
  +      </properties>      
  +    </dependency>
  +    <dependency>
  +      <id>velocity-tools:velocity-tools-view</id>
  +      <version>1.1-beta1</version>
  +      <url>http://jakarta.apache.org/velocity</url>
  +      <properties>
  +        <war.bundle>true</war.bundle>
  +      </properties>      
  +    </dependency>    
  +    <dependency>
  +      <groupId>portals-bridges</groupId>
  +      <artifactId>portals-bridges-velocity</artifactId>
  +      <version>0.1</version>
  +      <properties>
  +        <war.bundle>true</war.bundle>
  +      </properties>
  +    </dependency>	
  +    <dependency>
  +      <groupId>portals-bridges</groupId>
  +      <artifactId>portals-bridges-common</artifactId>
  +      <version>0.1</version>
  +      <properties>
  +        <war.bundle>true</war.bundle>
  +      </properties>
  +    </dependency>	
  +
       <dependency>
         <!-- portlet-api.jar must be in %MAVEN_HOME%respository/portlet-api/jars -->
         <id>portlet-api</id>
  
  
  
  1.1                  jakarta-jetspeed-2/components/web-content/.project
  
  Index: .project
  ===================================================================
  <?xml version="1.0" encoding="UTF-8"?>
  
  <projectDescription>
    <name>jetspeed-web-content</name>
    <comment>Web content service and portlet implementations.</comment>
    <projects>
    </projects>
    <buildSpec>
      <buildCommand>
        <name>org.eclipse.jdt.core.javabuilder</name>
        <arguments>
        </arguments>
      </buildCommand>
    </buildSpec>
    <natures>
      <nature>org.eclipse.jdt.core.javanature</nature>
    </natures>
  </projectDescription>
  
  
  1.1                  jakarta-jetspeed-2/components/web-content/.classpath
  
  Index: .classpath
  ===================================================================
  <?xml version="1.0" encoding="UTF-8"?>
  
  <classpath>
    <classpathentry excluding="" kind="src" path="src\java">
    </classpathentry>
    <classpathentry output="target\test-classes" kind="src" path="src\test">
    </classpathentry>
    <classpathentry kind="var" path="MAVEN_REPO/junit/jars/junit-3.8.1.jar">
    </classpathentry>
    <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER">
    </classpathentry>
    <classpathentry kind="var" path="MAVEN_REPO/cglib/jars/cglib-2.0.1.jar">
    </classpathentry>
    <classpathentry kind="var" path="MAVEN_REPO/springframework/jars/spring-core-1.1.1.jar">
    </classpathentry>
    <classpathentry kind="var" path="MAVEN_REPO/springframework/jars/spring-aop-1.1.1.jar">
    </classpathentry>
    <classpathentry kind="var" path="MAVEN_REPO/springframework/jars/spring-context-1.1.1.jar">
    </classpathentry>
    <classpathentry kind="var" path="MAVEN_REPO/springframework/jars/spring-dao-1.1.1.jar">
    </classpathentry>
    <classpathentry kind="var" path="MAVEN_REPO/springframework/jars/spring-orm-1.1.1.jar">
    </classpathentry>
    <classpathentry kind="var" path="MAVEN_REPO/aopalliance/jars/aopalliance-1.0.jar">
    </classpathentry>
    <classpathentry kind="var" path="MAVEN_REPO/oro/jars/oro-2.0.7.jar">
    </classpathentry>
    <classpathentry kind="var" path="MAVEN_REPO/jetspeed2/jars/jetspeed-commons-2.0-a1-dev.jar">
    </classpathentry>
    <classpathentry kind="var" path="MAVEN_REPO/commons-httpclient/jars/commons-httpclient-2.0.jar">
    </classpathentry>
    <classpathentry kind="var" path="MAVEN_REPO/commons-lang/jars/commons-lang-2.0.jar">
    </classpathentry>
    <classpathentry kind="var" path="MAVEN_REPO/commons-logging/jars/commons-logging-1.0.3.jar">
    </classpathentry>
    <classpathentry kind="var" path="MAVEN_REPO/commons-beanutils/jars/commons-beanutils-1.6.1.jar">
    </classpathentry>
    <classpathentry kind="var" path="MAVEN_REPO/commons-configuration/jars/commons-configuration-1.0-dev.jar">
    </classpathentry>
    <classpathentry kind="var" path="MAVEN_REPO/log4j/jars/log4j-1.2.6.jar">
    </classpathentry>
    <classpathentry kind="var" path="MAVEN_REPO/commons-collections/jars/commons-collections-3.0.jar">
    </classpathentry>
    <classpathentry kind="var" path="MAVEN_REPO/commons-io/jars/commons-io-0.1.jar">
    </classpathentry>
    <classpathentry kind="var" path="MAVEN_REPO/xerces/jars/xerces-2.3.0.jar">
    </classpathentry>
    <classpathentry kind="var" path="MAVEN_REPO/xml-apis/jars/xml-apis-2.0.2.jar">
    </classpathentry>
    <classpathentry kind="var" path="MAVEN_REPO/pluto/jars/pluto-1.0.1-rc1.jar">
    </classpathentry>
    <classpathentry kind="var" path="MAVEN_REPO/velocity/jars/velocity-1.4.jar">
    </classpathentry>
    <classpathentry kind="var" path="MAVEN_REPO/velocity-tools/jars/velocity-tools-view-1.1-beta1.jar">
    </classpathentry>
    <classpathentry kind="var" path="MAVEN_REPO/portals-bridges/jars/portals-bridges-velocity-0.1.jar">
    </classpathentry>
    <classpathentry kind="var" path="MAVEN_REPO/portals-bridges/jars/portals-bridges-common-0.1.jar">
    </classpathentry>
    <classpathentry kind="var" path="MAVEN_REPO/portlet-api/jars/portlet-api-1.0.jar">
    </classpathentry>
    <classpathentry kind="var" path="MAVEN_REPO/servletapi/jars/servletapi-2.3.jar">
    </classpathentry>
    <classpathentry kind="var" path="MAVEN_REPO/hsqldb/jars/hsqldb-1.7.1.jar">
    </classpathentry>
    <classpathentry kind="output" path="target\classes">
    </classpathentry>
  </classpath>
  
  

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