JBoss Portal SVN: r6104 - in trunk/core/src: resources/portal-core-war/WEB-INF/jsp/user and 1 other directory.
by portal-commits@lists.jboss.org
Author: thomas.heute(a)jboss.com
Date: 2007-01-26 11:27:18 -0500 (Fri, 26 Jan 2007)
New Revision: 6104
Modified:
trunk/core/src/main/org/jboss/portal/core/portlet/user/UserPortlet.java
trunk/core/src/resources/portal-core-war/WEB-INF/jsp/user/listUsers.jsp
Log:
Fix:
JBPORTAL-1218: Listing users will always display an even number of lines
Modified: trunk/core/src/main/org/jboss/portal/core/portlet/user/UserPortlet.java
===================================================================
--- trunk/core/src/main/org/jboss/portal/core/portlet/user/UserPortlet.java 2007-01-26 14:22:05 UTC (rev 6103)
+++ trunk/core/src/main/org/jboss/portal/core/portlet/user/UserPortlet.java 2007-01-26 16:27:18 UTC (rev 6104)
@@ -361,22 +361,25 @@
DelegateContext rowCtx = null;
for (int i = 0; i < Math.min(usersArray.length, usersPerPage); i++)
{
- int oddeven = i % 2;
User user = usersArray[i];
- if (oddeven == 0)
+ rowCtx = ctx.next("row");
+ rowCtx.put("firstname", getFirstName(bundle, user));
+ rowCtx.put("lastname", getLastName(bundle, user));
+ rowCtx.put("username", user.getUserName());
+ if (i % 2 == 0)
{
- rowCtx = ctx.next("row");
+ rowCtx.put("css-class", "portlet-table-text");
}
-
- rowCtx.put("firstname" + oddeven, getFirstName(bundle, user));
- rowCtx.put("lastname" + oddeven, getLastName(bundle, user));
- rowCtx.put("username" + oddeven, user.getUserName());
-
+ else
+ {
+ rowCtx.put("cssClass", "portlet-table-alternate");
+ }
+
//
Iterator itRoles = membershipModule.getRoles(user).iterator();
while (itRoles.hasNext())
{
- DelegateContext rolesCtx = rowCtx.next("roles" + oddeven);
+ DelegateContext rolesCtx = rowCtx.next("roles");
rolesCtx.put("name", ((Role)itRoles.next()).getDisplayName());
}
@@ -392,9 +395,9 @@
deleteUrl.setParameter(getOperationName(), OP_DELETEUSER);
deleteUrl.setParameter("userid", "" + user.getId());
- rowCtx.put("editURL" + oddeven, editURL.toString());
- rowCtx.put("rolesURL" + oddeven, rolesURL.toString());
- rowCtx.put("deleteURL" + oddeven, deleteUrl.toString());
+ rowCtx.put("editURL", editURL.toString());
+ rowCtx.put("rolesURL", rolesURL.toString());
+ rowCtx.put("deleteURL", deleteUrl.toString());
}
if (offset != 0)
Modified: trunk/core/src/resources/portal-core-war/WEB-INF/jsp/user/listUsers.jsp
===================================================================
--- trunk/core/src/resources/portal-core-war/WEB-INF/jsp/user/listUsers.jsp 2007-01-26 14:22:05 UTC (rev 6103)
+++ trunk/core/src/resources/portal-core-war/WEB-INF/jsp/user/listUsers.jsp 2007-01-26 16:27:18 UTC (rev 6104)
@@ -19,30 +19,17 @@
</tr>
<n:iterate ctx="row">
<tr>
- <td nowrap="nowrap" class="portlet-table-alternate">${n:out("row.username0")}</td>
- <td nowrap="nowrap" class="portlet-table-alternate">${n:out("row.firstname0")}</td>
- <td nowrap="nowrap" class="portlet-table-alternate">${n:out("row.lastname0")}</td>
- <td nowrap="nowrap" class="portlet-table-alternate">
- <n:iterate ctx="roles0">${n:out("row.roles0.name")}<br/></n:iterate>
+ <td nowrap="nowrap" class="${n:out("row.cssClass")}">${n:out("row.username")}</td>
+ <td nowrap="nowrap" class="${n:out("row.cssClass")}">${n:out("row.firstname")}</td>
+ <td nowrap="nowrap" class="${n:out("row.cssClass")}">${n:out("row.lastname")}</td>
+ <td nowrap="nowrap" class="${n:out("row.cssClass")}">
+ <n:iterate ctx="roles0">${n:out("row.roles.name")}<br/></n:iterate>
</td>
- <td nowrap="nowrap" class="portlet-table-alternate"><a
- href="${n:out("row.editURL0")}">${n:i18n("LIST_ACTIONSSHOWPROFILE")}</a> <a
- href="${n:out("row.rolesURL0")}">${n:i18n("LIST_ACTIONADDROLESTOUSER")}</a> <a
- href="${n:out("row.deleteURL0")}">${n:i18n("LIST_ACTIONDELETEUSER")}</a></td>
+ <td nowrap="nowrap" class="${n:out("row.cssClass")}"><a
+ href="${n:out("row.editURL")}">${n:i18n("LIST_ACTIONSSHOWPROFILE")}</a> <a
+ href="${n:out("row.rolesURL")}">${n:i18n("LIST_ACTIONADDROLESTOUSER")}</a> <a
+ href="${n:out("row.deleteURL")}">${n:i18n("LIST_ACTIONDELETEUSER")}</a></td>
</tr>
- <tr>
- <td nowrap="nowrap" class="portlet-table-text">${n:out("row.username1")}</td>
- <td nowrap="nowrap" class="portlet-table-text">${n:out("row.firstname1")}</td>
- <td nowrap="nowrap" class="portlet-table-text">${n:out("row.lastname1")}</td>
-
- <td nowrap="nowrap" class="portlet-table-text">
- <n:iterate ctx="roles1">${n:out("row.roles1.name")}<br/></n:iterate>
- </td>
- <td nowrap="nowrap" class="portlet-table-text"><a
- href="${n:out("row.editURL1")}">${n:i18n("LIST_ACTIONSSHOWPROFILE")}</a> <a
- href="${n:out("row.rolesURL1")}">${n:i18n("LIST_ACTIONADDROLESTOUSER")}</a> <a
- href="${n:out("row.deleteURL1")}">${n:i18n("LIST_ACTIONDELETEUSER")}</a></td>
- </tr>
</n:iterate>
</table>
17 years, 4 months
JBoss Portal SVN: r6103 - trunk/core/src/main/org/jboss/portal/core/portlet/user.
by portal-commits@lists.jboss.org
Author: bdaw
Date: 2007-01-26 09:22:05 -0500 (Fri, 26 Jan 2007)
New Revision: 6103
Modified:
trunk/core/src/main/org/jboss/portal/core/portlet/user/UserPortlet.java
Log:
- correct UserPortlet behaviour
Modified: trunk/core/src/main/org/jboss/portal/core/portlet/user/UserPortlet.java
===================================================================
--- trunk/core/src/main/org/jboss/portal/core/portlet/user/UserPortlet.java 2007-01-26 02:53:22 UTC (rev 6102)
+++ trunk/core/src/main/org/jboss/portal/core/portlet/user/UserPortlet.java 2007-01-26 14:22:05 UTC (rev 6103)
@@ -56,6 +56,7 @@
import javax.portlet.PortletURL;
import javax.portlet.WindowState;
import javax.portlet.WindowStateException;
+import javax.portlet.PortletMode;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.HashSet;
@@ -750,7 +751,8 @@
{
log.info("You didn't specify a default role in the portlet init configuration, please refer to the documentation");
}
- resp.setRenderParameter("op", OP_SHOWREGISTER_TY);
+ //resp.setRenderParameter("op", OP_SHOWREGISTER_TY);
+ resp.setWindowState(WindowState.NORMAL);
}
catch (IllegalArgumentException e)
{
@@ -760,6 +762,10 @@
{
log.error("Cannot create user " + uname, e);
}
+ catch (WindowStateException e)
+ {
+ log.error("Normal window state not supported...");
+ }
}
else
{
17 years, 4 months
JBoss Portal SVN: r6102 - in trunk: cms/src/main/org/jboss/portal/cms/impl/interceptors and 7 other directories.
by portal-commits@lists.jboss.org
Author: sohil.shah(a)jboss.com
Date: 2007-01-25 21:53:22 -0500 (Thu, 25 Jan 2007)
New Revision: 6102
Modified:
trunk/
trunk/cms/src/main/org/jboss/portal/cms/impl/interceptors/ACLInterceptor.java
trunk/cms/src/main/org/jboss/portal/cms/impl/jcr/command/ACLEnforcer.java
trunk/cms/src/main/org/jboss/portal/cms/security/AuthorizationManager.java
trunk/cms/src/main/org/jboss/portal/cms/security/AuthorizationProviderImpl.java
trunk/cms/src/main/org/jboss/portal/cms/security/PermRoleAssoc.java
trunk/cms/src/main/org/jboss/portal/cms/security/PermUserAssoc.java
trunk/cms/src/main/org/jboss/portal/cms/security/Permission.java
trunk/core-cms/src/main/org/jboss/portal/core/cms/ui/admin/CMSAdminPortlet.java
trunk/core-cms/src/resources/portal-cms-sar/META-INF/jboss-service.xml
trunk/core-cms/src/resources/portal-cms-sar/conf/hibernate/cms/domain.hbm.xml
trunk/core-cms/src/resources/portal-cms-war/WEB-INF/jsp/cms/admin/securenode.jsp
trunk/identity/
Log:
Integrate the CMS Security with the LDAP based installation via the new IdentityModule - JBPORTAL-1215
Property changes on: trunk
___________________________________________________________________
Name: svn:ignore
- .project
.classpath
thirdparty
eclipseBin
myworkspace
+ .project
.classpath
thirdparty
eclipseBin
myworkspace
bin
Modified: trunk/cms/src/main/org/jboss/portal/cms/impl/interceptors/ACLInterceptor.java
===================================================================
--- trunk/cms/src/main/org/jboss/portal/cms/impl/interceptors/ACLInterceptor.java 2007-01-26 00:38:59 UTC (rev 6101)
+++ trunk/cms/src/main/org/jboss/portal/cms/impl/interceptors/ACLInterceptor.java 2007-01-26 02:53:22 UTC (rev 6102)
@@ -58,7 +58,6 @@
import org.jboss.portal.identity.User;
import org.jboss.portal.identity.Role;
import org.jboss.portal.identity.RoleModule;
-import org.jboss.portal.identity.AnnonymousRole;
/**
* ACLInterceptor is plugged into the CMS system to enforce fine grained security access control
@@ -383,12 +382,16 @@
String roleName = roleElement.getAttribute("name");
Role role = this.getRole(roleName);
PermRoleAssoc roleAssoc = new PermRoleAssoc();
- if(role.getId()!=null)
+ if(role != null)
{
//makes sure this is not Anonymous
- roleAssoc.setRoleId(((Long)role.getId()).longValue());
+ roleAssoc.setRoleId(roleName);
}
- permission.addRoleAssoc(roleAssoc);
+ else
+ {
+ roleAssoc.setRoleId(AuthorizationManager.Anonymous);
+ }
+ permission.addRoleAssoc(roleAssoc);
}
parsedPermissions.add(permission);
@@ -417,7 +420,7 @@
}
catch(Exception e)
{
- role = new AnnonymousRole();
+ role = null;
}
finally
{
Modified: trunk/cms/src/main/org/jboss/portal/cms/impl/jcr/command/ACLEnforcer.java
===================================================================
--- trunk/cms/src/main/org/jboss/portal/cms/impl/jcr/command/ACLEnforcer.java 2007-01-26 00:38:59 UTC (rev 6101)
+++ trunk/cms/src/main/org/jboss/portal/cms/impl/jcr/command/ACLEnforcer.java 2007-01-26 02:53:22 UTC (rev 6102)
@@ -497,20 +497,19 @@
*/
private Collection getPermissions(User user)
{
- Collection permissions = null;
- long userId = 0;
+ Collection permissions = null;
if(user!=null)
{
//this is not an anonymous access
- userId = ((Long)user.getId()).longValue();
- String uri = this.authorizationManager.getProvider().getUserURI(String.valueOf(userId));
+ String userId = user.getUserName();
+ String uri = this.authorizationManager.getProvider().getUserURI(userId);
permissions = this.authorizationManager.getProvider().getSecurityBindings(uri);
}
else
{
//this is an anonymous access
- String uri = this.authorizationManager.getProvider().getRoleURI(String.valueOf(0));
+ String uri = this.authorizationManager.getProvider().getRoleURI(AuthorizationManager.Anonymous);
permissions = this.authorizationManager.getProvider().getSecurityBindings(uri);
}
return permissions;
Modified: trunk/cms/src/main/org/jboss/portal/cms/security/AuthorizationManager.java
===================================================================
--- trunk/cms/src/main/org/jboss/portal/cms/security/AuthorizationManager.java 2007-01-26 00:38:59 UTC (rev 6101)
+++ trunk/cms/src/main/org/jboss/portal/cms/security/AuthorizationManager.java 2007-01-26 02:53:22 UTC (rev 6102)
@@ -34,6 +34,8 @@
PortalAuthorizationManagerFactory,
PortalAuthorizationManager
{
+ public static final String Anonymous = "Anonymous";
+
/**
*
* @return
Modified: trunk/cms/src/main/org/jboss/portal/cms/security/AuthorizationProviderImpl.java
===================================================================
--- trunk/cms/src/main/org/jboss/portal/cms/security/AuthorizationProviderImpl.java 2007-01-26 00:38:59 UTC (rev 6101)
+++ trunk/cms/src/main/org/jboss/portal/cms/security/AuthorizationProviderImpl.java 2007-01-26 02:53:22 UTC (rev 6102)
@@ -30,8 +30,14 @@
import org.hibernate.Query;
import org.hibernate.Session;
import org.jboss.portal.cms.hibernate.state.Tools;
+import org.jboss.portal.identity.IdentityContext;
+import org.jboss.portal.identity.IdentityServiceController;
+import org.jboss.portal.identity.MembershipModule;
+import org.jboss.portal.identity.UserModule;
import org.jboss.portal.identity.Role;
import org.jboss.portal.identity.User;
+import org.jboss.portal.identity.AnnonymousRole;
+import org.jboss.portal.identity.ldap.LDAPUserModule;
import org.jboss.portal.jems.as.system.AbstractJBossService;
import org.jboss.portal.security.spi.provider.DomainConfigurator;
@@ -46,12 +52,22 @@
*/
public class AuthorizationProviderImpl extends AbstractJBossService implements AuthorizationProvider
{
+ private IdentityServiceController identityServiceController = null;
+ private MembershipModule membershipModule = null;
+ private UserModule userModule = null;
+
/**
*
*/
public void startService() throws Exception
{
super.startService();
+ this.membershipModule = (MembershipModule)identityServiceController.
+ getIdentityContext().
+ getObject(IdentityContext.TYPE_MEMBERSHIP_MODULE);
+ this.userModule = (UserModule)identityServiceController.
+ getIdentityContext().
+ getObject(IdentityContext.TYPE_USER_MODULE);
}
//------AuthorizationDomain impl-----------------------------------------------------------------
@@ -128,7 +144,7 @@
if(uri.startsWith("user://"))
{
String userId = uri.substring("user://".length());
- Collection cour = this.findPermissionsByUser(Long.parseLong(userId));
+ Collection cour = this.findPermissionsByUser(userId);
if(cour != null)
{
permissions.addAll(cour);
@@ -137,7 +153,7 @@
else if(uri.startsWith("role://"))
{
String roleId = uri.substring("role://".length());
- Collection cour = this.findPermissionsByRole(Long.parseLong(roleId));
+ Collection cour = this.findPermissionsByRole(roleId);
if(cour != null)
{
permissions.addAll(cour);
@@ -190,6 +206,24 @@
}
//--------------------------------------------------------------------------------------------------------------
/**
+ *
+ */
+ public IdentityServiceController getIdentityServiceController()
+ {
+ return identityServiceController;
+ }
+
+ /**
+ *
+ * @param identityServiceController
+ */
+ public void setIdentityServiceController(
+ IdentityServiceController identityServiceController)
+ {
+ this.identityServiceController = identityServiceController;
+ }
+ //--------------------------------------------------------------------------------------------------------------
+ /**
* Stores a permission and its associations into peristent storage
*
* @param permission - Permission to be persisted
@@ -206,10 +240,14 @@
{
Role role = (Role)itr.next();
PermRoleAssoc cour = new PermRoleAssoc();
- if(role.getId()!=null)
+ if(!(role instanceof AnnonymousRole))
{
- cour.setRoleId(((Long)role.getId()).longValue());
+ cour.setRoleId(role.getName());
}
+ else
+ {
+ cour.setRoleId(AuthorizationManager.Anonymous);
+ }
roleAssoc.add(cour);
}
permission.setRoleAssoc(roleAssoc);
@@ -228,7 +266,7 @@
{
User user = (User)itr.next();
PermUserAssoc cour = new PermUserAssoc();
- cour.setUserId(((Long)user.getId()).longValue());
+ cour.setUserId(user.getUserName());
userAssoc.add(cour);
}
permission.setUserAssoc(userAssoc);
@@ -279,32 +317,64 @@
* @param user
* @return
*/
- private Collection findPermissionsByUser(long userId)
+ private Collection findPermissionsByUser(String userId)
{
- Collection permissions = new HashSet();
-
- String lookupByUser = "SELECT permission from Permission permission JOIN permission.userAssoc user WHERE user.userId=?";
- String lookupByRole = "SELECT * from jbp_cms_perm p,jbp_cms_perm_role r,jbp_role_membership m WHERE " +
- "p.id=r.cms_perm_id AND " +
- "r.role_id=m.jbp_rid AND " +
- "m.jbp_uid=?";
-
- Session session = Tools.getCurrentSession();
-
- //perform lookup by explicitly specified users
- Query userQuery = session.createQuery(lookupByUser);
- userQuery.setLong(0,userId);
- userQuery.setCacheable(true);
- permissions.addAll(userQuery.list());
-
-
- //perform lookup based on role membership
- Query roleQuery = session.createSQLQuery(lookupByRole).addEntity(Permission.class);
- roleQuery.setLong(0,userId);
- roleQuery.setCacheable(true);
- permissions.addAll(roleQuery.list());
-
- return permissions;
+ try
+ {
+ Collection permissions = new HashSet();
+
+ //this is for db based identity management
+ String lookupByUser = "SELECT permission from Permission permission JOIN permission.userAssoc user WHERE user.userId=?";
+
+ Session session = Tools.getCurrentSession();
+
+ //perform lookup by explicitly specified users
+ Query userQuery = session.createQuery(lookupByUser);
+ userQuery.setString(0,userId);
+ userQuery.setCacheable(true);
+ permissions.addAll(userQuery.list());
+
+ if(!(this.userModule instanceof LDAPUserModule))
+ {
+ //in case of a database version, use the cache optmized way to lookup the permissions
+ String lookupByRole = "SELECT * from jbp_cms_perm p,jbp_cms_perm_role r,jbp_role_membership m,jbp_roles roles,jbp_users users WHERE " +
+ "p.id=r.cms_perm_id AND " +
+ "r.role_id=roles.jbp_name AND " +
+ "m.jbp_rid=roles.jbp_rid AND " +
+ "m.jbp_uid=users.jbp_uid AND " +
+ "users.jbp_uname=?";
+
+ //perform lookup based on role membership
+ Query roleQuery = session.createSQLQuery(lookupByRole).addEntity(Permission.class);
+ roleQuery.setString(0,userId);
+ roleQuery.setCacheable(true);
+ permissions.addAll(roleQuery.list());
+ }
+ else
+ {
+ //in the case of LDAP use the IdentityModule
+ //now find permissions for all the roles that this user belongs to
+ Set belongedRoles = this.membershipModule.getRoles(this.userModule.findUserByUserName(userId));
+ if(belongedRoles != null)
+ {
+ for(Iterator itr=belongedRoles.iterator();itr.hasNext();)
+ {
+ Role role = (Role)itr.next();
+ Collection rolePermissions = this.findPermissionsByRole(role.getName());
+ if(rolePermissions != null && !rolePermissions.isEmpty())
+ {
+ permissions.addAll(rolePermissions);
+ }
+ }
+ }
+ }
+
+ return permissions;
+ }
+ catch(Exception e)
+ {
+ throw new RuntimeException(e);
+ }
}
/**
@@ -313,7 +383,7 @@
* @param role
* @return
*/
- private Collection findPermissionsByRole(long roleId)
+ private Collection findPermissionsByRole(String roleId)
{
Collection permissions = new HashSet();
@@ -323,7 +393,7 @@
//perform lookup by explicitly specified users
Query roleQuery = session.createQuery(lookupByRole);
- roleQuery.setLong(0,roleId);
+ roleQuery.setString(0,roleId);
roleQuery.setCacheable(true);
permissions.addAll(roleQuery.list());
@@ -354,5 +424,5 @@
return permissions;
- }
+ }
}
Modified: trunk/cms/src/main/org/jboss/portal/cms/security/PermRoleAssoc.java
===================================================================
--- trunk/cms/src/main/org/jboss/portal/cms/security/PermRoleAssoc.java 2007-01-26 00:38:59 UTC (rev 6101)
+++ trunk/cms/src/main/org/jboss/portal/cms/security/PermRoleAssoc.java 2007-01-26 02:53:22 UTC (rev 6102)
@@ -29,7 +29,7 @@
public class PermRoleAssoc
{
private long id = 0;
- private long roleId = 0;
+ private String roleId = null;
/**
*
@@ -63,7 +63,7 @@
*
* @return
*/
- public long getRoleId()
+ public String getRoleId()
{
return roleId;
}
@@ -72,7 +72,7 @@
*
* @param roleId
*/
- public void setRoleId(long roleId)
+ public void setRoleId(String roleId)
{
this.roleId = roleId;
}
@@ -84,7 +84,7 @@
if(obj instanceof PermRoleAssoc)
{
PermRoleAssoc input = (PermRoleAssoc)obj;
- if(input.roleId == this.roleId)
+ if(input.roleId.equals(this.roleId))
{
equals = true;
}
Modified: trunk/cms/src/main/org/jboss/portal/cms/security/PermUserAssoc.java
===================================================================
--- trunk/cms/src/main/org/jboss/portal/cms/security/PermUserAssoc.java 2007-01-26 00:38:59 UTC (rev 6101)
+++ trunk/cms/src/main/org/jboss/portal/cms/security/PermUserAssoc.java 2007-01-26 02:53:22 UTC (rev 6102)
@@ -29,7 +29,7 @@
public class PermUserAssoc
{
private long id = 0;
- private long userId = 0;
+ private String userId = null;
/**
*
@@ -63,7 +63,7 @@
*
* @return
*/
- public long getUserId()
+ public String getUserId()
{
return userId;
}
@@ -72,7 +72,7 @@
*
* @param roleId
*/
- public void setUserId(long userId)
+ public void setUserId(String userId)
{
this.userId = userId;
}
@@ -84,7 +84,7 @@
if(obj instanceof PermUserAssoc)
{
PermUserAssoc input = (PermUserAssoc)obj;
- if(input.userId == this.userId)
+ if(input.userId.equals(this.userId))
{
equals = true;
}
Modified: trunk/cms/src/main/org/jboss/portal/cms/security/Permission.java
===================================================================
--- trunk/cms/src/main/org/jboss/portal/cms/security/Permission.java 2007-01-26 00:38:59 UTC (rev 6101)
+++ trunk/cms/src/main/org/jboss/portal/cms/security/Permission.java 2007-01-26 02:53:22 UTC (rev 6102)
@@ -258,7 +258,7 @@
for(Iterator itr=this.roleAssoc.iterator();itr.hasNext();)
{
PermRoleAssoc cour = (PermRoleAssoc)itr.next();
- ids.add(new Long(cour.getRoleId()));
+ ids.add(cour.getRoleId());
}
}
return ids;
@@ -307,7 +307,7 @@
for(Iterator itr=this.userAssoc.iterator();itr.hasNext();)
{
PermUserAssoc cour = (PermUserAssoc)itr.next();
- ids.add(new Long(cour.getUserId()));
+ ids.add(cour.getUserId());
}
}
return ids;
Modified: trunk/core-cms/src/main/org/jboss/portal/core/cms/ui/admin/CMSAdminPortlet.java
===================================================================
--- trunk/core-cms/src/main/org/jboss/portal/core/cms/ui/admin/CMSAdminPortlet.java 2007-01-26 00:38:59 UTC (rev 6101)
+++ trunk/core-cms/src/main/org/jboss/portal/core/cms/ui/admin/CMSAdminPortlet.java 2007-01-26 02:53:22 UTC (rev 6102)
@@ -1209,11 +1209,11 @@
rolesSet = new HashSet();
for (int i = 0; i < roles.length; i++)
{
- int roleId = Integer.parseInt(roles[i]);
+ String roleId = roles[i];
Role role = null;
- if (roleId > 0)
+ if (!roleId.equals(AuthorizationManager.Anonymous))
{
- role = this.roleModule.findRoleById(roles[i]);
+ role = this.roleModule.findRoleByName(roleId);
}
else
{
@@ -1229,7 +1229,7 @@
usersSet = new HashSet();
for (int i = 0; i < users.length; i++)
{
- User user = this.userModule.findUserById(users[i]);
+ User user = this.userModule.findUserByUserName(users[i]);
usersSet.add(user);
}
}
@@ -1302,7 +1302,7 @@
if (portletRequest.getUserPrincipal() != null)
{
User user = this.userModule.findUserByUserName(portletRequest.getUserPrincipal().getName());
- String uri = this.authorizationManager.getProvider().getUserURI(((Long)user.getId()).toString());
+ String uri = this.authorizationManager.getProvider().getUserURI(user.getUserName());
Collection permissions = this.authorizationManager.getProvider().getSecurityBindings(uri);
if (permissions != null)
{
Modified: trunk/core-cms/src/resources/portal-cms-sar/META-INF/jboss-service.xml
===================================================================
--- trunk/core-cms/src/resources/portal-cms-sar/META-INF/jboss-service.xml 2007-01-26 00:38:59 UTC (rev 6101)
+++ trunk/core-cms/src/resources/portal-cms-sar/META-INF/jboss-service.xml 2007-01-26 02:53:22 UTC (rev 6102)
@@ -452,7 +452,8 @@
name="portal:service=AuthorizationProvider,type=cms"
xmbean-dd=""
xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
- <xmbean/>
+ <xmbean/>
+ <depends optional-attribute-name="IdentityServiceController" proxy-type="attribute">portal:service=Module,type=IdentityServiceController</depends>
</mbean>
<!-- ACL Security Interceptor -->
Modified: trunk/core-cms/src/resources/portal-cms-sar/conf/hibernate/cms/domain.hbm.xml
===================================================================
--- trunk/core-cms/src/resources/portal-cms-sar/conf/hibernate/cms/domain.hbm.xml 2007-01-26 00:38:59 UTC (rev 6101)
+++ trunk/core-cms/src/resources/portal-cms-sar/conf/hibernate/cms/domain.hbm.xml 2007-01-26 02:53:22 UTC (rev 6102)
@@ -287,7 +287,7 @@
<property
name="roleId"
column="ROLE_ID"
- type="long"
+ type="string"
not-null="true"
/>
</class>
@@ -302,7 +302,7 @@
<property
name="userId"
column="USER_ID"
- type="long"
+ type="string"
not-null="true"
/>
</class>
Modified: trunk/core-cms/src/resources/portal-cms-war/WEB-INF/jsp/cms/admin/securenode.jsp
===================================================================
--- trunk/core-cms/src/resources/portal-cms-war/WEB-INF/jsp/cms/admin/securenode.jsp 2007-01-26 00:38:59 UTC (rev 6101)
+++ trunk/core-cms/src/resources/portal-cms-war/WEB-INF/jsp/cms/admin/securenode.jsp 2007-01-26 02:53:22 UTC (rev 6102)
@@ -1,6 +1,7 @@
<%@ page import="org.jboss.portal.core.cms.ui.admin.CMSAdminConstants" %>
<%@ page import="org.jboss.portal.identity.Role" %>
<%@ page import="org.jboss.portal.identity.User" %>
+<%@ page import="org.jboss.portal.cms.security.AuthorizationManager" %>
<%@ page import="java.util.Iterator" %>
<%@ page import="java.util.Set" %>
<%@ page language="java" extends="org.jboss.portal.core.servlet.jsp.PortalJsp" %>
@@ -63,7 +64,7 @@
<tr>
<td>
<select name="secureroles:read" multiple="multiple">
- <option value="0" <%if(readRoleSet.contains(new Long(0))){%>selected<%}%>>
+ <option value="<%=AuthorizationManager.Anonymous%>" <%if(readRoleSet.contains(AuthorizationManager.Anonymous)){%>selected<%}%>>
Anonymous
</option>
<%
@@ -72,7 +73,7 @@
{
Role role = (Role)iterator.next();
%>
- <option value="<%= role.getId() %>" <%if(readRoleSet.contains(role.getId())){%>selected<%}%>>
+ <option value="<%= role.getName() %>" <%if(readRoleSet.contains(role.getName())){%>selected<%}%>>
<%= role.getDisplayName() %>
</option>
<%
@@ -96,7 +97,7 @@
{
User user = (User)iteratorUser.next();
%>
- <option value="<%= user.getId() %>" <%if(readUserSet.contains(user.getId())){%>selected<%}%>>
+ <option value="<%= user.getUserName() %>" <%if(readUserSet.contains(user.getUserName())){%>selected<%}%>>
<%= user.getUserName() %>
</option>
<%
@@ -123,7 +124,7 @@
<tr>
<td>
<select name="secureroles:write" multiple="multiple">
- <option value="0" <%if(writeRoleSet.contains(new Long(0))){%>selected<%}%>>
+ <option value="<%=AuthorizationManager.Anonymous%>" <%if(writeRoleSet.contains(AuthorizationManager.Anonymous)){%>selected<%}%>>
Anonymous
</option>
<%
@@ -132,7 +133,7 @@
{
Role role = (Role)iterator.next();
%>
- <option value="<%= role.getId() %>" <%if(writeRoleSet.contains(role.getId())){%>selected<%}%>>
+ <option value="<%= role.getName() %>" <%if(writeRoleSet.contains(role.getName())){%>selected<%}%>>
<%= role.getDisplayName() %>
</option>
<%
@@ -156,7 +157,7 @@
{
User user = (User)iteratorUser.next();
%>
- <option value="<%= user.getId() %>" <%if(writeUserSet.contains(user.getId())){%>selected<%}%>>
+ <option value="<%= user.getUserName() %>" <%if(writeUserSet.contains(user.getUserName())){%>selected<%}%>>
<%= user.getUserName() %>
</option>
<%
@@ -183,7 +184,7 @@
<tr>
<td>
<select name="secureroles:manage" multiple="multiple">
- <option value="0" <%if(manageRoleSet.contains(new Long(0))){%>selected<%}%>>
+ <option value="<%=AuthorizationManager.Anonymous%>" <%if(manageRoleSet.contains(AuthorizationManager.Anonymous)){%>selected<%}%>>
Anonymous
</option>
<%
@@ -192,7 +193,7 @@
{
Role role = (Role)iterator.next();
%>
- <option value="<%= role.getId() %>" <%if(manageRoleSet.contains(role.getId())){%>selected<%}%>>
+ <option value="<%= role.getName() %>" <%if(manageRoleSet.contains(role.getName())){%>selected<%}%>>
<%= role.getDisplayName() %>
</option>
<%
@@ -216,7 +217,7 @@
{
User user = (User)iteratorUser.next();
%>
- <option value="<%= user.getId() %>" <%if(manageUserSet.contains(user.getId())){%>selected<%}%>>
+ <option value="<%= user.getUserName() %>" <%if(manageUserSet.contains(user.getUserName())){%>selected<%}%>>
<%= user.getUserName() %>
</option>
<%
Property changes on: trunk/identity
___________________________________________________________________
Name: svn:ignore
- output
bin
+ output
bin
*.log
17 years, 4 months
JBoss Portal SVN: r6101 - in trunk: test/src/etc and 1 other directory.
by portal-commits@lists.jboss.org
Author: julien(a)jboss.com
Date: 2007-01-25 19:38:59 -0500 (Thu, 25 Jan 2007)
New Revision: 6101
Modified:
trunk/core/src/main/org/jboss/portal/core/impl/model/instance/PersistentInstanceContainer.java
trunk/test/src/etc/datasources.xml
Log:
updated InstanceContainer to use a query in lookupNoCache instead of query by criteria which was causing an issue with oracle 10g
Modified: trunk/core/src/main/org/jboss/portal/core/impl/model/instance/PersistentInstanceContainer.java
===================================================================
--- trunk/core/src/main/org/jboss/portal/core/impl/model/instance/PersistentInstanceContainer.java 2007-01-25 21:20:38 UTC (rev 6100)
+++ trunk/core/src/main/org/jboss/portal/core/impl/model/instance/PersistentInstanceContainer.java 2007-01-26 00:38:59 UTC (rev 6101)
@@ -23,15 +23,15 @@
package org.jboss.portal.core.impl.model.instance;
import EDU.oswego.cs.dl.util.concurrent.ConcurrentReaderHashMap;
-import org.hibernate.Criteria;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
-import org.hibernate.criterion.Restrictions;
+import org.hibernate.Query;
import org.hibernate.exception.ConstraintViolationException;
import org.jboss.portal.common.invocation.InterceptorStackFactory;
import org.jboss.portal.common.invocation.Invocation;
import org.jboss.portal.common.invocation.InvocationException;
import org.jboss.portal.common.invocation.InvocationHandler;
+import org.jboss.portal.common.util.Tools;
import org.jboss.portal.core.model.instance.DuplicateInstanceException;
import org.jboss.portal.core.model.instance.InstanceContainer;
import org.jboss.portal.core.model.instance.InstanceDefinition;
@@ -82,6 +82,9 @@
{
/** . */
+ private static final String BY_INSTANCE_ID_QUERY = "from " + Tools.getShortNameOf(InstanceDefinitionImpl.class) + " where instanceId=:instanceId";
+
+ /** . */
protected InterceptorStackFactory stackFactory;
/** . */
@@ -525,10 +528,9 @@
private InstanceDefinitionImpl lookupNoCache(Session session, String id)
{
- Criteria criteria = session.createCriteria(InstanceDefinitionImpl.class);
- criteria.add(Restrictions.naturalId().set("instanceId", id));
- criteria.setCacheable(true);
- return (InstanceDefinitionImpl)criteria.uniqueResult();
+ Query q = session.createQuery(BY_INSTANCE_ID_QUERY);
+ q.setString("instanceId", id);
+ return (InstanceDefinitionImpl)q.uniqueResult();
}
//**********************************************************************
Modified: trunk/test/src/etc/datasources.xml
===================================================================
--- trunk/test/src/etc/datasources.xml 2007-01-25 21:20:38 UTC (rev 6100)
+++ trunk/test/src/etc/datasources.xml 2007-01-26 00:38:59 UTC (rev 6101)
@@ -30,4 +30,13 @@
<user-name>sa</user-name>
<password></password>
</datasource>
+<!--
+ <datasource>
+ <datasource-name>oracle10g</datasource-name>
+ <connection-url>jdbc:oracle:thin:jbossportal/portalpassword@192.168.0.124:1521:orcl</connection-url>
+ <driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
+ <user-name>jbossportal</user-name>
+ <password>portalpassword</password>
+ </datasource>
+-->
</datasources>
17 years, 4 months
JBoss Portal SVN: r6100 - in trunk/api/src/main/org/jboss/portal/api: node and 1 other directories.
by portal-commits@lists.jboss.org
Author: julien(a)jboss.com
Date: 2007-01-25 16:20:38 -0500 (Thu, 25 Jan 2007)
New Revision: 6100
Modified:
trunk/api/src/main/org/jboss/portal/api/event/PortalEvent.java
trunk/api/src/main/org/jboss/portal/api/node/PortalNode.java
trunk/api/src/main/org/jboss/portal/api/node/PortalNodeURL.java
trunk/api/src/main/org/jboss/portal/api/node/event/PortalNodeEvent.java
trunk/api/src/main/org/jboss/portal/api/node/event/PortalNodeEventContext.java
trunk/api/src/main/org/jboss/portal/api/node/event/PortalNodeEventListener.java
Log:
updated a bit the portal api javadoc
Modified: trunk/api/src/main/org/jboss/portal/api/event/PortalEvent.java
===================================================================
--- trunk/api/src/main/org/jboss/portal/api/event/PortalEvent.java 2007-01-25 21:09:21 UTC (rev 6099)
+++ trunk/api/src/main/org/jboss/portal/api/event/PortalEvent.java 2007-01-25 21:20:38 UTC (rev 6100)
@@ -23,7 +23,7 @@
package org.jboss.portal.api.event;
/**
- * Base event class for all portal events.
+ * Base event class for portal events.
*
* @author <a href="mailto:julien@jboss.org">Julien Viet</a>
* @version $Revision$
Modified: trunk/api/src/main/org/jboss/portal/api/node/PortalNode.java
===================================================================
--- trunk/api/src/main/org/jboss/portal/api/node/PortalNode.java 2007-01-25 21:09:21 UTC (rev 6099)
+++ trunk/api/src/main/org/jboss/portal/api/node/PortalNode.java 2007-01-25 21:20:38 UTC (rev 6100)
@@ -26,6 +26,8 @@
import java.util.Map;
/**
+ * Represents a portal node, a first class entity for the portal.
+ *
* @author <a href="mailto:julien@jboss.org">Julien Viet</a>
* @version $Revision$
*/
@@ -52,13 +54,6 @@
int getType();
/**
- * The node id which identifies the node in the context of its root.
- *
- * @return the node id
- */
-// String getId();
-
- /**
* Return the root node of this node.
*
* @return the root node
Modified: trunk/api/src/main/org/jboss/portal/api/node/PortalNodeURL.java
===================================================================
--- trunk/api/src/main/org/jboss/portal/api/node/PortalNodeURL.java 2007-01-25 21:09:21 UTC (rev 6099)
+++ trunk/api/src/main/org/jboss/portal/api/node/PortalNodeURL.java 2007-01-25 21:20:38 UTC (rev 6100)
@@ -23,33 +23,45 @@
package org.jboss.portal.api.node;
/**
+ * An URL which can target a portal node.
+ *
* @author <a href="mailto:julien@jboss.org">Julien Viet</a>
* @version $Revision$
*/
public interface PortalNodeURL
{
/**
+ * Set a parameter on the URL.
*
+ * @param name the parameter name
+ * @param value the parameter value
+ * @throws IllegalArgumentException if the name is null
*/
- void setParameter(String name, String value);
+ void setParameter(String name, String value) throws IllegalArgumentException;
/**
+ * Set a parameter on the URL.
*
+ * @param name the parameter name
+ * @param values the parameter values
+ * @throws IllegalArgumentException if the name is null
*/
- void setParameter(String name, String[] values);
+ void setParameter(String name, String[] values) throws IllegalArgumentException;
/**
- *
+ * Affect the authentication mode of the transport protocol that the URL will designate.
+ * A null value indicates that it should reuse the value of the incoming transport.
*/
void setAuthenticated(Boolean wantAuthenticated);
/**
- *
+ * Affect the security mode of the transport protocol that the URL will designate.
+ * A null value indicates that it should reuse the value of the incoming transport.
*/
void setSecure(Boolean wantSecure);
/**
- *
+ * Affet the URL generation by creating either a relative or an absolute URL.
*/
void setRelative(boolean relative);
Modified: trunk/api/src/main/org/jboss/portal/api/node/event/PortalNodeEvent.java
===================================================================
--- trunk/api/src/main/org/jboss/portal/api/node/event/PortalNodeEvent.java 2007-01-25 21:09:21 UTC (rev 6099)
+++ trunk/api/src/main/org/jboss/portal/api/node/event/PortalNodeEvent.java 2007-01-25 21:20:38 UTC (rev 6100)
@@ -24,14 +24,22 @@
import org.jboss.portal.api.node.PortalNode;
-/** @author <a href="mailto:julien@jboss.org">Julien Viet</a> */
+/**
+ * Base class for all portal node events.
+ *
+ * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
+ */
public abstract class PortalNodeEvent
{
- /** The portal node. */
+ /** The portal node targetted by this event. */
protected final PortalNode node;
- public PortalNodeEvent(PortalNode node)
+ /**
+ * @param node the node the event targets
+ * @throws IllegalArgumentException if the node argument is null
+ */
+ public PortalNodeEvent(PortalNode node) throws IllegalArgumentException
{
if (node == null)
{
@@ -40,6 +48,11 @@
this.node = node;
}
+ /**
+ * Returns the portal node targetted by the event.
+ *
+ * @return the portal node
+ */
public PortalNode getNode()
{
return node;
Modified: trunk/api/src/main/org/jboss/portal/api/node/event/PortalNodeEventContext.java
===================================================================
--- trunk/api/src/main/org/jboss/portal/api/node/event/PortalNodeEventContext.java 2007-01-25 21:09:21 UTC (rev 6099)
+++ trunk/api/src/main/org/jboss/portal/api/node/event/PortalNodeEventContext.java 2007-01-25 21:20:38 UTC (rev 6100)
@@ -26,6 +26,8 @@
import org.jboss.portal.spi.NavigationalStateContext;
/**
+ * The context in which a <code>PortalNodeEvent</code> is dispatched.
+ *
* @author <a href="mailto:julien@jboss.org">Julien Viet</a>
* @version $Revision$
*/
Modified: trunk/api/src/main/org/jboss/portal/api/node/event/PortalNodeEventListener.java
===================================================================
--- trunk/api/src/main/org/jboss/portal/api/node/event/PortalNodeEventListener.java 2007-01-25 21:09:21 UTC (rev 6099)
+++ trunk/api/src/main/org/jboss/portal/api/node/event/PortalNodeEventListener.java 2007-01-25 21:20:38 UTC (rev 6100)
@@ -23,6 +23,8 @@
package org.jboss.portal.api.node.event;
/**
+ * A listener for portal events
+ *
* @author <a href="mailto:julien@jboss.org">Julien Viet</a>
* @version $Revision$
*/
@@ -31,9 +33,9 @@
/**
* Dispatch an event to the listener.
*
- * @param context the bubbler to perform the event bubbling control
- * @param event the fired event
- * @return the next event or null to keep the same event
+ * @param context the context in which the event is triggered
+ * @param event the fired event
+ * @return an possible new events that will replace the current event or null to keep the same event
*/
PortalNodeEvent onEvent(PortalNodeEventContext context, PortalNodeEvent event);
}
17 years, 4 months
JBoss Portal SVN: r6099 - trunk/core/src/main/org/jboss/portal/core/portlet/role.
by portal-commits@lists.jboss.org
Author: julien(a)jboss.com
Date: 2007-01-25 16:09:21 -0500 (Thu, 25 Jan 2007)
New Revision: 6099
Modified:
trunk/core/src/main/org/jboss/portal/core/portlet/role/RolePortlet.java
Log:
remove useless semi colon
Modified: trunk/core/src/main/org/jboss/portal/core/portlet/role/RolePortlet.java
===================================================================
--- trunk/core/src/main/org/jboss/portal/core/portlet/role/RolePortlet.java 2007-01-25 21:08:22 UTC (rev 6098)
+++ trunk/core/src/main/org/jboss/portal/core/portlet/role/RolePortlet.java 2007-01-25 21:09:21 UTC (rev 6099)
@@ -702,7 +702,6 @@
return false;
}
}
- ;
}
catch (IdentityException e)
{
17 years, 4 months
JBoss Portal SVN: r6098 - trunk/core/src/main/org/jboss/portal/core/portlet/user.
by portal-commits@lists.jboss.org
Author: julien(a)jboss.com
Date: 2007-01-25 16:08:22 -0500 (Thu, 25 Jan 2007)
New Revision: 6098
Modified:
trunk/core/src/main/org/jboss/portal/core/portlet/user/UserPortlet.java
Log:
replace sb.append("a" + x) by sb.append("a").append(x);
Modified: trunk/core/src/main/org/jboss/portal/core/portlet/user/UserPortlet.java
===================================================================
--- trunk/core/src/main/org/jboss/portal/core/portlet/user/UserPortlet.java 2007-01-25 00:54:37 UTC (rev 6097)
+++ trunk/core/src/main/org/jboss/portal/core/portlet/user/UserPortlet.java 2007-01-25 21:08:22 UTC (rev 6098)
@@ -343,7 +343,7 @@
// We get usersPerPage + 1 entries so we can know if there is
// a next page
// It's tricky but it avoids to make 2 queries.
- Set users = null;
+ Set users;
if (usernameFilter.trim().length() == 0)
{
users = userModule.findUsers(offset, usersPerPage + 1);
@@ -454,7 +454,7 @@
Set roles = roleModule.findRoles();
Role[] rolesArray = new Role[roles.size()];
rolesArray = (Role[])roles.toArray(rolesArray);
- Role role = null;
+ Role role;
DelegateContext rowCtx = null;
for (int i = 0; i < rolesArray.length; i++)
{
@@ -554,7 +554,7 @@
String hash = req.getParameter(UserPortletConstants.HASH);
String userId = req.getParameters().getParameter(UserPortletConstants.USERID);
- User user = null;
+ User user;
PortletRequestDispatcher rd;
try
{
@@ -691,7 +691,7 @@
String fakeEmail = req.getParameter("fakeemail");
String question = req.getParameter("question");
String answer = req.getParameter("answer");
- User user = null;
+ User user;
if (nbErrors == 0)
{
try
@@ -1042,20 +1042,20 @@
ResourceBundle bundle = getResourceBundle(locale);
try
{
- sb.append(bundle.getString("VALIDATIONEMAIL_1") + " - ");
+ sb.append(bundle.getString("VALIDATIONEMAIL_1")).append(" - ");
sb.append(rootURL);
sb.append("\n\n");
- sb.append(bundle.getString("VALIDATIONEMAIL_2") + ":\n\n");
+ sb.append(bundle.getString("VALIDATIONEMAIL_2")).append(":\n\n");
sb.append("----------------------------\n");
- sb.append(bundle.getString("USERNAME") + ": " + user.getUserName() + "\n");
- sb.append(bundle.getString("PASSWORD") + ": " + clearPassword + "\n");
+ sb.append(bundle.getString("USERNAME")).append(": ").append(user.getUserName()).append("\n");
+ sb.append(bundle.getString("PASSWORD")).append(": ").append(clearPassword).append("\n");
sb.append("----------------------------\n\n");
- sb.append(bundle.getString("VALIDATIONEMAIL_3") + ": \n");
+ sb.append(bundle.getString("VALIDATIONEMAIL_3")).append(": \n");
sb.append(link);
sb.append("\n\n");
sb.append(bundle.getString("VALIDATIONEMAIL_4"));
sb.append("\n\n");
- sb.append(bundle.getString("VALIDATIONEMAIL_5") + "\n");
+ sb.append(bundle.getString("VALIDATIONEMAIL_5")).append("\n");
}
catch (Exception e)
{
@@ -1077,7 +1077,7 @@
String hash = req.getParameter(UserPortletConstants.HASH);
String userId = req.getParameters().getParameter(UserPortletConstants.USERID);
- User user = null;
+ User user;
try
{
user = userModule.findUserById(userId);
@@ -1241,7 +1241,7 @@
Object o = userProfileModule.getProperty(user, key);
if (o == null)
{
- return new String();
+ return "";
}
else
{
17 years, 4 months
JBoss Portal SVN: r6097 - in trunk/server/src/main/org/jboss/portal/server/impl: xml and 1 other directory.
by portal-commits@lists.jboss.org
Author: julien(a)jboss.com
Date: 2007-01-24 19:54:37 -0500 (Wed, 24 Jan 2007)
New Revision: 6097
Added:
trunk/server/src/main/org/jboss/portal/server/impl/xml/
trunk/server/src/main/org/jboss/portal/server/impl/xml/EntityResolverService.java
Log:
forgot to add EntityResolverService class
Added: trunk/server/src/main/org/jboss/portal/server/impl/xml/EntityResolverService.java
===================================================================
--- trunk/server/src/main/org/jboss/portal/server/impl/xml/EntityResolverService.java (rev 0)
+++ trunk/server/src/main/org/jboss/portal/server/impl/xml/EntityResolverService.java 2007-01-25 00:54:37 UTC (rev 6097)
@@ -0,0 +1,107 @@
+/******************************************************************************
+ * JBoss, a division of Red Hat *
+ * Copyright 2006, Red Hat Middleware, LLC, and individual *
+ * contributors as indicated by the @authors tag. See the *
+ * copyright.txt in the distribution for a full listing of *
+ * individual contributors. *
+ * *
+ * This is free software; you can redistribute it and/or modify it *
+ * under the terms of the GNU Lesser General Public License as *
+ * published by the Free Software Foundation; either version 2.1 of *
+ * the License, or (at your option) any later version. *
+ * *
+ * This software is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
+ * Lesser General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU Lesser General Public *
+ * License along with this software; if not, write to the Free *
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA *
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org. *
+ ******************************************************************************/
+package org.jboss.portal.server.impl.xml;
+
+import org.jboss.portal.jems.as.system.AbstractJBossService;
+import org.jboss.portal.common.util.XML;
+import org.xml.sax.EntityResolver;
+import org.xml.sax.InputSource;
+import org.xml.sax.SAXException;
+import org.w3c.dom.Element;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.Properties;
+
+/**
+ * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
+ * @version $Revision: 1.1 $
+ */
+public class EntityResolverService extends AbstractJBossService implements EntityResolver
+{
+
+ /** . */
+ private Element dtdMapping;
+
+ /** . */
+ private Properties dtdMappingProps;
+
+ public Element getDTDMapping()
+ {
+ return dtdMapping;
+ }
+
+ public void setDTDMapping(Element dtdMapping)
+ {
+ this.dtdMapping = dtdMapping;
+
+ //
+ if (this.dtdMapping != null)
+ {
+ dtdMappingProps = XML.loadXMLProperties(dtdMapping);
+ }
+ else
+ {
+ dtdMappingProps = null;
+ }
+ }
+
+ public InputSource resolveEntity(String publicId, String systemId) throws SAXException, IOException
+ {
+
+ // Let the parser open a regular URI connection to systemId
+ if (publicId == null)
+ {
+ return null;
+ }
+
+ //
+ String dtdResourceName = (String)dtdMappingProps.get(publicId);
+ if (dtdResourceName != null)
+ {
+
+ log.debug("Looking up resource " + dtdResourceName + " for dtd publicId=" + publicId + ", systemId=" + systemId);
+ InputStream dtdStream = Thread.currentThread().getContextClassLoader().getResourceAsStream(dtdResourceName);
+ if (dtdStream != null)
+ {
+ return new InputSource(dtdStream);
+ }
+ else
+ {
+ log.debug("No resource found for dtd publicId=" + publicId + ", systemId=" + systemId);
+ }
+ }
+ else
+ {
+ log.debug("No resource name found for dtd publicId=" + publicId + ", systemId=" + systemId);
+ }
+
+ //
+ return null;
+ }
+
+ public String toString()
+ {
+ return "EntityResolver[" + getServiceName() + "]";
+ }
+}
17 years, 4 months
JBoss Portal SVN: r6096 - in trunk/core-samples/src/resources/portal-samples-war/WEB-INF/jsp: info and 1 other directory.
by portal-commits@lists.jboss.org
Author: julien(a)jboss.com
Date: 2007-01-24 19:40:30 -0500 (Wed, 24 Jan 2007)
New Revision: 6096
Added:
trunk/core-samples/src/resources/portal-samples-war/WEB-INF/jsp/info/
trunk/core-samples/src/resources/portal-samples-war/WEB-INF/jsp/info/view.jsp
Log:
- jsp portlet stays in samples (makes more sense)
- forgot to use entity resolver when parsing -object.xml in the war file (fixed now)
Added: trunk/core-samples/src/resources/portal-samples-war/WEB-INF/jsp/info/view.jsp
===================================================================
--- trunk/core-samples/src/resources/portal-samples-war/WEB-INF/jsp/info/view.jsp (rev 0)
+++ trunk/core-samples/src/resources/portal-samples-war/WEB-INF/jsp/info/view.jsp 2007-01-25 00:40:30 UTC (rev 6096)
@@ -0,0 +1,63 @@
+<%@ page import="org.jboss.portal.server.PortalConstants" %>
+<%--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+~ JBoss, a division of Red Hat ~
+~ Copyright 2006, Red Hat Middleware, LLC, and individual ~
+~ contributors as indicated by the @authors tag. See the ~
+~ copyright.txt in the distribution for a full listing of ~
+~ individual contributors. ~
+~ ~
+~ This is free software; you can redistribute it and/or modify it ~
+~ under the terms of the GNU Lesser General Public License as ~
+~ published by the Free Software Foundation; either version 2.1 of ~
+~ the License, or (at your option) any later version. ~
+~ ~
+~ This software is distributed in the hope that it will be useful, ~
+~ but WITHOUT ANY WARRANTY; without even the implied warranty of ~
+~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ~
+~ Lesser General Public License for more details. ~
+~ ~
+~ You should have received a copy of the GNU Lesser General Public ~
+~ License along with this software; if not, write to the Free ~
+~ Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA ~
+~ 02110-1301 USA, or see the FSF site: http://www.fsf.org. ~
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--%>
+
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+<%@ page isELIgnored="false" %>
+
+<portlet:defineObjects/>
+
+<table border="0" cellspacing="2" cellpadding="2">
+ <tr>
+ <td align="center"><a href="http://portal.demo.jboss.com" target="_blank"><img
+ src="<%= renderRequest.getContextPath() %>/images/dodemo.gif" border="0"
+ alt="Try the latest release of JBoss Portal, live and online."></a>
+ <a href="http://labs.jboss.com/portal/jbossportal/download/index.html" target="_blank"><img
+ src="<%= renderRequest.getContextPath() %>/images/getcode.gif" border="0"
+ alt="Download JBoss Portal and have it up and running in minutes."></a>
+ <a href="http://www.portletswap.com" target="_blank"><img
+ src="<%= renderRequest.getContextPath() %>/images/accessorize.gif" border="0"
+ alt="Download portlets and layouts for your new JBoss Portal installation."></a></td>
+ </tr>
+ <tr>
+ <td></td>
+ </tr>
+ <tr>
+ <td class="portlet-section-alternate">
+ <font class="portlet-font">This is a basic installation of <b><%= PortalConstants.VERSION %></b>. You may
+ log in at any time, using the <i>Login</i> link at the top-right of this page, with the following
+ credentials:</font>
+ </td>
+ </tr>
+ <tr>
+ <td class="portlet-section-alternate" align="center">
+ <b>user/user</b> or <b>admin/admin</b>
+ </td>
+ </tr>
+ <tr>
+ <td align="center">
+ If you are in need of guidance with regards to navigating, configuring, or operating the portal, please view
+ our <a href="http://labs.jboss.com/portal/jbossportal/docs/index.html" target="_blank">online documentation</a>.
+ </td>
+ </tr>
+</table>
Property changes on: trunk/core-samples/src/resources/portal-samples-war/WEB-INF/jsp/info/view.jsp
___________________________________________________________________
Name: svn:executable
+ *
17 years, 4 months
JBoss Portal SVN: r6095 - in trunk: build/ide/intellij/idea60/modules/core-samples and 5 other directories.
by portal-commits@lists.jboss.org
Author: julien(a)jboss.com
Date: 2007-01-24 19:26:27 -0500 (Wed, 24 Jan 2007)
New Revision: 6095
Removed:
trunk/core-samples/src/resources/portal-samples-war/WEB-INF/jsp/info/
Modified:
trunk/build/ide/intellij/idea60/modules/core-management/core-management.iml
trunk/build/ide/intellij/idea60/modules/core-samples/core-samples.iml
trunk/core-samples/src/resources/portal-samples-war/WEB-INF/jboss-portlet.xml
trunk/core-samples/src/resources/portal-samples-war/WEB-INF/portlet-instances.xml
trunk/core-samples/src/resources/portal-samples-war/WEB-INF/portlet.xml
trunk/core/src/main/org/jboss/portal/core/deployment/jboss/PortletAppDeployment.java
trunk/core/src/main/org/jboss/portal/core/deployment/jboss/PortletAppDeploymentFactory.java
trunk/core/src/main/org/jboss/portal/core/model/portal/command/RenderPortletWindowCommand.java
trunk/core/src/resources/portal-core-sar/META-INF/jboss-service.xml
Log:
- jsp portlet stays in samples (makes more sense)
- forgot to use entity resolver when parsing -object.xml in the war file (fixed now)
Modified: trunk/build/ide/intellij/idea60/modules/core-management/core-management.iml
===================================================================
--- trunk/build/ide/intellij/idea60/modules/core-management/core-management.iml 2007-01-25 00:22:24 UTC (rev 6094)
+++ trunk/build/ide/intellij/idea60/modules/core-management/core-management.iml 2007-01-25 00:26:27 UTC (rev 6095)
@@ -33,5 +33,9 @@
<orderEntry type="module" module-name="federation" />
<orderEntryProperties />
</component>
+ <component name="VcsManagerConfiguration">
+ <option name="ACTIVE_VCS_NAME" value="svn" />
+ <option name="USE_PROJECT_VCS" value="false" />
+ </component>
</module>
Modified: trunk/build/ide/intellij/idea60/modules/core-samples/core-samples.iml
===================================================================
--- trunk/build/ide/intellij/idea60/modules/core-samples/core-samples.iml 2007-01-25 00:22:24 UTC (rev 6094)
+++ trunk/build/ide/intellij/idea60/modules/core-samples/core-samples.iml 2007-01-25 00:26:27 UTC (rev 6095)
@@ -34,5 +34,9 @@
</orderEntry>
<orderEntryProperties />
</component>
+ <component name="VcsManagerConfiguration">
+ <option name="ACTIVE_VCS_NAME" value="svn" />
+ <option name="USE_PROJECT_VCS" value="false" />
+ </component>
</module>
Modified: trunk/core/src/main/org/jboss/portal/core/deployment/jboss/PortletAppDeployment.java
===================================================================
--- trunk/core/src/main/org/jboss/portal/core/deployment/jboss/PortletAppDeployment.java 2007-01-25 00:22:24 UTC (rev 6094)
+++ trunk/core/src/main/org/jboss/portal/core/deployment/jboss/PortletAppDeployment.java 2007-01-25 00:26:27 UTC (rev 6095)
@@ -175,6 +175,17 @@
{
in = Tools.safeBufferedWrapper(url.openStream());
DocumentBuilder builder = XML.getDocumentBuilderFactory().newDocumentBuilder();
+ EntityResolver entityResolver = factory.getPortalObjectEntityResolver();
+ if (entityResolver == null)
+ {
+ log.debug("Coult not obtain entity resolver for " + url);
+ entityResolver = new NullEntityResolver();
+ }
+ else
+ {
+ log.debug("Obtained entity resolver " + entityResolver + " for " + url);
+ }
+ builder.setEntityResolver(entityResolver);
Document doc = builder.parse(in);
Element deploymentsElt = doc.getDocumentElement();
for (Iterator i = XML.getChildrenIterator(deploymentsElt, "deployment"); i.hasNext();)
Modified: trunk/core/src/main/org/jboss/portal/core/deployment/jboss/PortletAppDeploymentFactory.java
===================================================================
--- trunk/core/src/main/org/jboss/portal/core/deployment/jboss/PortletAppDeploymentFactory.java 2007-01-25 00:22:24 UTC (rev 6094)
+++ trunk/core/src/main/org/jboss/portal/core/deployment/jboss/PortletAppDeploymentFactory.java 2007-01-25 00:26:27 UTC (rev 6095)
@@ -48,11 +48,24 @@
/** . */
protected EntityResolver portletInstancesEntityResolver;
+ /** . */
+ protected EntityResolver portalObjectEntityResolver;
+
public Deployment newInstance(URL url, PortalWebApp pwa, MBeanServer mbeanServer) throws DeploymentException
{
return new PortletAppDeployment(url, pwa, mbeanServer, this);
}
+ public EntityResolver getPortalObjectEntityResolver()
+ {
+ return portalObjectEntityResolver;
+ }
+
+ public void setPortalObjectEntityResolver(EntityResolver portalObjectEntityResolver)
+ {
+ this.portalObjectEntityResolver = portalObjectEntityResolver;
+ }
+
public EntityResolver getPortletInstancesEntityResolver()
{
return portletInstancesEntityResolver;
Modified: trunk/core/src/main/org/jboss/portal/core/model/portal/command/RenderPortletWindowCommand.java
===================================================================
--- trunk/core/src/main/org/jboss/portal/core/model/portal/command/RenderPortletWindowCommand.java 2007-01-25 00:22:24 UTC (rev 6094)
+++ trunk/core/src/main/org/jboss/portal/core/model/portal/command/RenderPortletWindowCommand.java 2007-01-25 00:26:27 UTC (rev 6095)
@@ -75,21 +75,9 @@
super(windowId);
}
- /** The instance. */
- protected Instance instance;
-
public void create() throws ControllerException
{
super.create();
-
- //
- instance = findInstance();
-
- // No instance means we can't continue
- if (instance == null)
- {
- throw new ResourceNotFoundException(window.getURI());
- }
}
protected Instance findInstance()
@@ -142,6 +130,14 @@
//
try
{
+ // Obtain instance
+ Instance instance = findInstance();
+ if (instance == null)
+ {
+ // No instance means we can't continue
+ throw new ResourceNotFoundException(window.getURI());
+ }
+
//
PortletInvocationResponse response;
try
Modified: trunk/core/src/resources/portal-core-sar/META-INF/jboss-service.xml
===================================================================
--- trunk/core/src/resources/portal-core-sar/META-INF/jboss-service.xml 2007-01-25 00:22:24 UTC (rev 6094)
+++ trunk/core/src/resources/portal-core-sar/META-INF/jboss-service.xml 2007-01-25 00:26:27 UTC (rev 6095)
@@ -1050,6 +1050,9 @@
optional-attribute-name="JBossPortletEntityResolver"
proxy-type="attribute">portal:service=EntityResolver</depends>
<depends
+ optional-attribute-name="PortalObjectEntityResolver"
+ proxy-type="attribute">portal:service=EntityResolver</depends>
+ <depends
optional-attribute-name="PortletInstancesEntityResolver"
proxy-type="attribute">portal:service=EntityResolver</depends>
<attribute name="StandardJBossApplicationMetaDataLocation">conf/standardjboss-portlet.xml</attribute>
Modified: trunk/core-samples/src/resources/portal-samples-war/WEB-INF/jboss-portlet.xml
===================================================================
--- trunk/core-samples/src/resources/portal-samples-war/WEB-INF/jboss-portlet.xml 2007-01-25 00:22:24 UTC (rev 6094)
+++ trunk/core-samples/src/resources/portal-samples-war/WEB-INF/jboss-portlet.xml 2007-01-25 00:26:27 UTC (rev 6095)
@@ -66,18 +66,6 @@
<portlet-name>SecuredTestPortlet</portlet-name>
</portlet>
<portlet>
- <portlet-name>ContentRewritePortlet</portlet-name>
- </portlet>
- <portlet>
- <portlet-name>HintPortlet</portlet-name>
- </portlet>
- <portlet>
- <portlet-name>WsrpSelectorTestPortlet</portlet-name>
- </portlet>
- <portlet>
- <portlet-name>ThemeSelectorPortlet</portlet-name>
- </portlet>
- <portlet>
<portlet-name>WeatherPortlet</portlet-name>
</portlet>
<portlet>
Modified: trunk/core-samples/src/resources/portal-samples-war/WEB-INF/portlet-instances.xml
===================================================================
--- trunk/core-samples/src/resources/portal-samples-war/WEB-INF/portlet-instances.xml 2007-01-25 00:22:24 UTC (rev 6094)
+++ trunk/core-samples/src/resources/portal-samples-war/WEB-INF/portlet-instances.xml 2007-01-25 00:26:27 UTC (rev 6095)
@@ -29,35 +29,17 @@
<deployments>
<deployment>
<instance>
- <instance-id>HeaderContentPortletInstance</instance-id>
- <portlet-ref>HeaderContentPortlet</portlet-ref>
+ <instance-id>JSPPortletInstance</instance-id>
+ <portlet-ref>JSPPortlet</portlet-ref>
</instance>
</deployment>
<deployment>
<instance>
- <instance-id>WeatherPortletInstance</instance-id>
- <portlet-ref>WeatherPortlet</portlet-ref>
- </instance>
- </deployment>
- <deployment>
- <instance>
<instance-id>NewsPortletInstance</instance-id>
<portlet-ref>NewsPortlet</portlet-ref>
</instance>
</deployment>
<deployment>
- <instance>
- <instance-id>JSPPortletInstance</instance-id>
- <portlet-ref>JSPPortlet</portlet-ref>
- </instance>
- </deployment>
- <deployment>
- <instance>
- <instance-id>URLPortletInstance</instance-id>
- <portlet-ref>URLPortlet</portlet-ref>
- </instance>
- </deployment>
- <deployment>
<if-exists>overwrite</if-exists>
<instance>
<instance-id>NewsPortletInstance2</instance-id>
@@ -76,6 +58,24 @@
</deployment>
<deployment>
<instance>
+ <instance-id>WeatherPortletInstance</instance-id>
+ <portlet-ref>WeatherPortlet</portlet-ref>
+ </instance>
+ </deployment>
+ <deployment>
+ <instance>
+ <instance-id>HeaderContentPortletInstance</instance-id>
+ <portlet-ref>HeaderContentPortlet</portlet-ref>
+ </instance>
+ </deployment>
+ <deployment>
+ <instance>
+ <instance-id>URLPortletInstance</instance-id>
+ <portlet-ref>URLPortlet</portlet-ref>
+ </instance>
+ </deployment>
+ <deployment>
+ <instance>
<instance-id>TestPortletInstance</instance-id>
<portlet-ref>TestPortlet</portlet-ref>
</instance>
Modified: trunk/core-samples/src/resources/portal-samples-war/WEB-INF/portlet.xml
===================================================================
--- trunk/core-samples/src/resources/portal-samples-war/WEB-INF/portlet.xml 2007-01-25 00:22:24 UTC (rev 6094)
+++ trunk/core-samples/src/resources/portal-samples-war/WEB-INF/portlet.xml 2007-01-25 00:26:27 UTC (rev 6095)
@@ -28,6 +28,19 @@
xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"
version="1.0">
<portlet>
+ <description>Simple JSP portlet</description>
+ <portlet-name>JSPPortlet</portlet-name>
+ <display-name>JSP Portlet</display-name>
+ <portlet-class>org.jboss.samples.portlet.jsp.JSPPortlet</portlet-class>
+ <supports>
+ <mime-type>text/html</mime-type>
+ <portlet-mode>VIEW</portlet-mode>
+ </supports>
+ <portlet-info>
+ <title>Greetings!</title>
+ </portlet-info>
+ </portlet>
+ <portlet>
<description>Portlet to test modification of head content.</description>
<portlet-name>HeaderContentPortlet</portlet-name>
<display-name>Header Content Portlet</display-name>
@@ -292,19 +305,6 @@
</portlet-preferences>
</portlet>
<portlet>
- <description>Simple JSP portlet</description>
- <portlet-name>JSPPortlet</portlet-name>
- <display-name>JSP Portlet</display-name>
- <portlet-class>org.jboss.samples.portlet.jsp.JSPPortlet</portlet-class>
- <supports>
- <mime-type>text/html</mime-type>
- <portlet-mode>VIEW</portlet-mode>
- </supports>
- <portlet-info>
- <title>Greetings!</title>
- </portlet-info>
- </portlet>
- <portlet>
<description>URL Portlet</description>
<portlet-name>URLPortlet</portlet-name>
<display-name>URL Portlet</display-name>
17 years, 4 months