[pal-cvs 3077] [813] added glassfish support.

Back to archive index

svnno****@sourc***** svnno****@sourc*****
2008年 2月 22日 (金) 12:08:49 JST


Revision: 813
          http://svn.sourceforge.jp/cgi-bin/viewcvs.cgi?root=pal&view=rev&rev=813
Author:   shinsuke
Date:     2008-02-22 12:08:45 +0900 (Fri, 22 Feb 2008)

Log Message:
-----------
added glassfish support.

Added Paths:
-----------
    pal-portal/trunk/components/
    pal-portal/trunk/components/jetspeed-security-glassfish/
    pal-portal/trunk/components/jetspeed-security-glassfish/.classpath
    pal-portal/trunk/components/jetspeed-security-glassfish/.project
    pal-portal/trunk/components/jetspeed-security-glassfish/lib/
    pal-portal/trunk/components/jetspeed-security-glassfish/lib/appserv-rt.jar
    pal-portal/trunk/components/jetspeed-security-glassfish/pom.xml
    pal-portal/trunk/components/jetspeed-security-glassfish/src/
    pal-portal/trunk/components/jetspeed-security-glassfish/src/main/
    pal-portal/trunk/components/jetspeed-security-glassfish/src/main/java/
    pal-portal/trunk/components/jetspeed-security-glassfish/src/main/java/org/
    pal-portal/trunk/components/jetspeed-security-glassfish/src/main/java/org/apache/
    pal-portal/trunk/components/jetspeed-security-glassfish/src/main/java/org/apache/jetspeed/
    pal-portal/trunk/components/jetspeed-security-glassfish/src/main/java/org/apache/jetspeed/security/
    pal-portal/trunk/components/jetspeed-security-glassfish/src/main/java/org/apache/jetspeed/security/impl/
    pal-portal/trunk/components/jetspeed-security-glassfish/src/main/java/org/apache/jetspeed/security/impl/GlassFishLoginModule.java
    pal-portal/trunk/components/jetspeed-security-glassfish/src/main/java/org/apache/jetspeed/security/impl/GlassFishRealm.java
    pal-portal/trunk/portal/files/components/portal/src/java/org/apache/jetspeed/container/
    pal-portal/trunk/portal/files/components/portal/src/java/org/apache/jetspeed/container/url/
    pal-portal/trunk/portal/files/components/portal/src/java/org/apache/jetspeed/container/url/impl/
    pal-portal/trunk/portal/files/components/portal/src/java/org/apache/jetspeed/container/url/impl/GlassFishPathInfoEncodingPortalURL.java
    pal-portal/trunk/portal/files/components/portal/src/java/org/apache/jetspeed/tools/
    pal-portal/trunk/portal/files/components/portal/src/java/org/apache/jetspeed/tools/pamanager/
    pal-portal/trunk/portal/files/components/portal/src/java/org/apache/jetspeed/tools/pamanager/servletcontainer/
    pal-portal/trunk/portal/files/components/portal/src/java/org/apache/jetspeed/tools/pamanager/servletcontainer/GlassFishManager.java
    pal-portal/trunk/portal/files/src/webapp/WEB-INF/sun-web.xml


