Index: lams_contentrepository/.classpath
===================================================================
RCS file: /usr/local/cvsroot/lams_contentrepository/.classpath,v
diff -u -r1.9 -r1.10
--- lams_contentrepository/.classpath 16 Mar 2005 02:01:35 -0000 1.9
+++ lams_contentrepository/.classpath 8 Apr 2005 00:12:46 -0000 1.10
@@ -25,7 +25,7 @@
-
+
Index: lams_contentrepository/build.xml
===================================================================
RCS file: /usr/local/cvsroot/lams_contentrepository/build.xml,v
diff -u -r1.15 -r1.16
--- lams_contentrepository/build.xml 5 Apr 2005 04:43:14 -0000 1.15
+++ lams_contentrepository/build.xml 8 Apr 2005 00:12:46 -0000 1.16
@@ -356,7 +356,7 @@
-
Index: lams_contentrepository/src/java/org/lamsfoundation/lams/contentrepository/IRepository.java
===================================================================
RCS file: /usr/local/cvsroot/lams_contentrepository/src/java/org/lamsfoundation/lams/contentrepository/Attic/IRepository.java,v
diff -u -r1.2 -r1.3
--- lams_contentrepository/src/java/org/lamsfoundation/lams/contentrepository/IRepository.java 21 Feb 2005 06:12:46 -0000 1.2
+++ lams_contentrepository/src/java/org/lamsfoundation/lams/contentrepository/IRepository.java 8 Apr 2005 00:12:25 -0000 1.3
@@ -36,6 +36,10 @@
/** String used to define the path to the context file */
public static final String REPOSITORY_CONTEXT_PATH =
"/org/lamsfoundation/lams/contentrepository/contentRepositoryApplicationContext.xml";
+ /** String used to define the path to the context file used for
+ * JUNIT testing. This file uses local datasources */
+ public static final String LOCAL_CONTEXT_PATH =
+ "/org/lamsfoundation/lams/contentrepository/contentRepositoryLocalApplicationContext.xml";
/**
* Login, creating a new ticket for the given credentials and specified
@@ -81,9 +85,10 @@
*
* @param newCredential this user/password will be added to the repository
* @throws RepositoryCheckedException if parameters are missing.
+ * @throws ItemExistsException if the credential already exists.
*/
- public void createCredential(ICredentials newCredential)
- throws AccessDeniedException, RepositoryCheckedException;
+ public void createCredentials(ICredentials newCredential)
+ throws AccessDeniedException, RepositoryCheckedException, ItemExistsException;
/**
* Update a credential. Name cannot change, so really only the password changes
Index: lams_contentrepository/src/java/org/lamsfoundation/lams/contentrepository/SimpleRepository.java
===================================================================
RCS file: /usr/local/cvsroot/lams_contentrepository/src/java/org/lamsfoundation/lams/contentrepository/Attic/SimpleRepository.java,v
diff -u -r1.5 -r1.6
--- lams_contentrepository/src/java/org/lamsfoundation/lams/contentrepository/SimpleRepository.java 21 Feb 2005 06:12:46 -0000 1.5
+++ lams_contentrepository/src/java/org/lamsfoundation/lams/contentrepository/SimpleRepository.java 8 Apr 2005 00:12:25 -0000 1.6
@@ -177,8 +177,8 @@
* Possibly this should only be available to an internal management tool
* *** Security Risk - I'm converting two passwords to a string... ***
*/
- public void createCredential(ICredentials newCredential)
- throws AccessDeniedException, RepositoryCheckedException {
+ public void createCredentials(ICredentials newCredential)
+ throws AccessDeniedException, RepositoryCheckedException, ItemExistsException {
if ( newCredential == null || newCredential.getName() == null || newCredential.getPassword() == null)
throw new RepositoryCheckedException("Credential is null or name/password is missing - cannot create credential.");
@@ -187,7 +187,7 @@
// check that the user doesn't already exist
CrCredential cred = credentialDAO.findByName(newCredential.getName());
if ( cred != null )
- throw new RepositoryCheckedException("Credential name "+newCredential.getName()+" already exists - cannot create credential.");
+ throw new ItemExistsException("Credential name "+newCredential.getName()+" already exists - cannot create credential.");
// try to create the credential - this should be done via the Spring bean factory.
cred = new CrCredential();
Index: lams_contentrepository/src/java/org/lamsfoundation/lams/contentrepository/contentRepositoryApplicationContext.xml
===================================================================
RCS file: /usr/local/cvsroot/lams_contentrepository/src/java/org/lamsfoundation/lams/contentrepository/Attic/contentRepositoryApplicationContext.xml,v
diff -u -r1.5 -r1.6
--- lams_contentrepository/src/java/org/lamsfoundation/lams/contentrepository/contentRepositoryApplicationContext.xml 5 Apr 2005 04:50:07 -0000 1.5
+++ lams_contentrepository/src/java/org/lamsfoundation/lams/contentrepository/contentRepositoryApplicationContext.xml 8 Apr 2005 00:12:25 -0000 1.6
@@ -81,7 +81,7 @@
-
+
@@ -114,7 +114,7 @@
-
+
Index: lams_contentrepository/src/java/org/lamsfoundation/lams/contentrepository/struts/action/LoginRepositoryAction.java
===================================================================
RCS file: /usr/local/cvsroot/lams_contentrepository/src/java/org/lamsfoundation/lams/contentrepository/struts/action/LoginRepositoryAction.java,v
diff -u -r1.2 -r1.3
--- lams_contentrepository/src/java/org/lamsfoundation/lams/contentrepository/struts/action/LoginRepositoryAction.java 21 Feb 2005 06:12:45 -0000 1.2
+++ lams_contentrepository/src/java/org/lamsfoundation/lams/contentrepository/struts/action/LoginRepositoryAction.java 8 Apr 2005 00:12:25 -0000 1.3
@@ -121,7 +121,7 @@
// add the tool credential, then create the workspace
// if the credential isn't added first, then the addWorkspace
// call will fail - only a valid credential can add a workspace.
- repository.createCredential(cred);
+ repository.createCredentials(cred);
repository.addWorkspace(cred, workspaceName);
} catch (LoginException e) {
log.error("LoginException occured ",e);
Index: lams_contentrepository/test/java/org/lamsfoundation/lams/contentrepository/BaseTestCase.java
===================================================================
RCS file: /usr/local/cvsroot/lams_contentrepository/test/java/org/lamsfoundation/lams/contentrepository/Attic/BaseTestCase.java,v
diff -u -r1.4 -r1.5
--- lams_contentrepository/test/java/org/lamsfoundation/lams/contentrepository/BaseTestCase.java 28 Feb 2005 07:56:21 -0000 1.4
+++ lams_contentrepository/test/java/org/lamsfoundation/lams/contentrepository/BaseTestCase.java 8 Apr 2005 00:12:25 -0000 1.5
@@ -23,13 +23,7 @@
import junit.framework.TestCase;
-import org.lamsfoundation.lams.contentrepository.ICredentials;
-import org.lamsfoundation.lams.contentrepository.IRepository;
-import org.lamsfoundation.lams.contentrepository.IRepositoryAdmin;
-import org.lamsfoundation.lams.contentrepository.ITicket;
-import org.lamsfoundation.lams.contentrepository.ItemNotFoundException;
-import org.lamsfoundation.lams.contentrepository.SimpleCredentials;
-import org.lamsfoundation.lams.contentrepository.SimpleVersionedNode;
+import org.apache.log4j.BasicConfigurator;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
@@ -73,7 +67,7 @@
// this is run for each test so once we have it, we don't
// want to get it again!
if ( context == null ) {
- context = new ClassPathXmlApplicationContext("/org/lamsfoundation/lams/contentrepository/testContentRepositoryApplicationContext.xml");
+ context = new ClassPathXmlApplicationContext(IRepository.LOCAL_CONTEXT_PATH);
}
if ( repository == null ) {
Index: lams_contentrepository/test/java/org/lamsfoundation/lams/contentrepository/TestSimpleRepository.java
===================================================================
RCS file: /usr/local/cvsroot/lams_contentrepository/test/java/org/lamsfoundation/lams/contentrepository/Attic/TestSimpleRepository.java,v
diff -u -r1.2 -r1.3
--- lams_contentrepository/test/java/org/lamsfoundation/lams/contentrepository/TestSimpleRepository.java 21 Feb 2005 06:13:40 -0000 1.2
+++ lams_contentrepository/test/java/org/lamsfoundation/lams/contentrepository/TestSimpleRepository.java 8 Apr 2005 00:12:25 -0000 1.3
@@ -157,6 +157,9 @@
assertNotNull("Add workspace succeeded - can login to workspace. Ticket is "+ticket, ticket);
} catch ( AccessDeniedException ae ) {
assertTrue("Access denied exception thrown as expected. Exception was "+ae.getMessage(), true);
+ } catch ( ItemExistsException iee ) {
+ log.error("Workspace already exists - unable to check that it can be created.\n"
+ +" The test should really be run with a newly rebuilt database & test data loaded");
} catch ( Exception e ) {
failUnexpectedException(e);
}
@@ -181,10 +184,13 @@
ICredentials cred1 = new SimpleCredentials(newUser, newPassword1);
ICredentials cred2 = new SimpleCredentials(newUser, newPassword2);
try {
- repository.createCredential(cred1);
+ repository.createCredentials(cred1);
repository.assignCredentials(cred1, INITIAL_WORKSPACE);
ITicket newTicket = repository.login(cred1, INITIAL_WORKSPACE);
assertTrue("Login succeeded for new user to original workspace.",true);
+ } catch ( ItemExistsException iee ) {
+ log.error("Credential already exists - unable to check that it can be created.\n"
+ +" The test should really be run with a newly rebuilt database & test data loaded");
} catch ( LoginException le ) {
assertTrue("Login exception unexpectededly - user newly created. Exception was "+le.getMessage(),true);
} catch ( Exception e ) {
@@ -206,9 +212,9 @@
// try recreating a new user - should fail
// setup credential with known username/password
try {
- repository.createCredential(cred1);
+ repository.createCredentials(cred1);
fail("User creation should have failed due to duplicate username");
- } catch ( RepositoryCheckedException re ) {
+ } catch ( ItemExistsException re ) {
assertTrue("Repository exception thrown was due to name duplication as expected: "+re.getMessage(),
re.getMessage() != null && re.getMessage().equals(userAlreadyExistsMessage));
} catch ( Exception e ) {