You are viewing a plain text version of this content. The canonical link for it is here.
Posted to general@portals.apache.org by dd...@apache.org on 2009/01/16 11:43:09 UTC
svn commit: r734964 - in /portals/applications: ./ demo/
demo/src/main/webapp/WEB-INF/ gems/
gems/src/main/java/org/apache/portals/gems/browser/ rss/ rss/rss-jar/
rss/rss-war/
Author: ddam
Date: Fri Jan 16 02:43:00 2009
New Revision: 734964
URL: http://svn.apache.org/viewvc?rev=734964&view=rev
Log:
JS2-907 : changes necessary for refactored SSO implementation
- also fixed a bug in BrowserPorltlet and fixed some dependency problems
Modified:
portals/applications/ (props changed)
portals/applications/.project
portals/applications/demo/ (props changed)
portals/applications/demo/pom.xml
portals/applications/demo/src/main/webapp/WEB-INF/jetspeed-portlet.xml
portals/applications/gems/ (props changed)
portals/applications/gems/.classpath
portals/applications/gems/.project
portals/applications/gems/pom.xml
portals/applications/gems/src/main/java/org/apache/portals/gems/browser/BrowserPortlet.java
portals/applications/gems/src/main/java/org/apache/portals/gems/browser/DatabaseBrowserPortlet.java
portals/applications/pom.xml
portals/applications/rss/ (props changed)
portals/applications/rss/rss-jar/ (props changed)
portals/applications/rss/rss-war/ (props changed)
Propchange: portals/applications/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Fri Jan 16 02:43:00 2009
@@ -0,0 +1,4 @@
+.settings
+bin
+target
+.classpath
Modified: portals/applications/.project
URL: http://svn.apache.org/viewvc/portals/applications/.project?rev=734964&r1=734963&r2=734964&view=diff
==============================================================================
--- portals/applications/.project (original)
+++ portals/applications/.project Fri Jan 16 02:43:00 2009
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
- <name>applications</name>
+ <name>applications2</name>
<comment></comment>
<projects>
</projects>
@@ -10,8 +10,14 @@
<arguments>
</arguments>
</buildCommand>
+ <buildCommand>
+ <name>org.maven.ide.eclipse.maven2Builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.maven.ide.eclipse.maven2Nature</nature>
</natures>
</projectDescription>
Propchange: portals/applications/demo/
------------------------------------------------------------------------------
--- svn:ignore (original)
+++ svn:ignore Fri Jan 16 02:43:00 2009
@@ -1,6 +1,6 @@
-
target
*.log
.project
.classpath
jcoverage.ser
+.settings
Modified: portals/applications/demo/pom.xml
URL: http://svn.apache.org/viewvc/portals/applications/demo/pom.xml?rev=734964&r1=734963&r2=734964&view=diff
==============================================================================
--- portals/applications/demo/pom.xml (original)
+++ portals/applications/demo/pom.xml Fri Jan 16 02:43:00 2009
@@ -51,6 +51,13 @@
<artifactId>velocity</artifactId>
</dependency>
+ <dependency>
+ <groupId>org.apache.portals.jetspeed-2</groupId>
+ <artifactId>jetspeed-api</artifactId>
+ <version>2.2-SNAPSHOT</version>
+ <scope>provided</scope>
+ </dependency>
+
<!-- Runtime Dependencies -->
<dependency>
<groupId>org.apache.portals.jetspeed-2</groupId>
@@ -58,13 +65,11 @@
<version>2.2-SNAPSHOT</version>
<scope>runtime</scope>
</dependency>
- <!-- FIXME:
<dependency>
- <groupId>${pom.groupId}</groupId>
+ <groupId>org.apache.portals.applications</groupId>
<artifactId>portals-gems</artifactId>
<scope>runtime</scope>
</dependency>
- -->
<dependency>
<groupId>org.apache.portals.jetspeed-2</groupId>
<artifactId>jetspeed-web-content</artifactId>
@@ -162,4 +167,4 @@
<url>http://svn.apache.org/viewcvs.cgi/portals/jetspeed-2/trunk/applications/demo/</url>
</scm>
-</project>
+</project>
\ No newline at end of file
Modified: portals/applications/demo/src/main/webapp/WEB-INF/jetspeed-portlet.xml
URL: http://svn.apache.org/viewvc/portals/applications/demo/src/main/webapp/WEB-INF/jetspeed-portlet.xml?rev=734964&r1=734963&r2=734964&view=diff
==============================================================================
--- portals/applications/demo/src/main/webapp/WEB-INF/jetspeed-portlet.xml (original)
+++ portals/applications/demo/src/main/webapp/WEB-INF/jetspeed-portlet.xml Fri Jan 16 02:43:00 2009
@@ -238,9 +238,11 @@
cached portlets are not required to refresh while navigating around -->
<js:metadata name="nonStandardAction">true</js:metadata>
</portlet>
-
- <js:services>
- <js:service name='SSO'/>
- </js:services>
-
-</portlet-app>
+
+ <js:services>
+ <js:service name='PortalConfiguration'/>
+ <js:service name='SSO'/>
+ <js:service name='UserManager'/>
+ </js:services>
+
+</portlet-app>
\ No newline at end of file
Propchange: portals/applications/gems/
------------------------------------------------------------------------------
--- svn:ignore (original)
+++ svn:ignore Fri Jan 16 02:43:00 2009
@@ -1,3 +1,4 @@
maven.log
target
jcoverage.ser
+.settings
Modified: portals/applications/gems/.classpath
URL: http://svn.apache.org/viewvc/portals/applications/gems/.classpath?rev=734964&r1=734963&r2=734964&view=diff
==============================================================================
--- portals/applications/gems/.classpath (original)
+++ portals/applications/gems/.classpath Fri Jan 16 02:43:00 2009
@@ -1,36 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
<classpath>
- <classpathentry kind="src" path="src/java"/>
- <classpathentry kind="output" path="target/classes"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
- <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/commons-pool/commons-pool/1.3/commons-pool-1.3.jar"/>
- <classpathentry kind="var" path="M2_REPO/commons-httpclient/commons-httpclient/3.0.1/commons-httpclient-3.0.1.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/commons-codec/commons-codec/1.3/commons-codec-1.3.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">
- <attributes>
- <attribute value="jar:file://Users/dtaylor/.m2/repository/commons-lang/commons-lang/2.1/commons-lang-2.1-javadoc.jar!/" name="javadoc_location"/>
- </attributes>
- </classpathentry>
- <classpathentry kind="var" path="M2_REPO/javax/portlet/portlet-api/2.0/portlet-api-2.0.jar"/>
- <classpathentry kind="var" path="M2_REPO/javax/servlet/servlet-api/2.4/servlet-api-2.4.jar"/>
- <classpathentry kind="var" path="M2_REPO/javax/servlet/jsp/jsp-api/2.0/jsp-api-2.0.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/org/apache/pluto/pluto-container-api/2.0.0-SNAPSHOT/pluto-container-api-2.0.0-SNAPSHOT.jar" sourcepath="M2_REPO/org/apache/pluto/pluto-container-api/2.0.0-SNAPSHOT/pluto-container-api-2.0.0-SNAPSHOT-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/apache/poi/poi/3.0-FINAL/poi-3.0-FINAL.jar"/>
- <classpathentry kind="var" path="M2_REPO/log4j/log4j/1.2.14/log4j-1.2.14.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/apache/portals/bridges/portals-bridges-common/1.0.4/portals-bridges-common-1.0.4.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/apache/portals/bridges/portals-bridges-velocity/1.0.4/portals-bridges-velocity-1.0.4.jar"/>
- <classpathentry kind="var" path="M2_REPO/velocity/velocity/1.5/velocity-1.5.jar"/>
- <classpathentry kind="var" path="M2_REPO/commons-collections/commons-collections/3.2/commons-collections-3.2.jar"/>
- <classpathentry kind="var" path="M2_REPO/oro/oro/2.0.8/oro-2.0.8.jar"/>
- <classpathentry kind="var" path="M2_REPO/velocity-tools/velocity-tools/1.3/velocity-tools-1.3.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/apache/portals/jetspeed-2/jetspeed-api/2.2-SNAPSHOT/jetspeed-api-2.2-SNAPSHOT.jar" sourcepath="M2_REPO/org/apache/portals/jetspeed-2/jetspeed-api/2.2-SNAPSHOT/jetspeed-api-2.2-SNAPSHOT-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/apache/portals/jetspeed-2/jetspeed-commons/2.2-SNAPSHOT/jetspeed-commons-2.2-SNAPSHOT.jar" sourcepath="M2_REPO/org/apache/portals/jetspeed-2/jetspeed-commons/2.2-SNAPSHOT/jetspeed-commons-2.2-SNAPSHOT-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/springframework/spring-beans/2.5.2/spring-beans-2.5.2.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/springframework/spring-core/2.5.2/spring-core-2.5.2.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/springframework/spring-portlet/2.0.6/spring-portlet-2.0.6.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/springframework/spring-context/2.5.2/spring-context-2.5.2.jar"/>
- <classpathentry kind="var" path="M2_REPO/aopalliance/aopalliance/1.0/aopalliance-1.0.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/springframework/spring-web/2.5.2/spring-web-2.5.2.jar"/>
-</classpath>
\ No newline at end of file
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+ <classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER"/>
+ <classpathentry kind="output" path="target/classes"/>
+</classpath>
Modified: portals/applications/gems/.project
URL: http://svn.apache.org/viewvc/portals/applications/gems/.project?rev=734964&r1=734963&r2=734964&view=diff
==============================================================================
--- portals/applications/gems/.project (original)
+++ portals/applications/gems/.project Fri Jan 16 02:43:00 2009
@@ -1,13 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
- <name>portals-gems-2.2-SNAPSHOT</name>
- <comment>Reusable Portlets (Gems) for your Portlet Applications.</comment>
- <projects/>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.jdt.core.javanature</nature>
- </natures>
-</projectDescription>
\ No newline at end of file
+ <name>portals-gems</name>
+ <comment>Reusable Portlets (Gems) for your Portlet Applications.</comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.maven.ide.eclipse.maven2Builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.maven.ide.eclipse.maven2Nature</nature>
+ </natures>
+</projectDescription>
Modified: portals/applications/gems/pom.xml
URL: http://svn.apache.org/viewvc/portals/applications/gems/pom.xml?rev=734964&r1=734963&r2=734964&view=diff
==============================================================================
--- portals/applications/gems/pom.xml (original)
+++ portals/applications/gems/pom.xml Fri Jan 16 02:43:00 2009
@@ -55,6 +55,7 @@
<groupId>org.apache.portals.jetspeed-2</groupId>
<artifactId>jetspeed-commons</artifactId>
<version>2.2-SNAPSHOT</version>
+ <scope>provided</scope>
</dependency>
<dependency>
<groupId>commons-dbcp</groupId>
@@ -113,4 +114,4 @@
<url>http://svn.apache.org/viewcvs.cgi/portals/jetspeed-2/trunk/applications/gems/</url>
</scm>
-</project>
+</project>
\ No newline at end of file
Modified: portals/applications/gems/src/main/java/org/apache/portals/gems/browser/BrowserPortlet.java
URL: http://svn.apache.org/viewvc/portals/applications/gems/src/main/java/org/apache/portals/gems/browser/BrowserPortlet.java?rev=734964&r1=734963&r2=734964&view=diff
==============================================================================
--- portals/applications/gems/src/main/java/org/apache/portals/gems/browser/BrowserPortlet.java (original)
+++ portals/applications/gems/src/main/java/org/apache/portals/gems/browser/BrowserPortlet.java Fri Jan 16 02:43:00 2009
@@ -36,7 +36,10 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.apache.jetspeed.sso.SSOProvider;
+import org.apache.jetspeed.CommonPortletServices;
+import org.apache.jetspeed.security.UserManager;
+import org.apache.jetspeed.services.JetspeedPortletServices;
+import org.apache.jetspeed.sso.SSOManager;
import org.apache.portals.bridges.velocity.GenericVelocityPortlet;
import org.apache.portals.gems.util.StatusMessage;
import org.apache.portals.messaging.PortletMessaging;
@@ -94,7 +97,9 @@
* SSO link
*/
protected PortletContext context;
- protected SSOProvider sso;
+ protected SSOManager sso;
+ protected UserManager userManager;
+
/**
* Static initialization of the logger for this class
*/
@@ -104,12 +109,17 @@
{
super.init(config);
context = getPortletContext();
- sso = (SSOProvider) context.getAttribute("cps:SSO");
+ sso = (SSOManager) context.getAttribute(CommonPortletServices.CPS_SSO_COMPONENT);
if (null == sso)
{
- log.info("Warning: SSO provider not found.");
+ log.info("Warning: SSO Manager not found.");
// throw new PortletException("Failed to find SSO Provider on portlet initialization");
}
+ userManager = (UserManager) context.getAttribute(CommonPortletServices.CPS_USER_MANAGER_COMPONENT);
+ if (null == userManager)
+ {
+ log.info("Warning: User Manager not found.");
+ }
}
public void getRows(RenderRequest request, String sql, int windowSize) throws Exception
@@ -184,7 +194,7 @@
}
context.put(BROWSER_ITERATOR, iterator);
- context.put(BROWSER_TITLE_ITERATOR, getTitleList(request));
+ context.put(BROWSER_TITLE_ITERATOR, iterator.getResultSetTitleList());
context.put(BROWSER_TABLE_SIZE, new Integer(resultSetSize));
context.put(WINDOW_SIZE, new Integer(windowSize));
context.put(START, new Integer(start));
Modified: portals/applications/gems/src/main/java/org/apache/portals/gems/browser/DatabaseBrowserPortlet.java
URL: http://svn.apache.org/viewvc/portals/applications/gems/src/main/java/org/apache/portals/gems/browser/DatabaseBrowserPortlet.java?rev=734964&r1=734963&r2=734964&view=diff
==============================================================================
--- portals/applications/gems/src/main/java/org/apache/portals/gems/browser/DatabaseBrowserPortlet.java (original)
+++ portals/applications/gems/src/main/java/org/apache/portals/gems/browser/DatabaseBrowserPortlet.java Fri Jan 16 02:43:00 2009
@@ -32,6 +32,7 @@
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
+import java.util.Collection;
import java.util.Date;
import java.util.Iterator;
import java.util.List;
@@ -55,8 +56,11 @@
import org.apache.jetspeed.PortalReservedParameters;
import org.apache.jetspeed.request.RequestContext;
import org.apache.jetspeed.security.JSSubject;
-import org.apache.jetspeed.sso.SSOContext;
+import org.apache.jetspeed.security.JetspeedPrincipal;
+import org.apache.jetspeed.security.PasswordCredential;
import org.apache.jetspeed.sso.SSOException;
+import org.apache.jetspeed.sso.SSOSite;
+import org.apache.jetspeed.sso.SSOUser;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
@@ -134,7 +138,7 @@
userObjListSize = userObjList.size();
}
// System.out.println("User List Size = "+ userObjListSize);
- /*
+ /*SSOProvider
* the array columnDisplayed maintains a boolean value for each column index. Only the columns that are set to true are added to the resultSetList,
* resultSetTitleList and resultSetTypeList.
*/
@@ -417,23 +421,28 @@
ds.setDriverClassName(prefs.getValue("SSOJdbcDriver", ""));
ds.setUrl(prefs.getValue("SSOJdbcConnection", ""));
String ssoURL = prefs.getValue("SSOSite", "");
- // SSO API lookup
- SSOContext credentials = null;
- try
- {
- if (sso == null)
- throw new SSOException("SSO Not supported.");
- credentials = sso.getCredentials(getSubject(), ssoURL);
- }
- catch (SSOException ssoex)
- {
- throw new Exception("SSO credential lookup failed. Error: " + ssoex.getMessage());
- }
- String ssoUserName = credentials.getRemotePrincipalName();
- String ssoPWD = credentials.getRemoteCredential();
- ds.setUsername(ssoUserName);
- ds.setPassword(ssoPWD);
- con = ds.getConnection();
+
+ if (sso == null)
+ throw new SSOException("SSO Not supported.");
+
+ SSOSite site = sso.getSiteByUrl(ssoURL);
+ if (site != null){
+ // SSO API lookup
+ PasswordCredential credentials = null;
+ JetspeedPrincipal principal = userManager.getUser(request.getUserPrincipal().getName());
+ Collection<SSOUser> remoteUsers = sso.getRemoteUsers(site,principal);
+ if (remoteUsers.size() == 1){
+ credentials = sso.getCredentials(remoteUsers.iterator().next());
+ } else {
+ throw new Exception("SSO credential lookup failed.");
+ }
+
+ String ssoUserName = credentials.getUserName();
+ String ssoPWD = credentials.getPassword();
+ ds.setUsername(ssoUserName);
+ ds.setPassword(ssoPWD);
+ con = ds.getConnection();
+ }
}
else
{
@@ -936,4 +945,4 @@
//else if (databaseName.equals("apache derby"))
return dataBaseQuery;
}
-}
+}
\ No newline at end of file
Modified: portals/applications/pom.xml
URL: http://svn.apache.org/viewvc/portals/applications/pom.xml?rev=734964&r1=734963&r2=734964&view=diff
==============================================================================
--- portals/applications/pom.xml (original)
+++ portals/applications/pom.xml Fri Jan 16 02:43:00 2009
@@ -291,12 +291,12 @@
<!-- Portals Applications JARs -->
<dependency>
- <groupId>org.apache.portals.jetspeed-2</groupId>
+ <groupId>org.apache.portals.applications</groupId>
<artifactId>jetspeed-rss</artifactId>
<version>${pom.version}</version>
</dependency>
<dependency>
- <groupId>org.apache.portals.jetspeed-2</groupId>
+ <groupId>org.apache.portals.applications</groupId>
<artifactId>portals-gems</artifactId>
<version>${pom.version}</version>
</dependency>
@@ -1158,4 +1158,4 @@
</profile>
</profiles>
-</project>
+</project>
\ No newline at end of file
Propchange: portals/applications/rss/
------------------------------------------------------------------------------
--- svn:ignore (original)
+++ svn:ignore Fri Jan 16 02:43:00 2009
@@ -1,3 +1,5 @@
-
target
jcoverage.ser
+.settings
+.classpath
+.project
Propchange: portals/applications/rss/rss-jar/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Fri Jan 16 02:43:00 2009
@@ -0,0 +1,4 @@
+.settings
+target
+.classpath
+.project
Propchange: portals/applications/rss/rss-war/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Fri Jan 16 02:43:00 2009
@@ -0,0 +1,4 @@
+.settings
+target
+.classpath
+.project