-------------- next part --------------
Added: pal-portal/trunk/components/jetspeed-security-glassfish/.classpath
===================================================================
--- pal-portal/trunk/components/jetspeed-security-glassfish/.classpath	2008-02-21 12:49:34 UTC (rev 812)
+++ pal-portal/trunk/components/jetspeed-security-glassfish/.classpath	2008-02-22 03:08:45 UTC (rev 813)
@@ -0,0 +1,43 @@
+<classpath>
+  <classpathentry kind="src" path="src/main/java"/>
+  <classpathentry kind="output" path="target/classes"/>
+  <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+  <classpathentry kind="var" path="M2_REPO/ojb/db-ojb/1.0.3/db-ojb-1.0.3.jar"/>
+  <classpathentry kind="var" path="M2_REPO/javax/transaction/jta/1.0.1B/jta-1.0.1B.jar"/>
+  <classpathentry kind="var" path="M2_REPO/aopalliance/aopalliance/1.0/aopalliance-1.0.jar" sourcepath="M2_REPO/aopalliance/aopalliance/1.0/aopalliance-1.0-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/relaxngDatatype/relaxngDatatype/20020414/relaxngDatatype-20020414.jar"/>
+  <classpathentry kind="var" path="M2_REPO/junit/junit/3.8.1/junit-3.8.1.jar" sourcepath="M2_REPO/junit/junit/3.8.1/junit-3.8.1-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/isorelax/isorelax/20020414/isorelax-20020414.jar"/>
+  <classpathentry kind="var" path="M2_REPO/log4j/log4j/1.2.12/log4j-1.2.12.jar"/>
+  <classpathentry kind="var" path="M2_REPO/commons-digester/commons-digester/1.5/commons-digester-1.5.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/springframework/spring/2.0.5/spring-2.0.5.jar"/>
+  <classpathentry kind="var" path="M2_REPO/commons-lang/commons-lang/2.1/commons-lang-2.1.jar" sourcepath="M2_REPO/commons-lang/commons-lang/2.1/commons-lang-2.1-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/logkit/logkit/1.0.1/logkit-1.0.1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0.jar" sourcepath="M2_REPO/commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/commons-collections/commons-collections/3.1/commons-collections-3.1.jar" sourcepath="M2_REPO/commons-collections/commons-collections/3.1/commons-collections-3.1-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/avalon-framework/avalon-framework/4.1.3/avalon-framework-4.1.3.jar"/>
+  <classpathentry kind="var" path="M2_REPO/oro/oro/2.0.8/oro-2.0.8.jar" sourcepath="M2_REPO/oro/oro/2.0.8/oro-2.0.8-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/xerces/xercesImpl/2.3.0/xercesImpl-2.3.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/commons-beanutils/commons-beanutils-bean-collections/1.7.0/commons-beanutils-bean-collections-1.7.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/msv/msv/20020414/msv-20020414.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/portals/jetspeed-2/jetspeed-cm/2.1.3/jetspeed-cm-2.1.3.jar"/>
+  <classpathentry kind="var" path="M2_REPO/ehcache/ehcache/1.2.4/ehcache-1.2.4.jar"/>
+  <classpathentry kind="var" path="M2_REPO/commons-codec/commons-codec/1.3/commons-codec-1.3.jar" sourcepath="M2_REPO/commons-codec/commons-codec/1.3/commons-codec-1.3-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/commons-logging/commons-logging/1.1/commons-logging-1.1.jar" sourcepath="M2_REPO/commons-logging/commons-logging/1.1/commons-logging-1.1-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/javax/servlet/servlet-api/2.3/servlet-api-2.3.jar" sourcepath="M2_REPO/javax/servlet/servlet-api/2.3/servlet-api-2.3-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/commons-dbcp/commons-dbcp/1.2.2/commons-dbcp-1.2.2.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/portals/jetspeed-2/jetspeed-rdbms/2.1.3/jetspeed-rdbms-2.1.3.jar"/>
+  <classpathentry kind="var" path="M2_REPO/cglib/cglib-nodep/2.1_3/cglib-nodep-2.1_3.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/portals/jetspeed-2/jetspeed-prefs/2.1.3/jetspeed-prefs-2.1.3.jar"/>
+  <classpathentry kind="var" path="M2_REPO/commons-configuration/commons-configuration/1.1/commons-configuration-1.1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/jaxen/jaxen/1.0-FCS/jaxen-1.0-FCS.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/portals/jetspeed-2/jetspeed-api/2.1.3/jetspeed-api-2.1.3.jar"/>
+  <classpathentry kind="var" path="M2_REPO/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.jar" sourcepath="M2_REPO/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/commons-beanutils/commons-beanutils-core/1.7.0/commons-beanutils-core-1.7.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/springframework/spring-ojb/2.0-rc2/spring-ojb-2.0-rc2.jar"/>
+  <classpathentry kind="var" path="M2_REPO/dom4j/dom4j/1.4/dom4j-1.4.jar"/>
+  <classpathentry kind="var" path="M2_REPO/commons-pool/commons-pool/1.2/commons-pool-1.2.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/portals/jetspeed-2/jetspeed-security/2.1.3/jetspeed-security-2.1.3.jar"/>
+  <classpathentry kind="var" path="M2_REPO/saxpath/saxpath/1.0-FCS/saxpath-1.0-FCS.jar" sourcepath="M2_REPO/saxpath/saxpath/1.0-FCS/saxpath-1.0-FCS-sources.jar"/>
+  <classpathentry kind="lib" path="lib/appserv-rt.jar"/>
+</classpath>
\ No newline at end of file


