You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by dj...@apache.org on 2007/01/23 03:22:59 UTC
svn commit: r498893 - in /directory/sandbox/triplesec-jacc2: ./
admin-api2/src/main/java/org/safehaus/triplesec/admin/
admin-api2/src/main/java/org/safehaus/triplesec/admin/persistence/
itest-data/ itest-data/src/main/resources/ jaas/src/test/java/org/...
Author: djencks
Date: Mon Jan 22 18:22:55 2007
New Revision: 498893
URL: http://svn.apache.org/viewvc?view=rev&rev=498893
Log:
Use the bootstrap partition jar proposed in DIRSERVER-834 to install the tsec schema for integration tests. Most itests work, a few still fail erratically
Added:
directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/persistence/QueryImpl.java (with props)
Modified:
directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/Application.java
directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/TriplesecAdmin.java
directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/persistence/EntityManager.java
directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/persistence/EntityManagerImpl.java
directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/persistence/Query.java
directory/sandbox/triplesec-jacc2/itest-data/pom.xml
directory/sandbox/triplesec-jacc2/itest-data/src/main/resources/server.xml
directory/sandbox/triplesec-jacc2/jaas/src/test/java/org/safehaus/triplesec/jaas/LdapBindLoginModuleIntegrationTest.java
directory/sandbox/triplesec-jacc2/jacc/src/main/java/org/apache/directory/triplesec/jacc/TripleSecPolicyConfigurationFactory.java
directory/sandbox/triplesec-jacc2/main/pom.xml
directory/sandbox/triplesec-jacc2/pom.xml
directory/sandbox/triplesec-jacc2/store/pom.xml
directory/sandbox/triplesec-jacc2/swing-admin/src/main/java/org/safehaus/triplesec/admin/swing/LeftTreeNavigation.java
directory/sandbox/triplesec-jacc2/verifier/pom.xml
Modified: directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/Application.java
URL: http://svn.apache.org/viewvc/directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/Application.java?view=diff&rev=498893&r1=498892&r2=498893
==============================================================================
--- directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/Application.java (original)
+++ directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/Application.java Mon Jan 22 18:22:55 2007
@@ -63,7 +63,7 @@
public Application()
{
- stateManager = new StateManager( this );
+ stateManager = new StateManager<Application>( this );
stateManager.setRdn( new SimpleRdn( "appName", null, PARENT_APPLICATION_RDN ) );
stateManager.addField( new SingleValuedField<String>( "description", null ) );
stateManager.addField( new SingleValuedField<String>( "userPassword", null ) );
Modified: directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/TriplesecAdmin.java
URL: http://svn.apache.org/viewvc/directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/TriplesecAdmin.java?view=diff&rev=498893&r1=498892&r2=498893
==============================================================================
--- directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/TriplesecAdmin.java (original)
+++ directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/TriplesecAdmin.java Mon Jan 22 18:22:55 2007
@@ -21,14 +21,13 @@
import java.util.HashSet;
+import java.util.Map;
import java.util.Properties;
import java.util.Set;
-import java.util.Collection;
-import java.util.ArrayList;
+import javax.naming.NamingException;
import javax.naming.directory.DirContext;
import javax.naming.ldap.InitialLdapContext;
-import javax.naming.NamingException;
import org.safehaus.triplesec.admin.dao.DaoFactory;
import org.safehaus.triplesec.admin.dao.ExternalUserDao;
@@ -38,6 +37,7 @@
import org.safehaus.triplesec.admin.dao.UserDao;
import org.safehaus.triplesec.admin.persistence.EntityManager;
import org.safehaus.triplesec.admin.persistence.EntityManagerImpl;
+import org.safehaus.triplesec.admin.persistence.Query;
public class TriplesecAdmin
@@ -49,6 +49,8 @@
* for top level apps, ou=applications
*/
private String appDn;
+ private Query<Application> appQuery;
+ //deprecated
private DaoFactory factory;
private GroupDao groupDao;
private ExternalUserDao externalUserDao;
@@ -61,12 +63,14 @@
{
this.entityManager = entityManager;
this.appDn = appDn;
+ appQuery = ( Query<Application> ) entityManager.createQuery( appDn, Application.class, "(& (appName=*) (objectClass=policyApplication) )");
}
/**
*
- * @param dirContext
+ * @param dirContext DirContext that all info will come from
* @param rootDn "realm", e.g. dc=example,dc=com
+ * @param appDn offset to level of applications administered
*/
public TriplesecAdmin( DirContext dirContext, String rootDn, String appDn)
{
@@ -77,7 +81,7 @@
{
String rootDn = ( String ) props.remove("org.apache.directory.triplesec.admin.RootDn");
appDn = ( String ) props.remove("org.apache.directory.triplesec.admin.AppDn");
- DirContext dirContext = null;
+ DirContext dirContext;
try
{
dirContext = new InitialLdapContext( props, null );
@@ -143,16 +147,15 @@
// -----------------------------------------------------------------------
- // Application and ApplicationModifier Read Operations
+ // Application Operations
// -----------------------------------------------------------------------
/**
- * TODO implement me somehow
* @return all the applications in scope.
*/
- public Collection<Application> getApplications()
+ public Map<String, Application> getApplications()
{
- return new ArrayList<Application>();
+ return appQuery.execute( );
}
public Application getApplication( String name ) throws DataAccessException
Modified: directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/persistence/EntityManager.java
URL: http://svn.apache.org/viewvc/directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/persistence/EntityManager.java?view=diff&rev=498893&r1=498892&r2=498893
==============================================================================
--- directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/persistence/EntityManager.java (original)
+++ directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/persistence/EntityManager.java Mon Jan 22 18:22:55 2007
@@ -21,7 +21,7 @@
package org.safehaus.triplesec.admin.persistence;
/**
- * @version $Rev:$ $Date:$
+ * @version $Rev$ $Date$
*/
public interface EntityManager
{
@@ -43,7 +43,9 @@
// boolean contains(java.lang.Object object);
- Query createQuery(String appRdn);
+ Query<?> createQuery(String rdn, Class<?> aClass, String query );
+ Query createQuery(PersistenceCapable parent, Class aClass, String query );
+ Query createQuery(Class aClass, String query );
void close();
Modified: directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/persistence/EntityManagerImpl.java
URL: http://svn.apache.org/viewvc/directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/persistence/EntityManagerImpl.java?view=diff&rev=498893&r1=498892&r2=498893
==============================================================================
--- directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/persistence/EntityManagerImpl.java (original)
+++ directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/persistence/EntityManagerImpl.java Mon Jan 22 18:22:55 2007
@@ -28,7 +28,7 @@
import javax.naming.directory.DirContext;
/**
- * @version $Rev:$ $Date:$
+ * @version $Rev$ $Date$
*/
public class EntityManagerImpl implements EntityManager
{
@@ -136,9 +136,23 @@
dirty.clear();
}
- public Query createQuery( String appRdn )
+ public Query createQuery( String rdn, Class aClass, String queryString )
{
- return null;
+ QueryImpl query = new QueryImpl( this, aClass, queryString);
+ query.setRdn( rdn );
+ return query;
+ }
+
+ public Query createQuery( PersistenceCapable parent, Class aClass, String queryString )
+ {
+ QueryImpl query = new QueryImpl( this, aClass, queryString);
+ query.setParent( parent );
+ return query;
+ }
+
+ public Query createQuery( Class aClass, String queryString )
+ {
+ return new QueryImpl( this, aClass, queryString);
}
public void close()
Modified: directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/persistence/Query.java
URL: http://svn.apache.org/viewvc/directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/persistence/Query.java?view=diff&rev=498893&r1=498892&r2=498893
==============================================================================
--- directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/persistence/Query.java (original)
+++ directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/persistence/Query.java Mon Jan 22 18:22:55 2007
@@ -20,9 +20,19 @@
package org.safehaus.triplesec.admin.persistence;
+import java.util.Collection;
+import java.util.Map;
+
/**
- * @version $Rev:$ $Date:$
+ * @version $Rev$ $Date$
*/
-public interface Query
+public interface Query<T extends PersistenceCapable>
{
+
+ Map<String, T> execute();
+
+ Map<String, T> execute(String rdn);
+
+ Map<String, T> execute(PersistenceCapable parent);
+
}
Added: directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/persistence/QueryImpl.java
URL: http://svn.apache.org/viewvc/directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/persistence/QueryImpl.java?view=auto&rev=498893
==============================================================================
--- directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/persistence/QueryImpl.java (added)
+++ directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/persistence/QueryImpl.java Mon Jan 22 18:22:55 2007
@@ -0,0 +1,131 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+
+package org.safehaus.triplesec.admin.persistence;
+
+import java.util.Collection;
+import java.util.Map;
+import java.util.HashMap;
+import java.lang.reflect.*;
+
+import javax.naming.directory.SearchControls;
+import javax.naming.directory.DirContext;
+import javax.naming.directory.SearchResult;
+import javax.naming.directory.Attributes;
+import javax.naming.NamingEnumeration;
+import javax.naming.NamingException;
+
+/**
+ * @version $Rev:$ $Date:$
+ */
+public class QueryImpl<T extends PersistenceCapable> implements Query<T>, ChangeListener<T>
+{
+ private final EntityManagerImpl em;
+ private final Class<T> pcClass;
+ private final String query;
+ private final SearchControls controls;
+ private String rdn;
+ private PersistenceCapable parent;
+
+
+ public QueryImpl( EntityManagerImpl em, Class<T> pcClass, String query )
+ {
+ this.em = em;
+ this.pcClass = pcClass;
+ this.query = query;
+ try
+ {
+ java.lang.reflect.Field field = pcClass.getField("attrs");
+ String[] attrs = ( String[] ) field.get( null );
+ controls = new SearchControls( SearchControls.ONELEVEL_SCOPE, 0, 0, attrs, false, false);
+ } catch ( NoSuchFieldException e )
+ {
+ throw new PCException("No attrs field in class " + pcClass, e );
+ } catch ( IllegalAccessException e )
+ {
+ throw new PCException("Could not access field attrs in class: " + pcClass, e);
+ }
+
+ }
+
+ public void setRdn( String rdn )
+ {
+ this.rdn = rdn;
+ }
+
+ public void setParent( PersistenceCapable parent )
+ {
+ this.parent = parent;
+ }
+
+ public Map<String, T> execute()
+ {
+ Map<String, T> map = new HashMap<String, T>();
+ DirContext ctx = em.getDirContext();
+ StringBuffer buf = rdn == null? new StringBuffer(): new StringBuffer(rdn).append(",");
+ if ( parent != null )
+ {
+ buf = parent.getStateManager().getNewName( buf );
+ }
+ String name = buf.toString();
+ try
+ {
+ for ( NamingEnumeration ne = ctx.search( name, query, controls) ; ne.hasMoreElements(); ) {
+ SearchResult result = ( SearchResult ) ne.nextElement();
+ Attributes attrs = result.getAttributes();
+ String dn = result.getName();
+ String pcRdn = dn + "," + rdn;
+ T pc = pcClass.newInstance();
+ StateManager<T> sm = pc.getStateManager();
+ sm.load( em, parent.getStateManager(), pcRdn, attrs);
+ String key = sm.getId();
+ map.put(key, (T)pc);
+ sm.addListener( this );
+ }
+ } catch ( NamingException e )
+ {
+ throw new PCException( e);
+ } catch ( InstantiationException e )
+ {
+ throw new PCException( e);
+ } catch ( IllegalAccessException e )
+ {
+ throw new PCException( e);
+ }
+
+ return map;
+ }
+
+ public Map<String, T> execute( String rdn )
+ {
+ setRdn( rdn );
+ return execute();
+ }
+
+ public Map<String, T> execute( PersistenceCapable parent )
+ {
+ setParent( parent );
+ return execute();
+ }
+
+ public void changed( String oldId, String newId, T t )
+ {
+ }
+}
Propchange: directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/persistence/QueryImpl.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/persistence/QueryImpl.java
------------------------------------------------------------------------------
svn:keywords = Date Revision
Propchange: directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/persistence/QueryImpl.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Modified: directory/sandbox/triplesec-jacc2/itest-data/pom.xml
URL: http://svn.apache.org/viewvc/directory/sandbox/triplesec-jacc2/itest-data/pom.xml?view=diff&rev=498893&r1=498892&r2=498893
==============================================================================
--- directory/sandbox/triplesec-jacc2/itest-data/pom.xml (original)
+++ directory/sandbox/triplesec-jacc2/itest-data/pom.xml Mon Jan 22 18:22:55 2007
@@ -27,5 +27,12 @@
<artifactId>triplesec-itest-data</artifactId>
<name>Triplesec Itest Data</name>
<packaging>jar</packaging>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.directory.triplesec</groupId>
+ <artifactId>triplesec-bootstrap-partition</artifactId>
+ <version>${pom.version}</version>
+ </dependency>
+ </dependencies>
</project>
Modified: directory/sandbox/triplesec-jacc2/itest-data/src/main/resources/server.xml
URL: http://svn.apache.org/viewvc/directory/sandbox/triplesec-jacc2/itest-data/src/main/resources/server.xml?view=diff&rev=498893&r1=498892&r2=498893
==============================================================================
--- directory/sandbox/triplesec-jacc2/itest-data/src/main/resources/server.xml (original)
+++ directory/sandbox/triplesec-jacc2/itest-data/src/main/resources/server.xml Mon Jan 22 18:22:55 2007
@@ -105,11 +105,12 @@
</bean>
</property>
- <property name="contextPartitionConfigurations">
+ <property name="partitionConfigurations">
<set>
<ref bean="examplePartitionConfiguration"/>
</set>
</property>
+<!--
<property name="bootstrapSchemas">
<set>
<bean class="org.apache.directory.server.core.schema.bootstrap.CorbaSchema"/>
@@ -124,7 +125,8 @@
<bean class="org.safehaus.triplesec.store.schema.SafehausSchema"/>
</set>
</property>
-
+-->
+
<property name="extendedOperationHandlers">
<list>
<bean class="org.apache.directory.server.ldap.support.extended.GracefulShutdownHandler"/>
Modified: directory/sandbox/triplesec-jacc2/jaas/src/test/java/org/safehaus/triplesec/jaas/LdapBindLoginModuleIntegrationTest.java
URL: http://svn.apache.org/viewvc/directory/sandbox/triplesec-jacc2/jaas/src/test/java/org/safehaus/triplesec/jaas/LdapBindLoginModuleIntegrationTest.java?view=diff&rev=498893&r1=498892&r2=498893
==============================================================================
--- directory/sandbox/triplesec-jacc2/jaas/src/test/java/org/safehaus/triplesec/jaas/LdapBindLoginModuleIntegrationTest.java (original)
+++ directory/sandbox/triplesec-jacc2/jaas/src/test/java/org/safehaus/triplesec/jaas/LdapBindLoginModuleIntegrationTest.java Mon Jan 22 18:22:55 2007
@@ -35,7 +35,7 @@
import org.apache.directory.triplesec.jaas.TestLoginConfiguration;
/**
- * @version $Rev:$ $Date:$
+ * @version $Rev$ $Date$
*/
public class LdapBindLoginModuleIntegrationTest extends TriplesecIntegration
{
@@ -84,7 +84,7 @@
Subject subject = new Subject();
LoginContext loginContext = new LoginContext( "testRealm", subject, new UPCallbackHandler( "akarasulu", "maxwell" ) );
loginContext.login();
- assertEquals(2, StateRetrievingLoginModule.sharedState.size());
+ assertEquals("shared state: " + StateRetrievingLoginModule.sharedState, 4, StateRetrievingLoginModule.sharedState.size());
assertEquals( "akarasulu@EXAMPLE.COM", StateRetrievingLoginModule.sharedState.get(LdapBindLoginModule.PREFIX + "krb5PrincipalName"));
assertEquals( "akarasulu", StateRetrievingLoginModule.sharedState.get(LdapBindLoginModule.PREFIX + "uid"));
loginContext.logout();
Modified: directory/sandbox/triplesec-jacc2/jacc/src/main/java/org/apache/directory/triplesec/jacc/TripleSecPolicyConfigurationFactory.java
URL: http://svn.apache.org/viewvc/directory/sandbox/triplesec-jacc2/jacc/src/main/java/org/apache/directory/triplesec/jacc/TripleSecPolicyConfigurationFactory.java?view=diff&rev=498893&r1=498892&r2=498893
==============================================================================
--- directory/sandbox/triplesec-jacc2/jacc/src/main/java/org/apache/directory/triplesec/jacc/TripleSecPolicyConfigurationFactory.java (original)
+++ directory/sandbox/triplesec-jacc2/jacc/src/main/java/org/apache/directory/triplesec/jacc/TripleSecPolicyConfigurationFactory.java Mon Jan 22 18:22:55 2007
@@ -30,6 +30,8 @@
import javax.security.jacc.PolicyConfigurationFactory;
import javax.security.jacc.PolicyContextException;
import javax.naming.directory.DirContext;
+import javax.naming.ldap.InitialLdapContext;
+import javax.naming.NamingException;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -41,105 +43,138 @@
/**
* @version $Rev$ $Date$
*/
-public class TripleSecPolicyConfigurationFactory extends PolicyConfigurationFactory {
+public class TripleSecPolicyConfigurationFactory extends PolicyConfigurationFactory
+{
- private final Log log = LogFactory.getLog(TripleSecPolicyConfigurationFactory.class);
+ private final Log log = LogFactory.getLog( TripleSecPolicyConfigurationFactory.class );
private static TripleSecPolicyConfigurationFactory singleton;
private Properties ldapProperties;
- private DaoFactory daoFactory;
+ private DirContext ctx;
+ private String rootDn;
private Map<String, TripleSecPolicyConfiguration> configurations = new HashMap<String, TripleSecPolicyConfiguration>();
private static final String LDAP_PROPERTIES_LOCATON_KEY = "org.apache.directory.triplesec.jacc.ldap.properties";
+ private static final String LDAP_ROOT_DN_KEY = "org.apache.directory.triplesec.jacc.ldap.rootdn";
private static final String LDAP_PROPERTIES_LOCATION_DEFAULT = "triplesec_jacc_ldap.properties";
- public TripleSecPolicyConfigurationFactory() {
- synchronized (TripleSecPolicyConfigurationFactory.class) {
- if (singleton != null) {
- log.error("Singleton already assigned. There may be more than one TripleSecPolicyConfigurationFactory being used.");
- throw new IllegalStateException("Singleton already assigned");
+ public TripleSecPolicyConfigurationFactory()
+ {
+ synchronized ( TripleSecPolicyConfigurationFactory.class )
+ {
+ if ( singleton != null )
+ {
+ log.error( "Singleton already assigned. There may be more than one TripleSecPolicyConfigurationFactory being used." );
+ throw new IllegalStateException( "Singleton already assigned" );
}
singleton = this;
}
}
- public PolicyConfiguration getPolicyConfiguration(String contextID, boolean remove) throws PolicyContextException {
- TripleSecPolicyConfiguration configuration = configurations.get(contextID);
+ public PolicyConfiguration getPolicyConfiguration( String contextID, boolean remove ) throws PolicyContextException
+ {
+ TripleSecPolicyConfiguration configuration = configurations.get( contextID );
- if (configuration == null) {
- configuration = new TripleSecPolicyConfiguration(contextID, this);
- configurations.put(contextID, configuration);
- } else {
- configuration.open(remove);
+ if ( configuration == null )
+ {
+ configuration = new TripleSecPolicyConfiguration( contextID, this );
+ configurations.put( contextID, configuration );
+ } else
+ {
+ configuration.open( remove );
}
- log.trace("Get " + (remove ? "CLEANED" : "") + " policy configuration " + contextID);
+ log.trace( "Get " + ( remove ? "CLEANED" : "" ) + " policy configuration " + contextID );
return configuration;
}
- public boolean inService(String contextID) throws PolicyContextException {
- PolicyConfiguration configuration = getPolicyConfiguration(contextID, false);
+ public boolean inService( String contextID ) throws PolicyContextException
+ {
+ PolicyConfiguration configuration = getPolicyConfiguration( contextID, false );
- log.trace("Policy configuration " + contextID + " put into service");
+ log.trace( "Policy configuration " + contextID + " put into service" );
return configuration.inService();
}
- static TripleSecPolicyConfigurationFactory getSingleton() {
+ static TripleSecPolicyConfigurationFactory getSingleton()
+ {
return singleton;
}
- public TripleSecPolicyConfiguration getTripleSecPolicyConfiguration(String contextID) {
- return configurations.get(contextID);
+ public TripleSecPolicyConfiguration getTripleSecPolicyConfiguration( String contextID )
+ {
+ return configurations.get( contextID );
}
- public synchronized void setLdapProperties(Properties ldapProperties) {
+ public synchronized void setLdapProperties( Properties ldapProperties )
+ {
this.ldapProperties = ldapProperties;
}
- public synchronized DaoFactory getDaoFactory() throws PolicyContextException {
- if (daoFactory == null) {
- if (ldapProperties == null) {
+ public synchronized DirContext getDirContext() throws PolicyContextException
+ {
+ if ( ctx == null )
+ {
+ if ( ldapProperties == null )
+ {
InputStream in = null;
- String fileLocation = System.getProperty(LDAP_PROPERTIES_LOCATON_KEY, LDAP_PROPERTIES_LOCATION_DEFAULT);
- File propertiesFile = new File(fileLocation);
- if (propertiesFile.exists()) {
- try {
- in = new FileInputStream(propertiesFile);
- } catch (FileNotFoundException e) {
+ String fileLocation = System.getProperty( LDAP_PROPERTIES_LOCATON_KEY, LDAP_PROPERTIES_LOCATION_DEFAULT );
+ File propertiesFile = new File( fileLocation );
+ if ( propertiesFile.exists() )
+ {
+ try
+ {
+ in = new FileInputStream( propertiesFile );
+ } catch ( FileNotFoundException e )
+ {
//should not happen.... we just checked
}
}
- if (in == null) {
+ if ( in == null )
+ {
ClassLoader cl = Thread.currentThread().getContextClassLoader();
- if (cl == null) {
+ if ( cl == null )
+ {
cl = this.getClass().getClassLoader();
}
- in = cl.getResourceAsStream(fileLocation);
+ in = cl.getResourceAsStream( fileLocation );
}
- if (in == null) {
- throw new PolicyContextException("Could not find properties to initialize ldap");
+ if ( in == null )
+ {
+ throw new PolicyContextException( "Could not find properties to initialize ldap" );
}
ldapProperties = new Properties();
- try {
- ldapProperties.load(in);
- } catch (IOException e) {
- throw new PolicyContextException("Could not load ldap properties from " + fileLocation, e);
+ try
+ {
+ ldapProperties.load( in );
+ } catch ( IOException e )
+ {
+ throw new PolicyContextException( "Could not load ldap properties from " + fileLocation, e );
}
+ rootDn = ldapProperties.getProperty( LDAP_ROOT_DN_KEY );
+ if ( rootDn == null )
+ {
+ throw new PolicyContextException( "No rootdn specified at key " + LDAP_ROOT_DN_KEY );
+ }
+ }
+ try
+ {
+ ctx = new InitialLdapContext( ldapProperties, null );
}
- try {
- daoFactory = DaoFactory.createInstance(ldapProperties);
- } catch (DataAccessException e) {
- throw new PolicyContextException("Could not construct dir context", e);
+ catch ( NamingException e )
+ {
+ String msg = "Failed to initialize LDAP context: " + e.getMessage();
+ log.error( msg, e );
+ throw new PolicyContextException( msg, e );
}
}
- return daoFactory;
+ return ctx;
}
- public EntityManager getEntityManager()
+ public EntityManager getEntityManager() throws PolicyContextException
{
- DirContext ctx = null;
- String rootDn = null;
- return new EntityManagerImpl( ctx, rootDn);
+ DirContext ctx = getDirContext();
+ return new EntityManagerImpl( ctx, rootDn );
}
}
Modified: directory/sandbox/triplesec-jacc2/main/pom.xml
URL: http://svn.apache.org/viewvc/directory/sandbox/triplesec-jacc2/main/pom.xml?view=diff&rev=498893&r1=498892&r2=498893
==============================================================================
--- directory/sandbox/triplesec-jacc2/main/pom.xml (original)
+++ directory/sandbox/triplesec-jacc2/main/pom.xml Mon Jan 22 18:22:55 2007
@@ -30,6 +30,11 @@
<dependencies>
<dependency>
<groupId>${pom.groupId}</groupId>
+ <artifactId>triplesec-bootstrap-partition</artifactId>
+ <version>${pom.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>${pom.groupId}</groupId>
<artifactId>triplesec-configuration-io</artifactId>
<version>${pom.version}</version>
</dependency>
Modified: directory/sandbox/triplesec-jacc2/pom.xml
URL: http://svn.apache.org/viewvc/directory/sandbox/triplesec-jacc2/pom.xml?view=diff&rev=498893&r1=498892&r2=498893
==============================================================================
--- directory/sandbox/triplesec-jacc2/pom.xml (original)
+++ directory/sandbox/triplesec-jacc2/pom.xml Mon Jan 22 18:22:55 2007
@@ -147,6 +147,12 @@
<groupId>org.apache.directory.server</groupId>
<artifactId>apacheds-core</artifactId>
<version>1.5.0-SNAPSHOT</version>
+ <exclusions>
+ <exclusion>
+ <groupId>org.apache.directory.server</groupId>
+ <artifactId>apacheds-bootstrap-partition</artifactId>
+ </exclusion>
+ </exclusions>
</dependency>
<dependency>
@@ -185,6 +191,16 @@
</dependency>
<dependency>
<groupId>org.apache.directory.server</groupId>
+ <artifactId>apacheds-bootstrap-extract</artifactId>
+ <version>1.5.0-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.directory.server</groupId>
+ <artifactId>apacheds-jdbm-store</artifactId>
+ <version>1.5.0-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.directory.server</groupId>
<artifactId>apacheds-schema-registries</artifactId>
<version>1.5.0-SNAPSHOT</version>
</dependency>
@@ -649,6 +665,7 @@
</activation>
<modules>
+ <module>bootstrap-partition</module>
<module>changelog</module>
<module>configuration</module>
<module>configuration-io</module>
@@ -691,6 +708,7 @@
</activation>
<modules>
+ <module>bootstrap-partition</module>
<module>changelog</module>
<module>configuration</module>
<module>configuration-io</module>
@@ -699,9 +717,7 @@
<module>profile</module>
<module>testdata</module>
<module>jaas</module>
-<!--
<module>jacc</module>
--->
<module>sms</module>
<module>store</module>
<module>verifier</module>
@@ -750,6 +766,7 @@
</activation>
<modules>
+ <module>bootstrap-partition</module>
<module>changelog</module>
<module>configuration</module>
<module>configuration-io</module>
Modified: directory/sandbox/triplesec-jacc2/store/pom.xml
URL: http://svn.apache.org/viewvc/directory/sandbox/triplesec-jacc2/store/pom.xml?view=diff&rev=498893&r1=498892&r2=498893
==============================================================================
--- directory/sandbox/triplesec-jacc2/store/pom.xml (original)
+++ directory/sandbox/triplesec-jacc2/store/pom.xml Mon Jan 22 18:22:55 2007
@@ -28,12 +28,14 @@
<name>Triplesec Store</name>
<packaging>jar</packaging>
<dependencies>
+<!--
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>triplesec-itest-data</artifactId>
<version>${project.version}</version>
<scope>test</scope>
</dependency>
+-->
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>triplesec-testdata</artifactId>
@@ -190,6 +192,11 @@
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
+ <!-- temporary exclusion while I work on bootstrap schemas -->
+ <excludes>
+ <exclude>**/*ITest.java</exclude>
+ <exclude>**/*IntegrationTest.java</exclude>
+ </excludes>
<systemProperties>
<property>
<name>workingDirectory</name>
Modified: directory/sandbox/triplesec-jacc2/swing-admin/src/main/java/org/safehaus/triplesec/admin/swing/LeftTreeNavigation.java
URL: http://svn.apache.org/viewvc/directory/sandbox/triplesec-jacc2/swing-admin/src/main/java/org/safehaus/triplesec/admin/swing/LeftTreeNavigation.java?view=diff&rev=498893&r1=498892&r2=498893
==============================================================================
--- directory/sandbox/triplesec-jacc2/swing-admin/src/main/java/org/safehaus/triplesec/admin/swing/LeftTreeNavigation.java (original)
+++ directory/sandbox/triplesec-jacc2/swing-admin/src/main/java/org/safehaus/triplesec/admin/swing/LeftTreeNavigation.java Mon Jan 22 18:22:55 2007
@@ -20,6 +20,11 @@
package org.safehaus.triplesec.admin.swing;
+import java.awt.GridLayout;
+import java.util.Enumeration;
+import java.util.Observable;
+import java.util.Observer;
+
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
@@ -30,19 +35,13 @@
import org.safehaus.triplesec.admin.Application;
import org.safehaus.triplesec.admin.DataAccessException;
-import org.safehaus.triplesec.admin.TriplesecAdmin;
+import org.safehaus.triplesec.admin.Permission;
import org.safehaus.triplesec.admin.Profile;
import org.safehaus.triplesec.admin.Role;
-import org.safehaus.triplesec.admin.Permission;
+import org.safehaus.triplesec.admin.TriplesecAdmin;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import java.awt.GridLayout;
-import java.util.Enumeration;
-import java.util.Iterator;
-import java.util.Observable;
-import java.util.Observer;
-
/**
* The left tree navigation.
@@ -200,7 +199,7 @@
// model.insertNodeInto( new DefaultMutableTreeNode( ii.next() ), usersNode, 0 );
// }
- for ( Application app: admin.getApplications())
+ for ( Application app: admin.getApplications().values())
{
DefaultMutableTreeNode appNode = new DefaultMutableTreeNode( app );
model.insertNodeInto( appNode, applicationsNode, 0 );
Modified: directory/sandbox/triplesec-jacc2/verifier/pom.xml
URL: http://svn.apache.org/viewvc/directory/sandbox/triplesec-jacc2/verifier/pom.xml?view=diff&rev=498893&r1=498892&r2=498893
==============================================================================
--- directory/sandbox/triplesec-jacc2/verifier/pom.xml (original)
+++ directory/sandbox/triplesec-jacc2/verifier/pom.xml Mon Jan 22 18:22:55 2007
@@ -33,6 +33,11 @@
<dependencies>
<dependency>
<groupId>${project.groupId}</groupId>
+ <artifactId>triplesec-bootstrap-partition</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>${project.groupId}</groupId>
<artifactId>triplesec-store</artifactId>
<version>${project.version}</version>
</dependency>