[jboss-cvs] JBossAS SVN: r85322 - in projects/security/security-jboss-sx/trunk: acl and 5 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Thu Mar 5 13:58:27 EST 2009
Author: sguilhen at redhat.com
Date: 2009-03-05 13:58:26 -0500 (Thu, 05 Mar 2009)
New Revision: 85322
Added:
projects/security/security-jboss-sx/trunk/acl/src/main/java/org/jboss/security/acl/RoleBasedACLProviderImpl.java
projects/security/security-jboss-sx/trunk/acl/src/tests/java/org/jboss/test/security/acl/RoleBasedACLProviderUnitTestCase.java
Modified:
projects/security/security-jboss-sx/trunk/.classpath
projects/security/security-jboss-sx/trunk/acl/.classpath
projects/security/security-jboss-sx/trunk/acl/src/main/java/org/jboss/security/acl/ACLEntryImpl.java
projects/security/security-jboss-sx/trunk/acl/src/main/java/org/jboss/security/acl/ACLImpl.java
projects/security/security-jboss-sx/trunk/acl/src/main/java/org/jboss/security/acl/ACLProviderImpl.java
projects/security/security-jboss-sx/trunk/acl/src/main/java/org/jboss/security/acl/EntitlementEntry.java
projects/security/security-jboss-sx/trunk/acl/src/tests/java/org/jboss/test/security/acl/PersistenceTestCase.java
projects/security/security-jboss-sx/trunk/identity/.classpath
projects/security/security-jboss-sx/trunk/jbosssx-mc-int/.classpath
projects/security/security-jboss-sx/trunk/jbosssx-mc-int/.project
projects/security/security-jboss-sx/trunk/jbosssx/.classpath
projects/security/security-jboss-sx/trunk/jbosssx/.project
Log:
SECURITY-374: merged changes made in Branch_2_0
Modified: projects/security/security-jboss-sx/trunk/.classpath
===================================================================
--- projects/security/security-jboss-sx/trunk/.classpath 2009-03-05 18:57:55 UTC (rev 85321)
+++ projects/security/security-jboss-sx/trunk/.classpath 2009-03-05 18:58:26 UTC (rev 85322)
@@ -31,7 +31,6 @@
<classpathentry kind="var" path="M2_REPO/apache-xerces/xercesImpl/2.9.1/xercesImpl-2.9.1.jar"/>
<classpathentry kind="var" path="M2_REPO/junit/junit/3.8.1/junit-3.8.1.jar"/>
<classpathentry kind="var" path="M2_REPO/org/jboss/jboss-test/1.0.4.GA/jboss-test-1.0.4.GA.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/jboss/security/jboss-security-spi/2.0.2-SNAPSHOT/jboss-security-spi-2.0.2-SNAPSHOT.jar" sourcepath="/M2_REPO/org/jboss/security/jboss-security-spi/2.0.2-SNAPSHOT/jboss-security-spi-2.0.2-SNAPSHOT-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/hsqldb/hsqldb/1.8.0.2/hsqldb-1.8.0.2.jar"/>
<classpathentry kind="var" path="M2_REPO/javax/mail/mail/1.4/mail-1.4.jar"/>
<classpathentry kind="var" path="M2_REPO/org/jboss/jnpserver/5.0.0.Beta3/jnpserver-5.0.0.Beta3.jar"/>
@@ -43,5 +42,8 @@
<classpathentry kind="var" path="M2_REPO/sun-jaxb/jaxb-api/2.1.9/jaxb-api-2.1.9.jar"/>
<classpathentry kind="var" path="M2_REPO/sun-jaxb/jaxb-impl/2.1.9/jaxb-impl-2.1.9.jar"/>
<classpathentry kind="var" path="M2_REPO/javax/activation/activation/1.1/activation-1.1.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/jboss/security/jboss-security-spi/2.1.0-SNAPSHOT/jboss-security-spi-2.1.0-SNAPSHOT.jar"/>
+ <classpathentry kind="var" path="M2_REPO/dom4j/dom4j/1.6.1/dom4j-1.6.1.jar"/>
+ <classpathentry kind="var" path="M2_REPO/commons-logging/commons-logging/1.0.4/commons-logging-1.0.4.jar"/>
<classpathentry kind="output" path="target/eclipse-classes"/>
</classpath>
Modified: projects/security/security-jboss-sx/trunk/acl/.classpath
===================================================================
--- projects/security/security-jboss-sx/trunk/acl/.classpath 2009-03-05 18:57:55 UTC (rev 85321)
+++ projects/security/security-jboss-sx/trunk/acl/.classpath 2009-03-05 18:58:26 UTC (rev 85322)
@@ -1,45 +1,33 @@
-<?xml version="1.0" encoding="UTF-8"?>
<classpath>
- <classpathentry excluding="**/*.java" including="JBossORG-EULA.txt" kind="src" path=""/>
- <classpathentry kind="src" path="src/main/java"/>
- <classpathentry excluding="**/*.java" including="**/*.dtd|**/*.xsd" kind="src" path="src/main/resources"/>
- <classpathentry kind="src" output="target/test-classes" path="src/tests/java"/>
- <classpathentry excluding="**/*.java" including="**/*.xml" kind="src" output="target/test-classes" path="src/tests/resources"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
- <classpathentry kind="var" path="M2_REPO/ant/ant/1.6.5/ant-1.6.5.jar"/>
- <classpathentry kind="var" path="M2_REPO/ant/ant-junit/1.6.5/ant-junit-1.6.5.jar"/>
- <classpathentry kind="var" path="M2_REPO/antlr/antlr/2.7.6/antlr-2.7.6.jar"/>
- <classpathentry kind="var" path="M2_REPO/asm/asm/1.5.3/asm-1.5.3.jar"/>
- <classpathentry kind="var" path="M2_REPO/asm/asm-attrs/1.5.3/asm-attrs-1.5.3.jar"/>
- <classpathentry kind="var" path="M2_REPO/cglib/cglib/2.1_3/cglib-2.1_3.jar"/>
- <classpathentry kind="var" path="M2_REPO/commons-collections/commons-collections/2.1.1/commons-collections-2.1.1.jar"/>
- <classpathentry kind="var" path="M2_REPO/apache-httpclient/commons-httpclient/2.0.2/commons-httpclient-2.0.2.jar"/>
- <classpathentry kind="var" path="M2_REPO/commons-logging/commons-logging/1.0.4/commons-logging-1.0.4.jar"/>
- <classpathentry kind="var" path="M2_REPO/dom4j/dom4j/1.6.1/dom4j-1.6.1.jar"/>
- <classpathentry kind="var" path="M2_REPO/net/sf/ehcache/ehcache/1.2.3/ehcache-1.2.3.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate/3.2.4.sp1/hibernate-3.2.4.sp1.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-annotations/3.3.0.ga/hibernate-annotations-3.3.0.ga.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-commons-annotations/3.0.0.ga/hibernate-commons-annotations-3.0.0.ga.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-entitymanager/3.3.1.ga/hibernate-entitymanager-3.3.1.ga.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-validator/3.0.0.ga/hibernate-validator-3.0.0.ga.jar"/>
- <classpathentry kind="var" path="M2_REPO/hsqldb/hsqldb/1.8.0.2/hsqldb-1.8.0.2.jar"/>
- <classpathentry kind="src" path="/identity-impl"/>
- <classpathentry kind="var" path="M2_REPO/javassist/javassist/3.3.GA/javassist-3.3.GA.jar"/>
- <classpathentry kind="var" path="M2_REPO/jboss/jboss-common-core/2.0.2.GA/jboss-common-core-2.0.2.GA.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/jboss/jboss-common-core/2.2.1.GA/jboss-common-core-2.2.1.GA.jar"/>
- <classpathentry kind="var" path="M2_REPO/jboss/jboss-common-logging-log4j/2.0.4.GA/jboss-common-logging-log4j-2.0.4.GA.jar"/>
- <classpathentry kind="var" path="M2_REPO/jboss/jboss-common-logging-spi/2.0.4.GA/jboss-common-logging-spi-2.0.4.GA.jar"/>
- <classpathentry kind="var" path="M2_REPO/jboss/jboss-logging-log4j/2.0.2.GA/jboss-logging-log4j-2.0.2.GA.jar"/>
- <classpathentry kind="var" path="M2_REPO/jboss/jboss-logging-spi/2.0.2.GA/jboss-logging-spi-2.0.2.GA.jar"/>
- <classpathentry kind="var" path="M2_REPO/jboss/profiler/jvmti/jboss-profiler-jvmti/1.0.0.CR5/jboss-profiler-jvmti-1.0.0.CR5.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/jboss/jboss-test/1.0.4.GA/jboss-test-1.0.4.GA.jar"/>
- <classpathentry kind="var" path="M2_REPO/javax/transaction/jta/1.0.1B/jta-1.0.1B.jar"/>
- <classpathentry kind="var" path="M2_REPO/junit/junit/3.8.1/junit-3.8.1.jar"/>
- <classpathentry kind="var" path="M2_REPO/apache-log4j/log4j/1.2.14/log4j-1.2.14.jar"/>
- <classpathentry kind="var" path="M2_REPO/log4j/log4j/1.2.14/log4j-1.2.14.jar"/>
- <classpathentry kind="var" path="M2_REPO/javax/persistence/persistence-api/1.0/persistence-api-1.0.jar"/>
- <classpathentry kind="var" path="M2_REPO/apache-slide/webdavlib/2.0/webdavlib-2.0.jar"/>
- <classpathentry kind="var" path="M2_REPO/apache-xerces/xml-apis/2.7.1/xml-apis-2.7.1.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/jboss/security/jboss-security-spi/2.0.2-SNAPSHOT/jboss-security-spi-2.0.2-SNAPSHOT.jar"/>
- <classpathentry kind="output" path="target/classes"/>
-</classpath>
+ <classpathentry kind="src" path="." including="JBossORG-EULA.txt" excluding="**/*.java"/>
+ <classpathentry kind="src" path="src/main/java"/>
+ <classpathentry kind="src" path="src/main/resources" including="**/*.dtd|**/*.xsd" excluding="**/*.java"/>
+ <classpathentry kind="src" path="src/tests/java" output="target/test-classes"/>
+ <classpathentry kind="src" path="src/tests/resources" output="target/test-classes" including="**/*.xml" excluding="**/*.java"/>
+ <classpathentry kind="output" path="target/classes"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+ <classpathentry kind="var" path="M2_REPO/antlr/antlr/2.7.6/antlr-2.7.6.jar"/>
+ <classpathentry kind="var" path="M2_REPO/asm/asm/1.5.3/asm-1.5.3.jar"/>
+ <classpathentry kind="var" path="M2_REPO/asm/asm-attrs/1.5.3/asm-attrs-1.5.3.jar"/>
+ <classpathentry kind="var" path="M2_REPO/cglib/cglib/2.1_3/cglib-2.1_3.jar"/>
+ <classpathentry kind="var" path="M2_REPO/commons-collections/commons-collections/2.1.1/commons-collections-2.1.1.jar"/>
+ <classpathentry kind="var" path="M2_REPO/commons-logging/commons-logging/1.0.4/commons-logging-1.0.4.jar"/>
+ <classpathentry kind="var" path="M2_REPO/dom4j/dom4j/1.6.1/dom4j-1.6.1.jar" sourcepath="M2_REPO/dom4j/dom4j/1.6.1/dom4j-1.6.1-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/net/sf/ehcache/ehcache/1.2.3/ehcache-1.2.3.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate/3.2.4.sp1/hibernate-3.2.4.sp1.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-annotations/3.3.0.ga/hibernate-annotations-3.3.0.ga.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-commons-annotations/3.0.0.ga/hibernate-commons-annotations-3.0.0.ga.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-entitymanager/3.3.1.ga/hibernate-entitymanager-3.3.1.ga.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-validator/3.0.0.ga/hibernate-validator-3.0.0.ga.jar"/>
+ <classpathentry kind="var" path="M2_REPO/hsqldb/hsqldb/1.8.0.2/hsqldb-1.8.0.2.jar"/>
+ <classpathentry kind="src" path="/identity-impl"/>
+ <classpathentry kind="var" path="M2_REPO/javassist/javassist/3.3.GA/javassist-3.3.GA.jar"/>
+ <classpathentry kind="var" path="M2_REPO/jboss/jboss-common-core/2.0.2.GA/jboss-common-core-2.0.2.GA.jar"/>
+ <classpathentry kind="var" path="M2_REPO/jboss/jboss-logging-log4j/2.0.2.GA/jboss-logging-log4j-2.0.2.GA.jar"/>
+ <classpathentry kind="var" path="M2_REPO/jboss/jboss-logging-spi/2.0.2.GA/jboss-logging-spi-2.0.2.GA.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/jboss/security/jboss-security-spi/2.1.0-SNAPSHOT/jboss-security-spi-2.1.0-SNAPSHOT.jar" sourcepath="M2_REPO/org/jboss/security/jboss-security-spi/2.1.0-SNAPSHOT/jboss-security-spi-2.1.0-SNAPSHOT-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/javax/transaction/jta/1.0.1B/jta-1.0.1B.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/apache-log4j/log4j/1.2.8/log4j-1.2.8.jar"/>
+ <classpathentry kind="var" path="M2_REPO/javax/persistence/persistence-api/1.0/persistence-api-1.0.jar"/>
+</classpath>
\ No newline at end of file
Modified: projects/security/security-jboss-sx/trunk/acl/src/main/java/org/jboss/security/acl/ACLEntryImpl.java
===================================================================
--- projects/security/security-jboss-sx/trunk/acl/src/main/java/org/jboss/security/acl/ACLEntryImpl.java 2009-03-05 18:57:55 UTC (rev 85321)
+++ projects/security/security-jboss-sx/trunk/acl/src/main/java/org/jboss/security/acl/ACLEntryImpl.java 2009-03-05 18:58:26 UTC (rev 85322)
@@ -62,8 +62,8 @@
@Transient
private Identity identity;
- /* persist the string representation of the identity */
- private String identityString;
+ /* persist the string representation of the identity or role */
+ private String identityOrRole;
@ManyToOne
private ACLImpl acl;
@@ -89,10 +89,25 @@
{
this.permission = permission;
this.identity = identity;
+ this.identityOrRole = identity.getName();
}
/**
* <p>
+ * Builds an instance of {@code ACLEntryImpl} with the specified permission and identity/role name.
+ * </p>
+ *
+ * @param permission the {@code ACLPermission} granted to the associated identity.
+ * @param identityOrRole a {@code String} representing the identity or role name.
+ */
+ public ACLEntryImpl(BitMaskPermission permission, String identityOrRole)
+ {
+ this.permission = permission;
+ this.identityOrRole = identityOrRole;
+ }
+
+ /**
+ * <p>
* Obtains the persistent id of this {@code ACLEntryImpl}.
* </p>
*
@@ -114,7 +129,6 @@
{
if (this.permission != null)
this.bitMask = this.permission.getMaskValue();
- this.identityString = Util.getIdentityAsString(this.identity);
}
/**
@@ -129,10 +143,6 @@
if (this.permission != null)
throw new IllegalStateException("ACLEntry permission has already been set");
this.permission = new CompositeACLPermission(this.bitMask);
-
- if (this.identity != null)
- throw new IllegalStateException("ACLEntry identity has already been set");
- this.identity = Util.getIdentityFromString(identityString);
}
public ACLImpl getAcl()
@@ -148,6 +158,16 @@
/*
* (non-Javadoc)
*
+ * @see org.jboss.security.acl.ACLEntry#getIdentityOrRole()
+ */
+ public String getIdentityOrRole()
+ {
+ return this.identityOrRole;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
* @see org.jboss.security.acl.ACLEntry#getIdentity()
*/
public Identity getIdentity()
@@ -193,7 +213,7 @@
if (obj instanceof ACLEntryImpl)
{
ACLEntryImpl entry = (ACLEntryImpl) obj;
- return entry.getIdentity().getName().equals(this.identity.getName());
+ return this.identityOrRole.equals(entry.identityOrRole);
}
return false;
}
@@ -206,6 +226,6 @@
@Override
public int hashCode()
{
- return this.getIdentity().getName().hashCode();
+ return this.identityOrRole.hashCode();
}
}
Modified: projects/security/security-jboss-sx/trunk/acl/src/main/java/org/jboss/security/acl/ACLImpl.java
===================================================================
--- projects/security/security-jboss-sx/trunk/acl/src/main/java/org/jboss/security/acl/ACLImpl.java 2009-03-05 18:57:55 UTC (rev 85321)
+++ projects/security/security-jboss-sx/trunk/acl/src/main/java/org/jboss/security/acl/ACLImpl.java 2009-03-05 18:58:26 UTC (rev 85322)
@@ -67,7 +67,7 @@
private String resourceAsString;
@Transient
- private Map<Identity, ACLEntry> entriesMap;
+ private Map<String, ACLEntry> entriesMap;
@OneToMany(mappedBy = "acl", fetch = FetchType.EAGER, cascade =
{CascadeType.REMOVE, CascadeType.PERSIST})
@@ -149,11 +149,11 @@
this.initEntriesMap();
// don't add a null entry or an entry that already existSELECT * FROM ACL_ENTRYs.
- if (entry == null || this.entriesMap.get(entry.getIdentity()) != null)
+ if (entry == null || this.entriesMap.get(entry.getIdentityOrRole()) != null)
return false;
this.entries.add((ACLEntryImpl) entry);
((ACLEntryImpl) entry).setAcl(this);
- this.entriesMap.put(entry.getIdentity(), entry);
+ this.entriesMap.put(entry.getIdentityOrRole(), entry);
return true;
}
@@ -166,7 +166,7 @@
{
if (this.entriesMap == null)
this.initEntriesMap();
- this.entriesMap.remove(entry.getIdentity());
+ this.entriesMap.remove(entry.getIdentityOrRole());
return this.entries.remove(entry);
}
@@ -189,12 +189,26 @@
*/
public ACLEntry getEntry(Identity identity)
{
- return this.entriesMap.get(identity);
+ if (this.entriesMap == null)
+ this.initEntriesMap();
+ return this.entriesMap.get(identity.getName());
}
/*
* (non-Javadoc)
*
+ * @see org.jboss.security.acl.ACL#getEntry(java.lang.String)
+ */
+ public ACLEntry getEntry(String identityOrRole)
+ {
+ if (this.entriesMap == null)
+ this.initEntriesMap();
+ return this.entriesMap.get(identityOrRole);
+ }
+
+ /*
+ * (non-Javadoc)
+ *
* @see org.jboss.security.acl.ACL#isGranted(org.jboss.security.acl.ACLPermission,
* org.jboss.security.identity.Identity)
*/
@@ -204,7 +218,7 @@
this.initEntriesMap();
// lookup the entry corresponding to the specified identity.
- ACLEntry entry = this.entriesMap.get(identity);
+ ACLEntry entry = this.entriesMap.get(identity.getName());
if (entry != null)
{
// check the permission associated with the identity.
@@ -256,9 +270,9 @@
*/
private void initEntriesMap()
{
- this.entriesMap = new HashMap<Identity, ACLEntry>();
+ this.entriesMap = new HashMap<String, ACLEntry>();
for (ACLEntry entry : this.entries)
- this.entriesMap.put(entry.getIdentity(), entry);
+ this.entriesMap.put(entry.getIdentityOrRole(), entry);
}
}
Modified: projects/security/security-jboss-sx/trunk/acl/src/main/java/org/jboss/security/acl/ACLProviderImpl.java
===================================================================
--- projects/security/security-jboss-sx/trunk/acl/src/main/java/org/jboss/security/acl/ACLProviderImpl.java 2009-03-05 18:57:55 UTC (rev 85321)
+++ projects/security/security-jboss-sx/trunk/acl/src/main/java/org/jboss/security/acl/ACLProviderImpl.java 2009-03-05 18:58:26 UTC (rev 85322)
@@ -36,7 +36,9 @@
/**
* <p>
- * This class is the standard {@code ACLProvider} implementation.
+ * This class is the standard {@code ACLProvider} implementation. The access control decisions are based on the name of
+ * the specified identity (that is, it assumes that entries in an ACL are keyed by the name of the identity and not by
+ * other attributes, like the its roles).
* </p>
*
* @author <a href="mailto:sguilhen at redhat.com">Stefan Guilhen</a>
@@ -47,7 +49,7 @@
private static final String PERSISTENCE_STRATEGY_OPTION = "persistenceStrategy";
/** persistence strategy used to retrieve the ACLs */
- private ACLPersistenceStrategy strategy;
+ protected ACLPersistenceStrategy strategy;
/*
* (non-Javadoc)
@@ -87,9 +89,9 @@
Set<EntitlementEntry> entitlements = new HashSet<EntitlementEntry>();
// get the initial permissions - those that apply to the specified resource.
- ACLPermission permission = this.getInitialPermissions(resource, identity);
+ ACLPermission permission = this.getInitialPermissions(resource, identity.getName());
if (permission != null)
- this.fillEntitlements(entitlements, resource, identity, permission);
+ this.fillEntitlements(entitlements, resource, identity.getName(), permission);
return (Set<T>) entitlements;
}
@@ -120,11 +122,11 @@
*
* @param entitlements a reference for the collection of {@code EntitlementEntry} objects that is being constructed.
* @param resource the {@code Resource} being visited.
- * @param identity the {@code Identity} for which the entitlements are being built.
+ * @param identityName a {@code String} representing the identity for which the entitlements are being built.
* @param permission the {@code ACLPermission} to be used in case no ACL is found for the resource being visited.
*/
@SuppressWarnings("unchecked")
- private void fillEntitlements(Set<EntitlementEntry> entitlements, Resource resource, Identity identity,
+ protected void fillEntitlements(Set<EntitlementEntry> entitlements, Resource resource, String identityName,
ACLPermission permission)
{
ACLPermission currentPermission = permission;
@@ -132,17 +134,17 @@
ACL acl = this.strategy.getACL(resource);
if (acl != null)
{
- ACLEntry entry = acl.getEntry(identity);
+ ACLEntry entry = acl.getEntry(identityName);
// null entry means the identity has no permissions over the specified resource.
if (entry == null)
return;
currentPermission = entry.getPermission();
- entitlements.add(new EntitlementEntry(resource, currentPermission));
+ entitlements.add(new EntitlementEntry(resource, currentPermission, identityName));
}
else
{
// if resource's ACL is null, build an entry using the permission parameter.
- entitlements.add(new EntitlementEntry(resource, currentPermission));
+ entitlements.add(new EntitlementEntry(resource, currentPermission, identityName));
}
// iterate through the sub-resources (if any), adding their entries to the entitlements collection.
@@ -150,7 +152,7 @@
if (childResources != null)
{
for (Resource childResource : childResources)
- fillEntitlements(entitlements, childResource, identity, currentPermission);
+ fillEntitlements(entitlements, childResource, identityName, currentPermission);
}
}
@@ -170,12 +172,12 @@
*
* @param resource the {@code Resource} for which we want to discover the permissions that have been assigned to the
* specified identity.
- * @param identity the {@code Identity} for which we want to discover the permissions regarding the specified
- * resource.
+ * @param identityName a {@code String} representing the identity for which we want to discover the permissions
+ * regarding the specified resource.
* @return an {@code ACLPermission} containing the permissions that have been assigned to the identity with respect
* to the specified resource, or {@code null} if the identity has no permissions at all.
*/
- private ACLPermission getInitialPermissions(Resource resource, Identity identity)
+ protected ACLPermission getInitialPermissions(Resource resource, String identityName)
{
ACL acl = this.strategy.getACL(resource);
// if no ACL was found, try to find a parent ACL.
@@ -183,12 +185,12 @@
{
Resource parent = (Resource) resource.getMap().get(ResourceKeys.PARENT_RESOURCE);
if (parent != null)
- return getInitialPermissions(parent, identity);
+ return getInitialPermissions(parent, identityName);
// no ACL was found and no parent resource exists - identity has all permissions as resource is not protected.
return new CompositeACLPermission(BasicACLPermission.values());
}
// if an ACL was found, return the permissions associated with the specified identity.
- ACLEntry entry = acl.getEntry(identity);
+ ACLEntry entry = acl.getEntry(identityName);
if (entry != null)
return entry.getPermission();
// the absence of an entry means that the identity has no permissions over the specified resource.
@@ -230,7 +232,16 @@
{
ACL acl = strategy.getACL(resource);
if (acl != null)
- return acl.isGranted(permission, identity);
+ {
+ ACLEntry entry = acl.getEntry(identity);
+ if (entry != null)
+ {
+ // check the permission associated with the identity.
+ return entry.checkPermission(permission);
+ }
+ // no entry for identity = deny access
+ return false;
+ }
else
throw new AuthorizationException("Unable to locate an ACL for the resource " + resource);
}
@@ -256,7 +267,7 @@
* @return a reference to the loaded {@code Class}.
* @throws PrivilegedActionException if an error occurs while loading the specified class.
*/
- private Class<?> loadClass(final String name) throws PrivilegedActionException
+ protected Class<?> loadClass(final String name) throws PrivilegedActionException
{
return AccessController.doPrivileged(new PrivilegedExceptionAction<Class<?>>()
{
Modified: projects/security/security-jboss-sx/trunk/acl/src/main/java/org/jboss/security/acl/EntitlementEntry.java
===================================================================
--- projects/security/security-jboss-sx/trunk/acl/src/main/java/org/jboss/security/acl/EntitlementEntry.java 2009-03-05 18:57:55 UTC (rev 85321)
+++ projects/security/security-jboss-sx/trunk/acl/src/main/java/org/jboss/security/acl/EntitlementEntry.java 2009-03-05 18:58:26 UTC (rev 85322)
@@ -26,7 +26,7 @@
/**
* <p>
* This class represents a standard entry in the collection returned by the {@code ACLProvider.getEntitlements} method.
- * It contains the permissions that a particular identity has over an specific resource.
+ * It contains the permissions that a particular identity or role has over an specific resource.
* </p>
*
* @author <a href="mailto:sguilhen at redhat.com">Stefan Guilhen</a>
@@ -37,6 +37,8 @@
private final ACLPermission permission;
+ private final String identityOrRole;
+
/**
* <p>
* Creates an instance of {@code EntitlementEntry} with the specified resource and permissions.
@@ -44,13 +46,15 @@
*
* @param resource a reference to the {@code Resource} object.
* @param permission the permissions a particular identity has over the specified resource.
+ * @param identityOrRole a {@code String} containing the name of the identity or the role.
*/
- public EntitlementEntry(Resource resource, ACLPermission permission)
+ public EntitlementEntry(Resource resource, ACLPermission permission, String identityOrRole)
{
if(resource == null || permission == null)
throw new IllegalArgumentException("Illegal null value for resource or permission");
this.resource = resource;
this.permission = permission;
+ this.identityOrRole = identityOrRole;
}
public Resource getResource()
@@ -62,5 +66,10 @@
{
return this.permission;
}
+
+ public String getIdentityOrRole()
+ {
+ return this.identityOrRole;
+ }
}
Added: projects/security/security-jboss-sx/trunk/acl/src/main/java/org/jboss/security/acl/RoleBasedACLProviderImpl.java
===================================================================
--- projects/security/security-jboss-sx/trunk/acl/src/main/java/org/jboss/security/acl/RoleBasedACLProviderImpl.java (rev 0)
+++ projects/security/security-jboss-sx/trunk/acl/src/main/java/org/jboss/security/acl/RoleBasedACLProviderImpl.java 2009-03-05 18:58:26 UTC (rev 85322)
@@ -0,0 +1,133 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2009, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file 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.security.acl;
+
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
+import org.jboss.security.authorization.AuthorizationException;
+import org.jboss.security.authorization.Resource;
+import org.jboss.security.identity.Identity;
+import org.jboss.security.identity.Role;
+import org.jboss.security.identity.RoleGroup;
+
+/**
+ * <p>
+ * Implementation of {@code ACLProvider} that uses the identity roles when checking if access to a protected resource
+ * should be granted or not. If no roles are associated with the specified identity, then the default implementation,
+ * which is based on the identity name, is used. Otherwise, {@code #isAccessGranted()} iterates over the roles and if
+ * one of the roles has sufficient permissions, then access is granted.
+ * </p>
+ *
+ * @author <a href="mailto:sguilhen at redhat.com">Stefan Guilhen</a>
+ */
+public class RoleBasedACLProviderImpl extends ACLProviderImpl
+{
+
+ @Override
+ @SuppressWarnings("unchecked")
+ public <T> Set<T> getEntitlements(Class<T> clazz, Resource resource, Identity identity)
+ throws AuthorizationException
+ {
+ if (identity.getRole() == null)
+ return super.getEntitlements(clazz, resource, identity);
+
+ // currently we only provide sets of EntitlementEntry objects.
+ if (!EntitlementEntry.class.equals(clazz))
+ return null;
+
+ Set<EntitlementEntry> entitlements = new HashSet<EntitlementEntry>();
+ // fill the entitlements for each role.
+ List<Role> roles = new ArrayList<Role>();
+ this.getAllRoles(identity.getRole(), roles);
+
+ for (Role role : roles)
+ {
+ // get the initial permissions - those that apply to the specified resource.
+ ACLPermission permission = super.getInitialPermissions(resource, role.getRoleName());
+ if (permission != null)
+ super.fillEntitlements(entitlements, resource, role.getRoleName(), permission);
+ }
+ return (Set<T>) entitlements;
+ }
+
+ /**
+ * <p>
+ * This method overrides the default implementation to use roles instead of the identity name when checking for
+ * permissions. If the specified identity has one or more roles associated with it, this implementation will use
+ * these roles to check if the identity should be granted access to the resource or not.
+ * </p>
+ */
+ @Override
+ public boolean isAccessGranted(Resource resource, Identity identity, ACLPermission permission)
+ throws AuthorizationException
+ {
+ // if there are no roles associated with the identity, use the default implementation
+ if (identity.getRole() == null)
+ return super.isAccessGranted(resource, identity, permission);
+
+ if (super.strategy != null)
+ {
+ ACL acl = strategy.getACL(resource);
+ if (acl != null)
+ {
+ // check if any of the identity's roles has access to the resource.
+ List<Role> roles = new ArrayList<Role>();
+ this.getAllRoles(identity.getRole(), roles);
+
+ for (Role role : roles)
+ {
+ ACLEntry entry = acl.getEntry(role.getRoleName());
+ if (entry != null && entry.checkPermission(permission))
+ return true;
+ }
+ return false;
+ }
+ else
+ throw new AuthorizationException("Unable to locate an ACL for the resource " + resource);
+ }
+ throw new AuthorizationException("Unable to retrieve ACL: persistece strategy not set");
+ }
+
+ /**
+ * <p>
+ * This method traverses the role tree that has the specified root role and puts all simple (i.e. not an instance of
+ * RoleGroup) roles into the specified roles list.
+ * </p>
+ *
+ * @param role the root of the role tree.
+ * @param roles the {@code List<Role>} that contains the simple roles of the tree.
+ */
+ protected void getAllRoles(Role role, List<Role> roles)
+ {
+ if (role instanceof RoleGroup)
+ {
+ RoleGroup group = (RoleGroup) role;
+ for (Role nestedRole : group.getRoles())
+ getAllRoles(nestedRole, roles);
+ }
+ else
+ roles.add(role);
+ }
+}
Modified: projects/security/security-jboss-sx/trunk/acl/src/tests/java/org/jboss/test/security/acl/PersistenceTestCase.java
===================================================================
--- projects/security/security-jboss-sx/trunk/acl/src/tests/java/org/jboss/test/security/acl/PersistenceTestCase.java 2009-03-05 18:57:55 UTC (rev 85321)
+++ projects/security/security-jboss-sx/trunk/acl/src/tests/java/org/jboss/test/security/acl/PersistenceTestCase.java 2009-03-05 18:58:26 UTC (rev 85322)
@@ -42,9 +42,9 @@
/**
* <p>
- * This {@code TestCase} tests the functionality of the persistence layer added to the {@code ACL} implementation classes.
- * It uses an in-memory hsql test database, so there is no need to perform any special database cleanup in case one of the
- * tests fail. Every time the tests are run a clean new database is used.
+ * This {@code TestCase} tests the functionality of the persistence layer added to the {@code ACL} implementation
+ * classes. It uses an in-memory hsql test database, so there is no need to perform any special database cleanup in case
+ * one of the tests fail. Every time the tests are run a clean new database is used.
* </p>
*
* @author <a href="mailto:sguilhen at redhat.com">Stefan Guilhen</a>
@@ -61,6 +61,7 @@
/*
* (non-Javadoc)
+ *
* @see junit.framework.TestCase#setUp()
*/
@Override
@@ -91,6 +92,7 @@
/*
* (non-Javadoc)
+ *
* @see junit.framework.TestCase#tearDown()
*/
@Override
@@ -156,8 +158,8 @@
// execute some queries and validate the results.
ACLEntryImpl entry = this.persistedEntries.get(1);
ACLEntryImpl queryResult = (ACLEntryImpl) this.entityManager.createQuery(
- "SELECT e FROM ACLEntryImpl e WHERE e.identityString LIKE '"
- + Util.getIdentityAsString(entry.getIdentity()) + "'").getSingleResult();
+ "SELECT e FROM ACLEntryImpl e WHERE e.identityOrRole LIKE '"
+ + entry.getIdentityOrRole() + "'").getSingleResult();
assertNotNull("Entry2 could not be retrieved by it's identity", queryResult);
assertEquals(entry, queryResult);
@@ -189,7 +191,7 @@
/**
* <p>
- * Tests searching for the persisted {@code ACL} objects.
+ * Tests searching for the persisted {@code ACL} objects.
* </p>
*
* @throws Exception if an error occurs when running the test.
Added: projects/security/security-jboss-sx/trunk/acl/src/tests/java/org/jboss/test/security/acl/RoleBasedACLProviderUnitTestCase.java
===================================================================
--- projects/security/security-jboss-sx/trunk/acl/src/tests/java/org/jboss/test/security/acl/RoleBasedACLProviderUnitTestCase.java (rev 0)
+++ projects/security/security-jboss-sx/trunk/acl/src/tests/java/org/jboss/test/security/acl/RoleBasedACLProviderUnitTestCase.java 2009-03-05 18:58:26 UTC (rev 85322)
@@ -0,0 +1,125 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2009, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file 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.test.security.acl;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import junit.framework.TestCase;
+
+import org.jboss.security.acl.ACLEntry;
+import org.jboss.security.acl.ACLEntryImpl;
+import org.jboss.security.acl.ACLPersistenceStrategy;
+import org.jboss.security.acl.ACLProvider;
+import org.jboss.security.acl.BasicACLPermission;
+import org.jboss.security.acl.CompositeACLPermission;
+import org.jboss.security.acl.JPAPersistenceStrategy;
+import org.jboss.security.acl.RoleBasedACLProviderImpl;
+import org.jboss.security.authorization.Resource;
+import org.jboss.security.identity.Identity;
+import org.jboss.security.identity.Role;
+import org.jboss.security.identity.RoleFactory;
+import org.jboss.security.identity.RoleGroup;
+import org.jboss.security.identity.plugins.IdentityFactory;
+
+/**
+ * <p>
+ * This {@code TestCase} tests the functionality implemented by the {@code RoleBasedACLProviderImpl} class.
+ * </p>
+ *
+ * @author <a href="mailto:sguilhen at redhat.com">Stefan Guilhen</a>
+ */
+public class RoleBasedACLProviderUnitTestCase extends TestCase
+{
+
+ private Resource[] resources;
+
+ private Identity identity;
+
+ private final ACLPersistenceStrategy strategy = new JPAPersistenceStrategy();
+
+ @Override
+ protected void setUp() throws Exception
+ {
+ super.setUp();
+ // build the test resources.
+ this.resources = new Resource[2];
+ for (int i = 0; i < resources.length; i++)
+ resources[i] = new TestResource(i, "Test Resource " + i);
+
+ // Identity 'john' has two roles (role1 and role2).
+ Role role1 = RoleFactory.createRole("role1");
+ Role role2 = RoleFactory.createRole("role2");
+ RoleGroup roleGroup = RoleFactory.createRoleGroup("RoleGroup");
+ roleGroup.addRole(role1);
+ roleGroup.addRole(role2);
+ this.identity = IdentityFactory.createIdentityWithRole("john", roleGroup);
+
+ // create the ACLs for the resources.
+ ACLEntry entry1 = new ACLEntryImpl(BasicACLPermission.READ, "role1");
+ ACLEntry entry2 = new ACLEntryImpl(
+ new CompositeACLPermission(BasicACLPermission.READ, BasicACLPermission.UPDATE), "role2");
+ ACLEntry entry3 = new ACLEntryImpl(new CompositeACLPermission(BasicACLPermission.values()), "role3");
+ List<ACLEntry> entries = new ArrayList<ACLEntry>();
+ entries.add(entry1);
+ entries.add(entry2);
+ entries.add(entry3);
+ this.strategy.createACL(this.resources[0], entries);
+
+ // the second ACL uses the identity name.
+ entry1 = new ACLEntryImpl(BasicACLPermission.READ, "ritchie");
+ entry2 = new ACLEntryImpl(new CompositeACLPermission(BasicACLPermission.values()), "john");
+ entries = new ArrayList<ACLEntry>();
+ entries.add(entry1);
+ entries.add(entry2);
+ this.strategy.createACL(this.resources[1], entries);
+ }
+
+ /**
+ * <p>
+ * Tests the behavior of the {@code isAccessGranted} method, which uses the identity's roles to check whether
+ * access to the resource should be granted or not.
+ * </p>
+ *
+ * @throws Exception if an error occurs while running the test.
+ */
+ public void testACLProvider() throws Exception
+ {
+ // create the RoleBasedACLProvider instance.
+ ACLProvider provider = new RoleBasedACLProviderImpl();
+ provider.setPersistenceStrategy(this.strategy);
+
+ // as john has role 2, he should be able to update resource 0.
+ assertTrue(provider.isAccessGranted(this.resources[0], this.identity, BasicACLPermission.UPDATE));
+ // none of john's roles has DELETE permission, so he should not be able to delete resource 0.
+ assertFalse(provider.isAccessGranted(this.resources[0], this.identity, BasicACLPermission.DELETE));
+
+ // now create a new identity for john that has no roles. The role-based provider should now use the
+ // identity name (default impl) when checking for permissions.
+ Identity identity = IdentityFactory.createIdentity("john");
+ assertTrue(provider.isAccessGranted(this.resources[1], identity, new CompositeACLPermission(BasicACLPermission
+ .values())));
+ // access should be denied to resource 0, as that one has an ACL based on the roles.
+ assertFalse(provider.isAccessGranted(this.resources[0], identity, BasicACLPermission.READ));
+ }
+
+}
Modified: projects/security/security-jboss-sx/trunk/identity/.classpath
===================================================================
--- projects/security/security-jboss-sx/trunk/identity/.classpath 2009-03-05 18:57:55 UTC (rev 85321)
+++ projects/security/security-jboss-sx/trunk/identity/.classpath 2009-03-05 18:58:26 UTC (rev 85322)
@@ -6,22 +6,6 @@
<classpathentry kind="src" path="src/test/java" output="target/test-classes"/>
<classpathentry kind="output" path="target/classes"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
- <classpathentry kind="var" path="M2_REPO/ant/ant/1.6.5/ant-1.6.5.jar" sourcepath="M2_REPO/ant/ant/1.6.5/ant-1.6.5-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/ant/ant-junit/1.6.5/ant-junit-1.6.5.jar"/>
- <classpathentry kind="var" path="M2_REPO/apache-httpclient/commons-httpclient/2.0.2/commons-httpclient-2.0.2.jar"/>
- <classpathentry kind="var" path="M2_REPO/oswego-concurrent/concurrent/1.3.4/concurrent-1.3.4.jar"/>
- <classpathentry kind="var" path="M2_REPO/jboss/jboss-common-core/2.0.2.GA/jboss-common-core-2.0.2.GA.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/jboss/jboss-common-core/2.2.1.GA/jboss-common-core-2.2.1.GA.jar"/>
- <classpathentry kind="var" path="M2_REPO/jboss/jboss-common-logging-log4j/2.0.4.GA/jboss-common-logging-log4j-2.0.4.GA.jar"/>
- <classpathentry kind="var" path="M2_REPO/jboss/jboss-common-logging-spi/2.0.4.GA/jboss-common-logging-spi-2.0.4.GA.jar" sourcepath="M2_REPO/jboss/jboss-common-logging-spi/2.0.4.GA/jboss-common-logging-spi-2.0.4.GA-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/jboss/jboss-logging-log4j/2.0.2.GA/jboss-logging-log4j-2.0.2.GA.jar"/>
- <classpathentry kind="var" path="M2_REPO/jboss/jboss-logging-spi/2.0.2.GA/jboss-logging-spi-2.0.2.GA.jar"/>
- <classpathentry kind="var" path="M2_REPO/jboss/profiler/jvmti/jboss-profiler-jvmti/1.0.0.CR5/jboss-profiler-jvmti-1.0.0.CR5.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/jboss/security/jboss-security-spi/2.0.2-SNAPSHOT/jboss-security-spi-2.0.2-SNAPSHOT.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/jboss/jboss-test/1.0.4.GA/jboss-test-1.0.4.GA.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/jboss/security/jboss-security-spi/2.1.0-SNAPSHOT/jboss-security-spi-2.1.0-SNAPSHOT.jar" sourcepath="M2_REPO/org/jboss/security/jboss-security-spi/2.1.0-SNAPSHOT/jboss-security-spi-2.1.0-SNAPSHOT-sources.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/apache-log4j/log4j/1.2.14/log4j-1.2.14.jar" sourcepath="M2_REPO/apache-log4j/log4j/1.2.14/log4j-1.2.14-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/log4j/log4j/1.2.14/log4j-1.2.14.jar" sourcepath="M2_REPO/log4j/log4j/1.2.14/log4j-1.2.14-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/apache-slide/webdavlib/2.0/webdavlib-2.0.jar"/>
- <classpathentry kind="var" path="M2_REPO/apache-xerces/xml-apis/2.7.1/xml-apis-2.7.1.jar"/>
</classpath>
\ No newline at end of file
Modified: projects/security/security-jboss-sx/trunk/jbosssx/.classpath
===================================================================
--- projects/security/security-jboss-sx/trunk/jbosssx/.classpath 2009-03-05 18:57:55 UTC (rev 85321)
+++ projects/security/security-jboss-sx/trunk/jbosssx/.classpath 2009-03-05 18:58:26 UTC (rev 85322)
@@ -7,7 +7,7 @@
<classpathentry kind="src" path="target/generated-sources/javacc"/>
<classpathentry kind="output" path="target/classes"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
- <classpathentry kind="var" path="M2_REPO/javax/activation/activation/1.1/activation-1.1.jar" sourcepath="M2_REPO/javax/activation/activation/1.1/activation-1.1-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/javax/activation/activation/1.0.2/activation-1.0.2.jar"/>
<classpathentry kind="var" path="M2_REPO/sun-jaf/activation/1.1/activation-1.1.jar"/>
<classpathentry kind="var" path="M2_REPO/ant/ant/1.6.5/ant-1.6.5.jar" sourcepath="M2_REPO/ant/ant/1.6.5/ant-1.6.5-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/ant/ant-junit/1.6.5/ant-junit-1.6.5.jar"/>
@@ -16,7 +16,6 @@
<classpathentry kind="var" path="M2_REPO/asm/asm-attrs/1.5.3/asm-attrs-1.5.3.jar"/>
<classpathentry kind="var" path="M2_REPO/cglib/cglib/2.1_3/cglib-2.1_3.jar"/>
<classpathentry kind="var" path="M2_REPO/commons-collections/commons-collections/2.1.1/commons-collections-2.1.1.jar"/>
- <classpathentry kind="var" path="M2_REPO/apache-httpclient/commons-httpclient/2.0.2/commons-httpclient-2.0.2.jar"/>
<classpathentry kind="var" path="M2_REPO/commons-logging/commons-logging/1.0.4/commons-logging-1.0.4.jar"/>
<classpathentry kind="var" path="M2_REPO/dom4j/dom4j/1.6.1/dom4j-1.6.1.jar" sourcepath="M2_REPO/dom4j/dom4j/1.6.1/dom4j-1.6.1-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/wutka-dtdparser/dtdparser121/1.2.1/dtdparser121-1.2.1.jar"/>
@@ -26,17 +25,16 @@
<classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-commons-annotations/3.0.0.ga/hibernate-commons-annotations-3.0.0.ga.jar"/>
<classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-entitymanager/3.3.1.ga/hibernate-entitymanager-3.3.1.ga.jar"/>
<classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-validator/3.0.0.ga/hibernate-validator-3.0.0.ga.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/jboss/security/identity-impl/2.0.2-SNAPSHOT/identity-impl-2.0.2-SNAPSHOT.jar"/>
- <classpathentry kind="var" path="M2_REPO/javassist/javassist/3.4.GA/javassist-3.4.GA.jar"/>
+ <classpathentry kind="src" path="/identity-impl"/>
+ <classpathentry kind="var" path="M2_REPO/javassist/javassist/3.3.GA/javassist-3.3.GA.jar"/>
<classpathentry kind="var" path="M2_REPO/sun-jaxb/jaxb-api/2.1.4/jaxb-api-2.1.4.jar" sourcepath="M2_REPO/sun-jaxb/jaxb-api/2.1.4/jaxb-api-2.1.4-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/sun-jaxb/jaxb-impl/2.1.4/jaxb-impl-2.1.4.jar" sourcepath="M2_REPO/sun-jaxb/jaxb-impl/2.1.4/jaxb-impl-2.1.4-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/sun-jaxb/jaxb-xjc/2.1.4/jaxb-xjc-2.1.4.jar"/>
<classpathentry kind="var" path="M2_REPO/jboss/jboss-common-core/2.0.4.GA/jboss-common-core-2.0.4.GA.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/jboss/jboss-common-core/2.2.1.GA/jboss-common-core-2.2.1.GA.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/jboss/jboss-common-core/2.2.8.GA/jboss-common-core-2.2.8.GA.jar" sourcepath="M2_REPO/org/jboss/jboss-common-core/2.2.8.GA/jboss-common-core-2.2.8.GA-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/jboss/jboss-common-logging-log4j/2.0.4.GA/jboss-common-logging-log4j-2.0.4.GA.jar"/>
<classpathentry kind="var" path="M2_REPO/jboss/jboss-common-logging-spi/2.0.4.GA/jboss-common-logging-spi-2.0.4.GA.jar" sourcepath="M2_REPO/jboss/jboss-common-logging-spi/2.0.4.GA/jboss-common-logging-spi-2.0.4.GA-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/jboss/javaee/jboss-jacc-api/1.1.0.CR1/jboss-jacc-api-1.1.0.CR1.jar" sourcepath="M2_REPO/org/jboss/javaee/jboss-jacc-api/1.1.0.CR1/jboss-jacc-api-1.1.0.CR1-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/jboss/javaee/jboss-jaspi-api/1.0.0.CR1/jboss-jaspi-api-1.0.0.CR1.jar" sourcepath="M2_REPO/org/jboss/javaee/jboss-jaspi-api/1.0.0.CR1/jboss-jaspi-api-1.0.0.CR1-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/jboss/javaee/jboss-jaspi-api/1.0.0.GA/jboss-jaspi-api-1.0.0.GA.jar" sourcepath="M2_REPO/org/jboss/javaee/jboss-jaspi-api/1.0.0.GA/jboss-jaspi-api-1.0.0.GA-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/org/jboss/javaee/jboss-javaee/5.0.0.Beta3/jboss-javaee-5.0.0.Beta3.jar"/>
<classpathentry kind="var" path="M2_REPO/org/jboss/javaee/jboss-jaxs-api/1.2.0.20070913080910/jboss-jaxs-api-1.2.0.20070913080910.jar" sourcepath="M2_REPO/org/jboss/javaee/jboss-jaxs-api/1.2.0.20070913080910/jboss-jaxs-api-1.2.0.20070913080910-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/jboss/jboss-jmx/4.2.1.GA/jboss-jmx-4.2.1.GA.jar"/>
@@ -45,12 +43,11 @@
<classpathentry kind="var" path="M2_REPO/org/jboss/logging/jboss-logging-spi/2.0.5.GA/jboss-logging-spi-2.0.5.GA.jar" sourcepath="M2_REPO/org/jboss/logging/jboss-logging-spi/2.0.5.GA/jboss-logging-spi-2.0.5.GA-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/jboss/profiler/jvmti/jboss-profiler-jvmti/1.0.0.CR5/jboss-profiler-jvmti-1.0.0.CR5.jar"/>
<classpathentry kind="var" path="M2_REPO/org/jboss/jboss-reflect/2.0.0.CR1/jboss-reflect-2.0.0.CR1.jar" sourcepath="M2_REPO/org/jboss/jboss-reflect/2.0.0.CR1/jboss-reflect-2.0.0.CR1-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/jboss/security/jboss-security-acl-impl/2.0.2-SNAPSHOT/jboss-security-acl-impl-2.0.2-SNAPSHOT.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/jboss/security/jboss-security-spi/2.0.2-SNAPSHOT/jboss-security-spi-2.0.2-SNAPSHOT.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/jboss/javaee/jboss-servlet-api/2.5.0.CR1/jboss-servlet-api-2.5.0.CR1.jar" sourcepath="M2_REPO/org/jboss/javaee/jboss-servlet-api/2.5.0.CR1/jboss-servlet-api-2.5.0.CR1-sources.jar"/>
+ <classpathentry kind="src" path="/jboss-security-acl-impl"/>
+ <classpathentry kind="var" path="M2_REPO/org/jboss/security/jboss-security-spi/2.1.0-SNAPSHOT/jboss-security-spi-2.1.0-SNAPSHOT.jar" sourcepath="M2_REPO/org/jboss/security/jboss-security-spi/2.1.0-SNAPSHOT/jboss-security-spi-2.1.0-SNAPSHOT-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/jboss/javaee/jboss-servlet-api/2.5.0.20070913080910/jboss-servlet-api-2.5.0.20070913080910.jar"/>
<classpathentry kind="var" path="M2_REPO/org/jboss/security/jboss-sunxacml/2.0.2.GA/jboss-sunxacml-2.0.2.GA.jar" sourcepath="M2_REPO/org/jboss/security/jboss-sunxacml/2.0.2.GA/jboss-sunxacml-2.0.2.GA-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/org/jboss/jboss-test/1.0.4.GA/jboss-test-1.0.4.GA.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/jboss/javaee/jboss-transaction-api/1.0.1.CR1/jboss-transaction-api-1.0.1.CR1.jar" sourcepath="M2_REPO/org/jboss/javaee/jboss-transaction-api/1.0.1.CR1/jboss-transaction-api-1.0.1.CR1-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/org/jboss/security/jboss-xacml/2.0.2.GA/jboss-xacml-2.0.2.GA.jar" sourcepath="M2_REPO/org/jboss/security/jboss-xacml/2.0.2.GA/jboss-xacml-2.0.2.GA-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/org/jboss/jbossxb/2.0.0.CR15/jbossxb-2.0.0.CR15.jar" sourcepath="M2_REPO/org/jboss/jbossxb/2.0.0.CR15/jbossxb-2.0.0.CR15-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/sleepycat/je/3.2.43/je-3.2.43.jar"/>
@@ -59,13 +56,10 @@
<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/apache-log4j/log4j/1.2.14/log4j-1.2.14.jar" sourcepath="M2_REPO/apache-log4j/log4j/1.2.14/log4j-1.2.14-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/log4j/log4j/1.2.14/log4j-1.2.14.jar" sourcepath="M2_REPO/log4j/log4j/1.2.14/log4j-1.2.14-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/javax/mail/mail/1.4/mail-1.4.jar" sourcepath="M2_REPO/javax/mail/mail/1.4/mail-1.4-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/sun-opends/opends-core/1.0.0-BUILD04/opends-core-1.0.0-BUILD04.jar"/>
+ <classpathentry kind="var" path="M2_REPO/sun-opends/OpenDS/1.0.0/OpenDS-1.0.0.jar"/>
<classpathentry kind="var" path="M2_REPO/javax/persistence/persistence-api/1.0/persistence-api-1.0.jar"/>
- <classpathentry kind="var" path="M2_REPO/javax/servlet/servlet-api/2.5/servlet-api-2.5.jar" sourcepath="M2_REPO/javax/servlet/servlet-api/2.5/servlet-api-2.5-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/codehaus-stax/stax/1.1.1/stax-1.1.1.jar"/>
- <classpathentry kind="var" path="M2_REPO/apache-slide/webdavlib/2.0/webdavlib-2.0.jar"/>
<classpathentry kind="var" path="M2_REPO/apache-xalan/xalan/j_2.7.0/xalan-j_2.7.0.jar"/>
- <classpathentry kind="var" path="M2_REPO/apache-xerces/xercesImpl/2.7.1/xercesImpl-2.7.1.jar"/>
+ <classpathentry kind="var" path="M2_REPO/apache-xerces/xercesImpl/2.9.1/xercesImpl-2.9.1.jar"/>
<classpathentry kind="var" path="M2_REPO/apache-xerces/xml-apis/2.9.1/xml-apis-2.9.1.jar"/>
</classpath>
\ No newline at end of file
Modified: projects/security/security-jboss-sx/trunk/jbosssx/.project
===================================================================
--- projects/security/security-jboss-sx/trunk/jbosssx/.project 2009-03-05 18:57:55 UTC (rev 85321)
+++ projects/security/security-jboss-sx/trunk/jbosssx/.project 2009-03-05 18:58:26 UTC (rev 85322)
@@ -1,7 +1,10 @@
<projectDescription>
<name>jbosssx-bare</name>
<comment>JBoss Security is a cross cutting project that handles security for the JEMS projects</comment>
- <projects/>
+ <projects>
+ <project>identity-impl</project>
+ <project>jboss-security-acl-impl</project>
+ </projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
Modified: projects/security/security-jboss-sx/trunk/jbosssx-mc-int/.classpath
===================================================================
--- projects/security/security-jboss-sx/trunk/jbosssx-mc-int/.classpath 2009-03-05 18:57:55 UTC (rev 85321)
+++ projects/security/security-jboss-sx/trunk/jbosssx-mc-int/.classpath 2009-03-05 18:58:26 UTC (rev 85322)
@@ -1,71 +1,63 @@
-<?xml version="1.0" encoding="UTF-8"?>
<classpath>
- <classpathentry kind="src" path="src/main/java"/>
- <classpathentry excluding="**/*.java" kind="src" path="src/main/resources"/>
- <classpathentry kind="src" output="target/test-classes" path="src/test/java"/>
- <classpathentry excluding="**/*.java" kind="src" output="target/test-classes" path="src/test/resources"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
- <classpathentry kind="var" path="M2_REPO/javax/activation/activation/1.0.2/activation-1.0.2.jar"/>
- <classpathentry kind="var" path="M2_REPO/sun-jaf/activation/1.1/activation-1.1.jar"/>
- <classpathentry kind="var" path="M2_REPO/ant/ant/1.6.5/ant-1.6.5.jar"/>
- <classpathentry kind="var" path="M2_REPO/ant/ant-junit/1.6.5/ant-junit-1.6.5.jar"/>
- <classpathentry kind="var" path="M2_REPO/antlr/antlr/2.7.6/antlr-2.7.6.jar"/>
- <classpathentry kind="var" path="M2_REPO/asm/asm/1.5.3/asm-1.5.3.jar"/>
- <classpathentry kind="var" path="M2_REPO/asm/asm-attrs/1.5.3/asm-attrs-1.5.3.jar"/>
- <classpathentry kind="var" path="M2_REPO/cglib/cglib/2.1_3/cglib-2.1_3.jar"/>
- <classpathentry kind="var" path="M2_REPO/commons-collections/commons-collections/2.1.1/commons-collections-2.1.1.jar"/>
- <classpathentry kind="var" path="M2_REPO/commons-logging/commons-logging/1.0.4/commons-logging-1.0.4.jar"/>
- <classpathentry kind="var" path="M2_REPO/dom4j/dom4j/1.6.1/dom4j-1.6.1.jar"/>
- <classpathentry kind="var" path="M2_REPO/wutka-dtdparser/dtdparser121/1.2.1/dtdparser121-1.2.1.jar"/>
- <classpathentry kind="var" path="M2_REPO/net/sf/ehcache/ehcache/1.2.3/ehcache-1.2.3.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate/3.2.4.sp1/hibernate-3.2.4.sp1.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-annotations/3.3.0.ga/hibernate-annotations-3.3.0.ga.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-commons-annotations/3.0.0.ga/hibernate-commons-annotations-3.0.0.ga.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-entitymanager/3.3.1.ga/hibernate-entitymanager-3.3.1.ga.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-validator/3.0.0.ga/hibernate-validator-3.0.0.ga.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/jboss/security/identity-impl/2.0.2-SNAPSHOT/identity-impl-2.0.2-SNAPSHOT.jar" sourcepath="M2_REPO/org/jboss/security/identity-impl/2.0.2-SNAPSHOT/identity-impl-2.0.2-SNAPSHOT-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/javassist/javassist/3.4.GA/javassist-3.4.GA.jar"/>
- <classpathentry kind="var" path="M2_REPO/javax/xml/bind/jaxb-api/2.1/jaxb-api-2.1.jar"/>
- <classpathentry kind="var" path="M2_REPO/sun-jaxb/jaxb-api/2.1.4/jaxb-api-2.1.4.jar"/>
- <classpathentry kind="var" path="M2_REPO/sun-jaxb/jaxb-impl/2.1.4/jaxb-impl-2.1.4.jar"/>
- <classpathentry kind="var" path="M2_REPO/sun-jaxb/jaxb-xjc/2.1.4/jaxb-xjc-2.1.4.jar"/>
- <classpathentry kind="var" path="M2_REPO/jboss/jboss-common-core/2.0.4.GA/jboss-common-core-2.0.4.GA.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/jboss/jboss-common-core/2.2.1.GA/jboss-common-core-2.2.1.GA.jar"/>
- <classpathentry kind="var" path="M2_REPO/jboss/jboss-common-logging-log4j/2.0.4.GA/jboss-common-logging-log4j-2.0.4.GA.jar"/>
- <classpathentry kind="var" path="M2_REPO/jboss/jboss-common-logging-spi/2.0.4.GA/jboss-common-logging-spi-2.0.4.GA.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/jboss/microcontainer/jboss-dependency/2.0.0.Beta15/jboss-dependency-2.0.0.Beta15.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/jboss/javaee/jboss-jacc-api/1.1.0.CR1/jboss-jacc-api-1.1.0.CR1.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/jboss/javaee/jboss-jaspi-api/1.0.0.CR1/jboss-jaspi-api-1.0.0.CR1.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/jboss/javaee/jboss-javaee/5.0.0.Beta3/jboss-javaee-5.0.0.Beta3.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/jboss/javaee/jboss-jaxs-api/1.2.0.20070913080910/jboss-jaxs-api-1.2.0.20070913080910.jar"/>
- <classpathentry kind="var" path="M2_REPO/jboss/jboss-jmx/4.2.1.GA/jboss-jmx-4.2.1.GA.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/jboss/microcontainer/jboss-kernel/2.0.0.Beta15/jboss-kernel-2.0.0.Beta15.jar"/>
- <classpathentry kind="var" path="M2_REPO/jboss/jboss-logging-log4j/2.0.2.GA/jboss-logging-log4j-2.0.2.GA.jar"/>
- <classpathentry kind="var" path="M2_REPO/jboss/jboss-logging-spi/2.0.2.GA/jboss-logging-spi-2.0.2.GA.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/jboss/logging/jboss-logging-spi/2.0.5.GA/jboss-logging-spi-2.0.5.GA.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/jboss/jboss-mdr/2.0.0.Beta15/jboss-mdr-2.0.0.Beta15.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/jboss/jboss-reflect/2.0.0.Beta12/jboss-reflect-2.0.0.Beta12.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/jboss/security/jboss-security-acl-impl/2.0.2-SNAPSHOT/jboss-security-acl-impl-2.0.2-SNAPSHOT.jar" sourcepath="M2_REPO/org/jboss/security/jboss-security-acl-impl/2.0.2-SNAPSHOT/jboss-security-acl-impl-2.0.2-SNAPSHOT-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/jboss/security/jboss-security-spi/2.0.2-SNAPSHOT/jboss-security-spi-2.0.2-SNAPSHOT.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/jboss/javaee/jboss-servlet-api/2.5.0.CR1/jboss-servlet-api-2.5.0.CR1.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/jboss/security/jboss-sunxacml/2.0.2.GA/jboss-sunxacml-2.0.2.GA.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/jboss/jboss-test/1.0.4.GA/jboss-test-1.0.4.GA.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/jboss/javaee/jboss-transaction-api/1.0.1.CR1/jboss-transaction-api-1.0.1.CR1.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/jboss/security/jboss-xacml/2.0.2.GA/jboss-xacml-2.0.2.GA.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/jboss/security/jbosssx-bare/2.0.2-SNAPSHOT/jbosssx-bare-2.0.2-SNAPSHOT.jar" sourcepath="M2_REPO/org/jboss/security/jbosssx-bare/2.0.2-SNAPSHOT/jbosssx-bare-2.0.2-SNAPSHOT-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/jboss/jbossxb/2.0.0.CR10/jbossxb-2.0.0.CR10.jar"/>
- <classpathentry kind="var" path="M2_REPO/javax/transaction/jta/1.0.1B/jta-1.0.1B.jar"/>
- <classpathentry kind="var" path="M2_REPO/junit/junit/3.8.1/junit-3.8.1.jar"/>
- <classpathentry kind="var" path="M2_REPO/apache-log4j/log4j/1.2.14/log4j-1.2.14.jar"/>
- <classpathentry kind="var" path="M2_REPO/log4j/log4j/1.2.14/log4j-1.2.14.jar"/>
- <classpathentry kind="var" path="M2_REPO/javax/mail/mail/1.4/mail-1.4.jar"/>
- <classpathentry kind="var" path="M2_REPO/javax/persistence/persistence-api/1.0/persistence-api-1.0.jar"/>
- <classpathentry kind="var" path="M2_REPO/javax/servlet/servlet-api/2.5/servlet-api-2.5.jar"/>
- <classpathentry kind="var" path="M2_REPO/codehaus-stax/stax/1.1.1/stax-1.1.1.jar"/>
- <classpathentry kind="var" path="M2_REPO/javax/xml/stream/stax-api/1.0-2/stax-api-1.0-2.jar"/>
- <classpathentry kind="var" path="M2_REPO/apache-xalan/xalan/j_2.7.0/xalan-j_2.7.0.jar"/>
- <classpathentry kind="var" path="M2_REPO/apache-xerces/xercesImpl/2.9.1/xercesImpl-2.9.1.jar"/>
- <classpathentry kind="var" path="M2_REPO/apache-xerces/xml-apis/2.7.1/xml-apis-2.7.1.jar"/>
- <classpathentry kind="var" path="M2_REPO/oswego-concurrent/concurrent/1.3.4/concurrent-1.3.4.jar"/>
- <classpathentry kind="output" path="target/classes"/>
-</classpath>
+ <classpathentry kind="src" path="src/main/java"/>
+ <classpathentry kind="src" path="src/main/resources" excluding="**/*.java"/>
+ <classpathentry kind="src" path="src/test/java" output="target/test-classes"/>
+ <classpathentry kind="src" path="src/test/resources" output="target/test-classes" excluding="**/*.java"/>
+ <classpathentry kind="output" path="target/classes"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+ <classpathentry kind="var" path="M2_REPO/javax/activation/activation/1.0.2/activation-1.0.2.jar"/>
+ <classpathentry kind="var" path="M2_REPO/sun-jaf/activation/1.1/activation-1.1.jar"/>
+ <classpathentry kind="var" path="M2_REPO/ant/ant/1.6.5/ant-1.6.5.jar" sourcepath="M2_REPO/ant/ant/1.6.5/ant-1.6.5-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/ant/ant-junit/1.6.5/ant-junit-1.6.5.jar"/>
+ <classpathentry kind="var" path="M2_REPO/antlr/antlr/2.7.6/antlr-2.7.6.jar"/>
+ <classpathentry kind="var" path="M2_REPO/asm/asm/1.5.3/asm-1.5.3.jar"/>
+ <classpathentry kind="var" path="M2_REPO/asm/asm-attrs/1.5.3/asm-attrs-1.5.3.jar"/>
+ <classpathentry kind="var" path="M2_REPO/cglib/cglib/2.1_3/cglib-2.1_3.jar"/>
+ <classpathentry kind="var" path="M2_REPO/commons-collections/commons-collections/2.1.1/commons-collections-2.1.1.jar"/>
+ <classpathentry kind="var" path="M2_REPO/commons-logging/commons-logging/1.0.4/commons-logging-1.0.4.jar"/>
+ <classpathentry kind="var" path="M2_REPO/dom4j/dom4j/1.6.1/dom4j-1.6.1.jar" sourcepath="M2_REPO/dom4j/dom4j/1.6.1/dom4j-1.6.1-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/wutka-dtdparser/dtdparser121/1.2.1/dtdparser121-1.2.1.jar"/>
+ <classpathentry kind="var" path="M2_REPO/net/sf/ehcache/ehcache/1.2.3/ehcache-1.2.3.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate/3.2.4.sp1/hibernate-3.2.4.sp1.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-annotations/3.3.0.ga/hibernate-annotations-3.3.0.ga.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-commons-annotations/3.0.0.ga/hibernate-commons-annotations-3.0.0.ga.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-entitymanager/3.3.1.ga/hibernate-entitymanager-3.3.1.ga.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-validator/3.0.0.ga/hibernate-validator-3.0.0.ga.jar"/>
+ <classpathentry kind="src" path="/identity-impl"/>
+ <classpathentry kind="var" path="M2_REPO/javassist/javassist/3.3.GA/javassist-3.3.GA.jar"/>
+ <classpathentry kind="var" path="M2_REPO/sun-jaxb/jaxb-api/2.1.4/jaxb-api-2.1.4.jar" sourcepath="M2_REPO/sun-jaxb/jaxb-api/2.1.4/jaxb-api-2.1.4-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/sun-jaxb/jaxb-impl/2.1.4/jaxb-impl-2.1.4.jar" sourcepath="M2_REPO/sun-jaxb/jaxb-impl/2.1.4/jaxb-impl-2.1.4-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/sun-jaxb/jaxb-xjc/2.1.4/jaxb-xjc-2.1.4.jar"/>
+ <classpathentry kind="var" path="M2_REPO/jboss/jboss-common-core/2.0.4.GA/jboss-common-core-2.0.4.GA.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/jboss/jboss-common-core/2.2.3.GA/jboss-common-core-2.2.3.GA.jar"/>
+ <classpathentry kind="var" path="M2_REPO/jboss/jboss-common-logging-log4j/2.0.4.GA/jboss-common-logging-log4j-2.0.4.GA.jar"/>
+ <classpathentry kind="var" path="M2_REPO/jboss/jboss-common-logging-spi/2.0.4.GA/jboss-common-logging-spi-2.0.4.GA.jar" sourcepath="M2_REPO/jboss/jboss-common-logging-spi/2.0.4.GA/jboss-common-logging-spi-2.0.4.GA-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/jboss/microcontainer/jboss-dependency/2.0.0.Beta15/jboss-dependency-2.0.0.Beta15.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/jboss/javaee/jboss-jaspi-api/1.0.0.GA/jboss-jaspi-api-1.0.0.GA.jar" sourcepath="M2_REPO/org/jboss/javaee/jboss-jaspi-api/1.0.0.GA/jboss-jaspi-api-1.0.0.GA-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/jboss/javaee/jboss-javaee/5.0.0.Beta3/jboss-javaee-5.0.0.Beta3.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/jboss/javaee/jboss-jaxs-api/1.2.0.20070913080910/jboss-jaxs-api-1.2.0.20070913080910.jar" sourcepath="M2_REPO/org/jboss/javaee/jboss-jaxs-api/1.2.0.20070913080910/jboss-jaxs-api-1.2.0.20070913080910-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/jboss/jboss-jmx/4.2.1.GA/jboss-jmx-4.2.1.GA.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/jboss/microcontainer/jboss-kernel/2.0.0.Beta15/jboss-kernel-2.0.0.Beta15.jar"/>
+ <classpathentry kind="var" path="M2_REPO/jboss/jboss-logging-log4j/2.0.2.GA/jboss-logging-log4j-2.0.2.GA.jar"/>
+ <classpathentry kind="var" path="M2_REPO/jboss/jboss-logging-spi/2.0.2.GA/jboss-logging-spi-2.0.2.GA.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/jboss/logging/jboss-logging-spi/2.0.5.GA/jboss-logging-spi-2.0.5.GA.jar" sourcepath="M2_REPO/org/jboss/logging/jboss-logging-spi/2.0.5.GA/jboss-logging-spi-2.0.5.GA-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/jboss/jboss-mdr/2.0.0.Beta15/jboss-mdr-2.0.0.Beta15.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/jboss/jboss-reflect/2.0.0.Beta12/jboss-reflect-2.0.0.Beta12.jar"/>
+ <classpathentry kind="src" path="/jboss-security-acl-impl"/>
+ <classpathentry kind="var" path="M2_REPO/org/jboss/security/jboss-security-spi/2.1.0-SNAPSHOT/jboss-security-spi-2.1.0-SNAPSHOT.jar" sourcepath="M2_REPO/org/jboss/security/jboss-security-spi/2.1.0-SNAPSHOT/jboss-security-spi-2.1.0-SNAPSHOT-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/jboss/javaee/jboss-servlet-api/2.5.0.20070913080910/jboss-servlet-api-2.5.0.20070913080910.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/jboss/security/jboss-sunxacml/2.0.2.GA/jboss-sunxacml-2.0.2.GA.jar" sourcepath="M2_REPO/org/jboss/security/jboss-sunxacml/2.0.2.GA/jboss-sunxacml-2.0.2.GA-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/jboss/jboss-test/1.0.4.GA/jboss-test-1.0.4.GA.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/jboss/security/jboss-xacml/2.0.2.GA/jboss-xacml-2.0.2.GA.jar" sourcepath="M2_REPO/org/jboss/security/jboss-xacml/2.0.2.GA/jboss-xacml-2.0.2.GA-sources.jar"/>
+ <classpathentry kind="src" path="/jbosssx-bare"/>
+ <classpathentry kind="var" path="M2_REPO/org/jboss/jbossxb/2.0.0.CR15/jbossxb-2.0.0.CR15.jar" sourcepath="M2_REPO/org/jboss/jbossxb/2.0.0.CR15/jbossxb-2.0.0.CR15-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/javax/transaction/jta/1.0.1B/jta-1.0.1B.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/apache-log4j/log4j/1.2.8/log4j-1.2.8.jar"/>
+ <classpathentry kind="var" path="M2_REPO/log4j/log4j/1.2.14/log4j-1.2.14.jar" sourcepath="M2_REPO/log4j/log4j/1.2.14/log4j-1.2.14-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/javax/persistence/persistence-api/1.0/persistence-api-1.0.jar"/>
+ <classpathentry kind="var" path="M2_REPO/codehaus-stax/stax/1.1.1/stax-1.1.1.jar"/>
+ <classpathentry kind="var" path="M2_REPO/apache-xalan/xalan/j_2.7.0/xalan-j_2.7.0.jar"/>
+ <classpathentry kind="var" path="M2_REPO/apache-xerces/xercesImpl/2.9.1/xercesImpl-2.9.1.jar"/>
+ <classpathentry kind="var" path="M2_REPO/apache-xerces/xml-apis/2.7.1/xml-apis-2.7.1.jar"/>
+</classpath>
\ No newline at end of file
Modified: projects/security/security-jboss-sx/trunk/jbosssx-mc-int/.project
===================================================================
--- projects/security/security-jboss-sx/trunk/jbosssx-mc-int/.project 2009-03-05 18:57:55 UTC (rev 85321)
+++ projects/security/security-jboss-sx/trunk/jbosssx-mc-int/.project 2009-03-05 18:58:26 UTC (rev 85322)
@@ -1,7 +1,11 @@
<projectDescription>
<name>jbosssx-mc-int</name>
<comment>JBoss Security is a cross cutting project that handles security for the JEMS projects</comment>
- <projects/>
+ <projects>
+ <project>identity-impl</project>
+ <project>jboss-security-acl-impl</project>
+ <project>jbosssx-bare</project>
+ </projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
More information about the jboss-cvs-commits
mailing list