Property changes on: pal-portal/trunk/components/jetspeed-security-glassfish/.classpath
___________________________________________________________________
Name: svn:eol-style
   + native

Added: pal-portal/trunk/components/jetspeed-security-glassfish/.project
===================================================================
--- pal-portal/trunk/components/jetspeed-security-glassfish/.project	2008-02-21 12:49:34 UTC (rev 812)
+++ pal-portal/trunk/components/jetspeed-security-glassfish/.project	2008-02-22 03:08:45 UTC (rev 813)
@@ -0,0 +1,14 @@
+<projectDescription>
+  <name>jetspeed-security-glassfish</name>
+  <comment/>
+  <projects/>
+  <buildSpec>
+    <buildCommand>
+      <name>org.eclipse.jdt.core.javabuilder</name>
+      <arguments/>
+    </buildCommand>
+  </buildSpec>
+  <natures>
+    <nature>org.eclipse.jdt.core.javanature</nature>
+  </natures>
+</projectDescription>
\ No newline at end of file


Property changes on: pal-portal/trunk/components/jetspeed-security-glassfish/.project
___________________________________________________________________
Name: svn:eol-style
   + native

Added: pal-portal/trunk/components/jetspeed-security-glassfish/lib/appserv-rt.jar
===================================================================
(Binary files differ)


Property changes on: pal-portal/trunk/components/jetspeed-security-glassfish/lib/appserv-rt.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: pal-portal/trunk/components/jetspeed-security-glassfish/pom.xml
===================================================================
--- pal-portal/trunk/components/jetspeed-security-glassfish/pom.xml	2008-02-21 12:49:34 UTC (rev 812)
+++ pal-portal/trunk/components/jetspeed-security-glassfish/pom.xml	2008-02-22 03:08:45 UTC (rev 813)
@@ -0,0 +1,36 @@
+<?xml version="1.0"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>org.apache.portals.jetspeed-2</groupId>
+  <artifactId>jetspeed-security-glassfish</artifactId>
+  <packaging>jar</packaging>
+  <version>2.1.3</version>
+  <name>jetspeed-security-glassfish</name>
+  <dependencies>
+    <dependency>
+      <groupId>com.sun.appserv</groupId>
+      <artifactId>appserv-rt</artifactId>
+      <version>2.0</version>
+      <scope>system</scope>
+      <systemPath>${basedir}/lib/appserv-rt.jar</systemPath>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.portals.jetspeed-2</groupId>
+      <artifactId>jetspeed-api</artifactId>
+      <version>2.1.3</version>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.portals.jetspeed-2</groupId>
+      <artifactId>jetspeed-security</artifactId>
+      <version>2.1.3</version>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>3.8.1</version>
+      <scope>test</scope>
+    </dependency>
+  </dependencies>
+</project>


Property changes on: pal-portal/trunk/components/jetspeed-security-glassfish/pom.xml
___________________________________________________________________
Name: svn:eol-style
   + native

Added: pal-portal/trunk/components/jetspeed-security-glassfish/src/main/java/org/apache/jetspeed/security/impl/GlassFishLoginModule.java
===================================================================
--- pal-portal/trunk/components/jetspeed-security-glassfish/src/main/java/org/apache/jetspeed/security/impl/GlassFishLoginModule.java	2008-02-21 12:49:34 UTC (rev 812)
+++ pal-portal/trunk/components/jetspeed-security-glassfish/src/main/java/org/apache/jetspeed/security/impl/GlassFishLoginModule.java	2008-02-22 03:08:45 UTC (rev 813)
@@ -0,0 +1,95 @@
+package org.apache.jetspeed.security.impl;
+
+import java.security.Principal;
+import java.util.List;
+
+import javax.security.auth.Subject;
+import javax.security.auth.login.FailedLoginException;
+import javax.security.auth.login.LoginException;
+
+import org.apache.jetspeed.security.LoginModuleProxy;
+import org.apache.jetspeed.security.RolePrincipal;
+import org.apache.jetspeed.security.SecurityException;
+import org.apache.jetspeed.security.SecurityHelper;
+import org.apache.jetspeed.security.User;
+import org.apache.jetspeed.security.UserManager;
+import org.apache.jetspeed.security.UserPrincipal;
+
+import com.sun.appserv.security.AppservPasswordLoginModule;
+
+public class GlassFishLoginModule extends AppservPasswordLoginModule {
+    /** <p>InternalUserPrincipal manager service.</p> */
+    protected UserManager userManager;
+
+    /** The portal user role. */
+    protected String portalUserRole;
+
+    public GlassFishLoginModule() {
+        LoginModuleProxy loginModuleProxy = LoginModuleProxyImpl.loginModuleProxy;
+        if (loginModuleProxy != null) {
+            this.userManager = loginModuleProxy.getUserManager();
+            this.portalUserRole = loginModuleProxy.getPortalUserRole();
+        }
+
+    }
+
+    protected void authenticateUser() throws LoginException {
+
+        refreshProxy();
+        boolean success = userManager.authenticate(_username, _password);
+        if (!success) {
+            throw new FailedLoginException(
+                    "Authentication failed: Password does not match");
+        }
+
+        try {
+            commitPrincipals(_subject, userManager.getUser(_username));
+        } catch (SecurityException e) {
+            throw new LoginException(e.getMessage());
+        }
+
+    }
+
+    protected void refreshProxy() {
+        if (this.userManager == null) {
+            LoginModuleProxy loginModuleProxy = LoginModuleProxyImpl.loginModuleProxy;
+            if (loginModuleProxy != null) {
+                this.userManager = loginModuleProxy.getUserManager();
+            }
+        }
+    }
+
+    protected void commitPrincipals(Subject subject, User user) {
+        // add user specific portal user name and roles
+        subject.getPrincipals().add(getUserPrincipal(user));
+        subject.getPrincipals().addAll(getUserRolePrincipals(user));
+
+        // add portal user role: used in web.xml authorization to
+        // detect authenticated portal users
+        subject.getPrincipals().add(new RolePrincipalImpl(portalUserRole));
+
+        commitUserAuthentication(getUserRoles(user));
+    }
+
+    protected Principal getUserPrincipal(User user) {
+        return SecurityHelper.getPrincipal(user.getSubject(),
+                UserPrincipal.class);
+    }
+
+    protected List getUserRolePrincipals(User user) {
+        return SecurityHelper.getPrincipals(user.getSubject(),
+                RolePrincipal.class);
+    }
+
+    protected String[] getUserRoles(User user) {
+        List rolePrincipals = getUserRolePrincipals(user);
+        int size = rolePrincipals.size() + 1;
+        String[] roles = new String[size];
+        for (int i = 0; i < size - 1; i++) {
+            roles[i] = ((Principal) rolePrincipals.get(i)).getName();
+        }
+        roles[size -1] = portalUserRole;
+        return roles;
+    }
+
+}


Property changes on: pal-portal/trunk/components/jetspeed-security-glassfish/src/main/java/org/apache/jetspeed/security/impl/GlassFishLoginModule.java
___________________________________________________________________
Name: svn:eol-style
   + native

Added: pal-portal/trunk/components/jetspeed-security-glassfish/src/main/java/org/apache/jetspeed/security/impl/GlassFishRealm.java
===================================================================
--- pal-portal/trunk/components/jetspeed-security-glassfish/src/main/java/org/apache/jetspeed/security/impl/GlassFishRealm.java	2008-02-21 12:49:34 UTC (rev 812)
+++ pal-portal/trunk/components/jetspeed-security-glassfish/src/main/java/org/apache/jetspeed/security/impl/GlassFishRealm.java	2008-02-22 03:08:45 UTC (rev 813)
@@ -0,0 +1,74 @@
+package org.apache.jetspeed.security.impl;
+
+import java.util.Enumeration;
+import java.util.Properties;
+
+import com.sun.appserv.security.AppservRealm;
+import com.sun.enterprise.security.auth.realm.BadRealmException;
+import com.sun.enterprise.security.auth.realm.InvalidOperationException;
+import com.sun.enterprise.security.auth.realm.NoSuchRealmException;
+import com.sun.enterprise.security.auth.realm.NoSuchUserException;
+
+public class GlassFishRealm extends AppservRealm {
+    private static String AUTH_TYPE = "Jetspeed";
+
+    private static String AUTH_TYPE_PARAM = "auth-type";
+
+    private String authType = null;
+
+    //    protected UserManager userManager;
+
+    public GlassFishRealm() {
+        //        LoginModuleProxy loginModuleProxy = LoginModuleProxyImpl.loginModuleProxy;
+        //        if (loginModuleProxy != null) {
+        //            this.userManager = loginModuleProxy.getUserManager();
+        //        }
+    }
+
+    protected void init(Properties props) throws BadRealmException,
+            NoSuchRealmException {
+        super.init(props);
+
+        String jaasCtx = props.getProperty(AppservRealm.JAAS_CONTEXT_PARAM);
+        this.setProperty(AppservRealm.JAAS_CONTEXT_PARAM, jaasCtx);
+
+        String authTypeProp = props.getProperty(AUTH_TYPE_PARAM);
+        if (authTypeProp != null) {
+            this.authType = authTypeProp;
+        } else {
+            this.authType = AUTH_TYPE;
+        }
+    }
+
+    public String getAuthType() {
+        return authType;
+    }
+
+    public Enumeration getGroupNames(String arg0)
+            throws InvalidOperationException, NoSuchUserException {
+        //        try {
+        //            List rolePrincipals = getUserRolePrincipals(userManager
+        //                    .getUser(arg0));
+        //            int size = rolePrincipals.size();
+        //            Vector roles = new Vector();
+        //            for (int i = 0; i < size; i++) {
+        //                roles.add(((Principal) rolePrincipals.get(i)).getName());
+        //            }
+        //            return roles.elements();
+        //        } catch (SecurityException e) {
+        //            throw new NoSuchUserException(e.getMessage());
+        //        }
+        try {
+            throw new Exception();
+        } catch (Exception e) {
+            System.out.println("CHECK: Stacktrace...");
+            e.printStackTrace();
+        }
+        return null;
+    }
+
+    //    protected List getUserRolePrincipals(User user) {
+    //        return SecurityHelper.getPrincipals(user.getSubject(),
+    //                RolePrincipal.class);
+    //    }
+}


Property changes on: pal-portal/trunk/components/jetspeed-security-glassfish/src/main/java/org/apache/jetspeed/security/impl/GlassFishRealm.java
___________________________________________________________________
Name: svn:eol-style
   + native

Added: pal-portal/trunk/portal/files/components/portal/src/java/org/apache/jetspeed/container/url/impl/GlassFishPathInfoEncodingPortalURL.java
===================================================================
--- pal-portal/trunk/portal/files/components/portal/src/java/org/apache/jetspeed/container/url/impl/GlassFishPathInfoEncodingPortalURL.java	2008-02-21 12:49:34 UTC (rev 812)
+++ pal-portal/trunk/portal/files/components/portal/src/java/org/apache/jetspeed/container/url/impl/GlassFishPathInfoEncodingPortalURL.java	2008-02-22 03:08:45 UTC (rev 813)
@@ -0,0 +1,121 @@
+package org.apache.jetspeed.container.url.impl;
+
+import java.io.UnsupportedEncodingException;
+import java.util.Map;
+import java.util.StringTokenizer;
+
+import javax.portlet.PortletMode;
+import javax.portlet.WindowState;
+import javax.servlet.http.HttpServletRequest;
+
+import org.apache.jetspeed.PortalContext;
+import org.apache.jetspeed.container.state.NavigationalState;
+import org.apache.jetspeed.container.url.BasePortalURL;
+import org.apache.pluto.om.window.PortletWindow;
+
+public class GlassFishPathInfoEncodingPortalURL extends AbstractPortalURL {
+    public GlassFishPathInfoEncodingPortalURL(NavigationalState navState,
+            PortalContext portalContext, BasePortalURL base) {
+        super(navState, portalContext, base);
+    }
+
+    public GlassFishPathInfoEncodingPortalURL(NavigationalState navState,
+            PortalContext portalContext) {
+        super(navState, portalContext);
+    }
+
+    public GlassFishPathInfoEncodingPortalURL(String characterEncoding,
+            NavigationalState navState, PortalContext portalContext) {
+        super(characterEncoding, navState, portalContext);
+    }
+
+    public GlassFishPathInfoEncodingPortalURL(HttpServletRequest request,
+            String characterEncoding, NavigationalState navState,
+            PortalContext portalContext) {
+        super(request, characterEncoding, navState, portalContext);
+    }
+
+    protected String getNavigationalStateParameterSeparator() {
+        return "-";
+    }
+
+    public String createNavigationalEncoding(PortletWindow window,
+            Map parameters, PortletMode mode, WindowState state, boolean action) {
+        try {
+            return getNavigationalStateParameterName()
+                    + getNavigationalStateParameterSeparator()
+                    + getNavigationalState().encode(window, parameters, mode,
+                            state, action);
+        } catch (UnsupportedEncodingException e) {
+            e.printStackTrace();
+            return "";
+        }
+    }
+
+    public String createNavigationalEncoding(PortletWindow window,
+            PortletMode mode, WindowState state) {
+        try {
+            return getNavigationalStateParameterName()
+                    + getNavigationalStateParameterSeparator()
+                    + getNavigationalState().encode(window, mode, state);
+        } catch (UnsupportedEncodingException e) {
+            e.printStackTrace();
+            return "";
+        }
+    }
+
+    protected void decodePathAndNavigationalState(HttpServletRequest request) {
+        String path = null;
+        String encodedNavState = null;
+
+        String pathInfo = request.getPathInfo();
+        if (pathInfo != null) {
+            StringTokenizer tokenizer = new StringTokenizer(request
+                    .getPathInfo(), "/");
+            StringBuffer buffer = new StringBuffer();
+            String token;
+            boolean foundNavState = false;
+            String navStatePrefix = getNavigationalStateParameterName()
+                    + getNavigationalStateParameterSeparator();
+            while (tokenizer.hasMoreTokens()) {
+                token = tokenizer.nextToken();
+                if (!foundNavState && token.startsWith(navStatePrefix)) {
+                    foundNavState = true;
+                    if (token.length() > navStatePrefix.length()) {
+                        encodedNavState = token.substring(navStatePrefix
+                                .length());
+                    }
+                } else {
+                    buffer.append("/");
+                    buffer.append(token);
+                }
+            }
+            if (buffer.length() > 0) {
+                path = buffer.toString();
+            } else {
+                path = "/";
+            }
+        }
+        setPath(path);
+        setEncodedNavigationalState(encodedNavState);
+    }
+
+    protected String createPortletURL(String encodedNavState, boolean secure) {
+        StringBuffer buffer = new StringBuffer(getBaseURL(secure));
+        buffer.append(getBasePath());
+        if (encodedNavState != null) {
+            buffer.append("/");
+            buffer.append(getNavigationalStateParameterName());
+            buffer.append(getNavigationalStateParameterSeparator());
+            buffer.append(encodedNavState);
+        }
+        if (getPath() != null) {
+            buffer.append(getPath());
+        }
+        return buffer.toString();
+    }
+
+    public boolean isPathInfoEncodingNavState() {
+        return true;
+    }
+}


Property changes on: pal-portal/trunk/portal/files/components/portal/src/java/org/apache/jetspeed/container/url/impl/GlassFishPathInfoEncodingPortalURL.java
___________________________________________________________________
Name: svn:eol-style
   + native

Added: pal-portal/trunk/portal/files/components/portal/src/java/org/apache/jetspeed/tools/pamanager/servletcontainer/GlassFishManager.java
===================================================================
--- pal-portal/trunk/portal/files/components/portal/src/java/org/apache/jetspeed/tools/pamanager/servletcontainer/GlassFishManager.java	2008-02-21 12:49:34 UTC (rev 812)
+++ pal-portal/trunk/portal/files/components/portal/src/java/org/apache/jetspeed/tools/pamanager/servletcontainer/GlassFishManager.java	2008-02-22 03:08:45 UTC (rev 813)
@@ -0,0 +1,88 @@
+package org.apache.jetspeed.tools.pamanager.servletcontainer;
+
+import java.io.IOException;
+import java.io.InputStream;
+
+public class GlassFishManager implements ApplicationServerManager {
+
+    /* (non-Javadoc)
+     * @see org.apache.jetspeed.tools.pamanager.servletcontainer.ApplicationServerManager#start(java.lang.String)
+     */
+    public ApplicationServerManagerResult start(String appPath)
+            throws IOException {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
+    /* (non-Javadoc)
+     * @see org.apache.jetspeed.tools.pamanager.servletcontainer.ApplicationServerManager#stop(java.lang.String)
+     */
+    public ApplicationServerManagerResult stop(String appPath)
+            throws IOException {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
+    /* (non-Javadoc)
+     * @see org.apache.jetspeed.tools.pamanager.servletcontainer.ApplicationServerManager#reload(java.lang.String)
+     */
+    public ApplicationServerManagerResult reload(String appPath)
+            throws IOException {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
+    /* (non-Javadoc)
+     * @see org.apache.jetspeed.tools.pamanager.servletcontainer.ApplicationServerManager#undeploy(java.lang.String)
+     */
+    public ApplicationServerManagerResult undeploy(String appPath)
+            throws IOException {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
+    /* (non-Javadoc)
+     * @see org.apache.jetspeed.tools.pamanager.servletcontainer.ApplicationServerManager#deploy(java.lang.String, java.io.InputStream, int)
+     */
+    public ApplicationServerManagerResult deploy(String appPath,
+            InputStream is, int size) throws IOException {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
+    /* (non-Javadoc)
+     * @see org.apache.jetspeed.tools.pamanager.servletcontainer.ApplicationServerManager#getHostPort()
+     */
+    public int getHostPort() {
+        // TODO Auto-generated method stub
+        return 0;
+    }
+
+    /* (non-Javadoc)
+     * @see org.apache.jetspeed.tools.pamanager.servletcontainer.ApplicationServerManager#getHostUrl()
+     */
+    public String getHostUrl() {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
+    /* (non-Javadoc)
+     * @see org.apache.jetspeed.tools.pamanager.servletcontainer.ApplicationServerManager#isConnected()
+     */
+    public boolean isConnected() {
+        // TODO Auto-generated method stub
+        return false;
+    }
+
+    /* (non-Javadoc)
+     * @see groovy.swing.impl.Startable#start()
+     */
+    public void start() {
+        // TODO Auto-generated method stub
+
+    }
+
+    public String getAppServerTarget(String appName) {
+        return appName + ".war";
+    }
+}


Property changes on: pal-portal/trunk/portal/files/components/portal/src/java/org/apache/jetspeed/tools/pamanager/servletcontainer/GlassFishManager.java
___________________________________________________________________
Name: svn:eol-style
   + native

Added: pal-portal/trunk/portal/files/src/webapp/WEB-INF/sun-web.xml
===================================================================
--- pal-portal/trunk/portal/files/src/webapp/WEB-INF/sun-web.xml	2008-02-21 12:49:34 UTC (rev 812)
+++ pal-portal/trunk/portal/files/src/webapp/WEB-INF/sun-web.xml	2008-02-22 03:08:45 UTC (rev 813)
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE sun-web-app PUBLIC "-//Sun Microsystems, Inc.//DTD
+Application Server 9.0 Servlet 2.5//EN" "http://www.sun.com/software/appserver/dtds/sun-web-app_2_5-0.dtd">
+<sun-web-app>
+  <security-role-mapping>
+    <role-name>portal-user</role-name>
+    <principal-name>portal-user</principal-name>
+    <group-name>portal-user</group-name>
+  </security-role-mapping>
+  <security-role-mapping>
+    <role-name>admin</role-name>
+    <principal-name>admin</principal-name>
+    <group-name>admin</group-name>
+  </security-role-mapping>
+  <class-loader delegate="false"/>
+</sun-web-app>


Property changes on: pal-portal/trunk/portal/files/src/webapp/WEB-INF/sun-web.xml
___________________________________________________________________
Name: svn:eol-style
   + native


pal-cvs メーリングリストの案内
Back to archive index