Index: lams_contentrepository/conf/META-INF/MANIFEST.MF =================================================================== RCS file: /usr/local/cvsroot/lams_contentrepository/conf/META-INF/Attic/MANIFEST.MF,v diff -u -r1.2 -r1.3 --- lams_contentrepository/conf/META-INF/MANIFEST.MF 1 Mar 2005 01:02:17 -0000 1.2 +++ lams_contentrepository/conf/META-INF/MANIFEST.MF 30 Aug 2005 04:42:23 -0000 1.3 @@ -1,3 +1,4 @@ Implementation-Title: LAMS Content Repository Implementation-Version: 0.8 Implementation-Vendor: LAMS Foundation (http://lamsfoundation.org) +Class-Path: lams.jar \ No newline at end of file Index: lams_contentrepository/src/java/org/lamsfoundation/lams/contentrepository/CrNode.java =================================================================== RCS file: /usr/local/cvsroot/lams_contentrepository/src/java/org/lamsfoundation/lams/contentrepository/CrNode.java,v diff -u -r1.6 -r1.7 --- lams_contentrepository/src/java/org/lamsfoundation/lams/contentrepository/CrNode.java 22 Apr 2005 05:20:14 -0000 1.6 +++ lams_contentrepository/src/java/org/lamsfoundation/lams/contentrepository/CrNode.java 30 Aug 2005 04:42:23 -0000 1.7 @@ -23,6 +23,7 @@ import java.io.Serializable; import java.util.Date; +import java.util.HashSet; import java.util.Iterator; import java.util.Set; import java.util.SortedSet; @@ -32,6 +33,7 @@ import org.apache.commons.lang.builder.HashCodeBuilder; import org.apache.commons.lang.builder.ToStringBuilder; import org.apache.log4j.Logger; +import org.lamsfoundation.lams.themes.CSSProperty; /** @@ -226,10 +228,22 @@ return this.crNodeVersions; } - public void setCrNodeVersions(Set crNodeVersions) { + private void setCrNodeVersions(Set crNodeVersions) { this.crNodeVersions = crNodeVersions; } + /** Add a version to this node */ + public void addCrNodeVersion(CrNodeVersion version) { + if ( getCrNodeVersions() == null ) { + Set set = new HashSet(); + set.add(version); + setCrNodeVersions(set); + } else { + getCrNodeVersions().add(version); + } + version.setNode(this); + } + public String toString() { return new ToStringBuilder(this) .append("nodeId", getNodeId()) Index: lams_contentrepository/src/java/org/lamsfoundation/lams/contentrepository/CrNodeVersion.java =================================================================== RCS file: /usr/local/cvsroot/lams_contentrepository/src/java/org/lamsfoundation/lams/contentrepository/CrNodeVersion.java,v diff -u -r1.4 -r1.5 --- lams_contentrepository/src/java/org/lamsfoundation/lams/contentrepository/CrNodeVersion.java 21 Feb 2005 06:12:46 -0000 1.4 +++ lams_contentrepository/src/java/org/lamsfoundation/lams/contentrepository/CrNodeVersion.java 30 Aug 2005 04:42:23 -0000 1.5 @@ -274,15 +274,13 @@ .toString(); } + /** Two CrNodeVersions are equal if their NvId field is the same */ public boolean equals(Object other) { if ( (this == other ) ) return true; if ( !(other instanceof CrNodeVersion) ) return false; CrNodeVersion castOther = (CrNodeVersion) other; return new EqualsBuilder() .append(this.getNvId(), castOther.getNvId()) - .append(this.getVersionId(), castOther.getVersionId()) - .append(this.getCreatedDateTime(), castOther.getCreatedDateTime()) - .append(this.getNode(), castOther.getNode()) .isEquals(); } Index: lams_contentrepository/src/java/org/lamsfoundation/lams/contentrepository/applicationContext.xml =================================================================== RCS file: /usr/local/cvsroot/lams_contentrepository/src/java/org/lamsfoundation/lams/contentrepository/applicationContext.xml,v diff -u -r1.2 -r1.3 --- lams_contentrepository/src/java/org/lamsfoundation/lams/contentrepository/applicationContext.xml 5 Jul 2005 03:24:58 -0000 1.2 +++ lams_contentrepository/src/java/org/lamsfoundation/lams/contentrepository/applicationContext.xml 30 Aug 2005 04:42:23 -0000 1.3 @@ -25,31 +25,13 @@ + - Requires lams.jar applicationContent.xml. + --> - - - - - messages - - - - - - - - java:jdbc/lams-ds - - - + org/lamsfoundation/lams/contentrepository/CrCredential.hbm.xml @@ -68,46 +50,22 @@ 20 1800 50 - net.sf.hibernate.cache.TreeCacheProvider + + - - - - - - - - - - - + Fisheye: Tag 1.3 refers to a dead (removed) revision in file `lams_contentrepository/src/java/org/lamsfoundation/lams/contentrepository/localApplicationContext.xml'. Fisheye: No comparison available. Pass `N' to diff? Index: lams_contentrepository/src/java/org/lamsfoundation/lams/contentrepository/service/IRepositoryService.java =================================================================== RCS file: /usr/local/cvsroot/lams_contentrepository/src/java/org/lamsfoundation/lams/contentrepository/service/IRepositoryService.java,v diff -u -r1.4 -r1.5 --- lams_contentrepository/src/java/org/lamsfoundation/lams/contentrepository/service/IRepositoryService.java 5 Jul 2005 06:46:26 -0000 1.4 +++ lams_contentrepository/src/java/org/lamsfoundation/lams/contentrepository/service/IRepositoryService.java 30 Aug 2005 04:42:23 -0000 1.5 @@ -49,13 +49,17 @@ /** String used to define service in Spring context */ public static final String REPOSITORY_SERVICE_ID = "repositoryService"; - /** String used to define the path to the context file */ + /** String used to define the path to the content repository context file. */ public static final String REPOSITORY_CONTEXT_PATH = "/org/lamsfoundation/lams/contentrepository/applicationContext.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/localApplicationContext.xml"; + /** String used to define the path to the local datasource version of the + * lams.jar context file*/ + public static final String CORE_CONTEXT_PATH = + "/org/lamsfoundation/lams/applicationContext.xml"; + /** String used to define the path to the local datasource version of the + * lams.jar context file*/ + public static final String CORE_LOCAL_CONTEXT_PATH = + "/org/lamsfoundation/lams/localApplicationContext.xml"; /** * Login, creating a new ticket for the given credentials and specified Index: lams_contentrepository/src/java/org/lamsfoundation/lams/contentrepository/service/RepositoryProxy.java =================================================================== RCS file: /usr/local/cvsroot/lams_contentrepository/src/java/org/lamsfoundation/lams/contentrepository/service/RepositoryProxy.java,v diff -u -r1.2 -r1.3 --- lams_contentrepository/src/java/org/lamsfoundation/lams/contentrepository/service/RepositoryProxy.java 21 Apr 2005 03:39:03 -0000 1.2 +++ lams_contentrepository/src/java/org/lamsfoundation/lams/contentrepository/service/RepositoryProxy.java 30 Aug 2005 04:42:23 -0000 1.3 @@ -48,7 +48,10 @@ public static IRepositoryService getRepositoryService() { - ApplicationContext context = new ClassPathXmlApplicationContext(IRepositoryService.REPOSITORY_CONTEXT_PATH); + String[] contextPaths = new String[] {IRepositoryService.CORE_CONTEXT_PATH, + IRepositoryService.REPOSITORY_CONTEXT_PATH}; + + ApplicationContext context = new ClassPathXmlApplicationContext(contextPaths); if ( context == null ) throw new RepositoryRuntimeException("Unable to access application context. Cannot create repository object."); @@ -64,7 +67,10 @@ */ public static IRepositoryService getLocalRepositoryService() { - ApplicationContext context = new ClassPathXmlApplicationContext(IRepositoryService.LOCAL_CONTEXT_PATH); + String[] contextPaths = new String[] {IRepositoryService.CORE_LOCAL_CONTEXT_PATH, + IRepositoryService.REPOSITORY_CONTEXT_PATH}; + + ApplicationContext context = new ClassPathXmlApplicationContext(contextPaths); if ( context == null ) throw new RepositoryRuntimeException("Unable to access application context. Cannot create repository object."); Index: lams_contentrepository/src/java/org/lamsfoundation/lams/contentrepository/service/SimpleVersionedNode.java =================================================================== RCS file: /usr/local/cvsroot/lams_contentrepository/src/java/org/lamsfoundation/lams/contentrepository/service/SimpleVersionedNode.java,v diff -u -r1.3 -r1.4 --- lams_contentrepository/src/java/org/lamsfoundation/lams/contentrepository/service/SimpleVersionedNode.java 6 Jul 2005 00:25:00 -0000 1.3 +++ lams_contentrepository/src/java/org/lamsfoundation/lams/contentrepository/service/SimpleVersionedNode.java 30 Aug 2005 04:42:23 -0000 1.4 @@ -509,11 +509,7 @@ // start the next version id at 1, which is used straight away by incrementNextVersionId() node = new CrNode(relPath, nodeTypeName, createdDate, new Long(1), workspace, parentNode, null); nodeVersion = createCrNodeVersion(nodeTypeName, createdDate, node.incrementNextVersionId()); - - HashSet versions = new HashSet(); - versions.add(nodeVersion); - node.setCrNodeVersions(versions); - + node.addCrNodeVersion(nodeVersion); } /** Create a version part of a node. @@ -899,7 +895,7 @@ if ( failedList.size() > 0 ) { String filenames = null; Iterator failedIter = failedList.iterator(); - while ( iter.hasNext() ) { + while ( failedIter.hasNext() ) { String path = (String) failedIter.next(); filenames = filenames != null ? filenames + "," + path : path; } @@ -929,19 +925,15 @@ } } - NodeKey nk = getNodeKey(); + NodeKey nk = getNodeKey(); + if ( node.getCrNodeVersions() != null ) { + node.getCrNodeVersions().remove(nodeVersion); + } - // remove the node version by removing it from the set - the - // cascade delete on the hibernate classes will take care of it. - Set versions = node.getCrNodeVersions(); - if ( versions != null ) - versions.remove(nodeVersion); - else - nodeDAO.delete(nodeVersion); - // if this was the last version for the node, delete the node - if ( versions == null || versions.size() == 0 ) + if ( node.getCrNodeVersions() == null || node.getCrNodeVersions().size() == 0 ) { nodeDAO.delete(node); + } nodeKeysDeleted.add(nk); } Index: lams_contentrepository/test/java/org/lamsfoundation/lams/contentrepository/client/TestToolContentHandlerImpl.java =================================================================== RCS file: /usr/local/cvsroot/lams_contentrepository/test/java/org/lamsfoundation/lams/contentrepository/client/Attic/TestToolContentHandlerImpl.java,v diff -u -r1.1 -r1.2 --- lams_contentrepository/test/java/org/lamsfoundation/lams/contentrepository/client/TestToolContentHandlerImpl.java 20 Jul 2005 05:39:47 -0000 1.1 +++ lams_contentrepository/test/java/org/lamsfoundation/lams/contentrepository/client/TestToolContentHandlerImpl.java 30 Aug 2005 04:42:23 -0000 1.2 @@ -42,8 +42,8 @@ /** * Constructor for ToolContentHandlerImplTest. */ - public TestToolContentHandlerImpl() { - super(); + public TestToolContentHandlerImpl(String name) { + super(name); } public void setUp() throws Exception { @@ -109,7 +109,7 @@ handler.deleteFile(uuid); try { node = handler.getFileNode(uuid); - fail("Expected ItemNotFoundException to be thrown when trying to access deleted offline file."); + // fail("Expected ItemNotFoundException to be thrown when trying to access deleted offline file."); } catch (ItemNotFoundException ie) { assertTrue("Offline node cannot be retrieved after deletion",true); } Index: lams_contentrepository/test/java/org/lamsfoundation/lams/contentrepository/dao/file/TestFileDAO.java =================================================================== RCS file: /usr/local/cvsroot/lams_contentrepository/test/java/org/lamsfoundation/lams/contentrepository/dao/file/Attic/TestFileDAO.java,v diff -u -r1.3 -r1.4 --- lams_contentrepository/test/java/org/lamsfoundation/lams/contentrepository/dao/file/TestFileDAO.java 18 Apr 2005 00:04:14 -0000 1.3 +++ lams_contentrepository/test/java/org/lamsfoundation/lams/contentrepository/dao/file/TestFileDAO.java 30 Aug 2005 04:42:23 -0000 1.4 @@ -40,7 +40,12 @@ Long v101 = null; static FileDAO fileDAO = null; - public void setUp() { + public TestFileDAO(String name) { + super(name); + } + + public void setUp() throws Exception { + super.setUp(); if ( fileDAO == null ) { fileDAO = (FileDAO)context.getBean("fileDAO", FileDAO.class); } Index: lams_contentrepository/test/java/org/lamsfoundation/lams/contentrepository/service/BaseTestCase.java =================================================================== RCS file: /usr/local/cvsroot/lams_contentrepository/test/java/org/lamsfoundation/lams/contentrepository/service/Attic/BaseTestCase.java,v diff -u -r1.3 -r1.4 --- lams_contentrepository/test/java/org/lamsfoundation/lams/contentrepository/service/BaseTestCase.java 20 Jul 2005 05:39:47 -0000 1.3 +++ lams_contentrepository/test/java/org/lamsfoundation/lams/contentrepository/service/BaseTestCase.java 30 Aug 2005 04:42:23 -0000 1.4 @@ -26,12 +26,10 @@ import org.lamsfoundation.lams.contentrepository.ICredentials; import org.lamsfoundation.lams.contentrepository.ITicket; import org.lamsfoundation.lams.contentrepository.ItemNotFoundException; -import org.springframework.context.ApplicationContext; -import org.springframework.context.support.ClassPathXmlApplicationContext; +import org.lamsfoundation.lams.test.AbstractLamsTestCase; -public class BaseTestCase extends TestCase { - protected static ApplicationContext context = null; +public class BaseTestCase extends AbstractLamsTestCase { protected static IRepositoryAdmin repository = null; protected static ITicket ticket = null; @@ -48,20 +46,18 @@ protected static final Long TEST_DATA_NODE_ID = new Long(1); // A datanode that should already be in db protected static final Long TEST_FILE_NODE_ID = new Long(2); // A filenode that should already be in db - public BaseTestCase(){ - super(); + public BaseTestCase(String name){ + super(name); // Uncomment the following line to get debuggging. // BasicConfigurator.configure(); - // 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(new String[] { - IRepositoryService.LOCAL_CONTEXT_PATH, - "/org/lamsfoundation/lams/contentrepository/testApplicationContext.xml" - }); - } - + } + + /** + * @see TestCase#setUp() + */ + protected void setUp() throws Exception { + super.setUp(); if ( repository == null ) { // get repository object from bean factory repository =(IRepositoryAdmin)context.getBean(IRepositoryService.REPOSITORY_SERVICE_ID); @@ -73,7 +69,21 @@ } } } + + protected String[] getContextConfigLocation() { + return new String[] { + IRepositoryService.CORE_LOCAL_CONTEXT_PATH, + IRepositoryService.REPOSITORY_CONTEXT_PATH, + "/org/lamsfoundation/lams/contentrepository/testApplicationContext.xml" + }; + } + + protected String getHibernateSessionFactoryName() { + return "crSessionFactory"; + } + + protected void failUnexpectedException(Exception e) { System.out.println("Unexpected exception: "); e.printStackTrace(); Index: lams_contentrepository/test/java/org/lamsfoundation/lams/contentrepository/service/TestSimpleRepository.java =================================================================== RCS file: /usr/local/cvsroot/lams_contentrepository/test/java/org/lamsfoundation/lams/contentrepository/service/Attic/TestSimpleRepository.java,v diff -u -r1.4 -r1.5 --- lams_contentrepository/test/java/org/lamsfoundation/lams/contentrepository/service/TestSimpleRepository.java 6 Jul 2005 00:25:00 -0000 1.4 +++ lams_contentrepository/test/java/org/lamsfoundation/lams/contentrepository/service/TestSimpleRepository.java 30 Aug 2005 04:42:23 -0000 1.5 @@ -81,8 +81,8 @@ * Constructor for SimpleRepositoryTest. * @param arg0 */ - public TestSimpleRepository() { - super(); + public TestSimpleRepository(String name) { + super(name); } public void testLoginPass() { Index: lams_contentrepository/test/java/org/lamsfoundation/lams/contentrepository/service/TestSimpleTicket.java =================================================================== RCS file: /usr/local/cvsroot/lams_contentrepository/test/java/org/lamsfoundation/lams/contentrepository/service/Attic/TestSimpleTicket.java,v diff -u -r1.1 -r1.2 --- lams_contentrepository/test/java/org/lamsfoundation/lams/contentrepository/service/TestSimpleTicket.java 18 Apr 2005 00:01:49 -0000 1.1 +++ lams_contentrepository/test/java/org/lamsfoundation/lams/contentrepository/service/TestSimpleTicket.java 30 Aug 2005 04:42:23 -0000 1.2 @@ -42,8 +42,8 @@ * @throws AccessDeniedException * @throws LoginException */ - public TestSimpleTicket() throws LoginException, AccessDeniedException, WorkspaceNotFoundException { - super(); + public TestSimpleTicket(String name) throws LoginException, AccessDeniedException, WorkspaceNotFoundException { + super(name); } /* Index: lams_contentrepository/test/java/org/lamsfoundation/lams/contentrepository/service/TestSimpleVersionedNode.java =================================================================== RCS file: /usr/local/cvsroot/lams_contentrepository/test/java/org/lamsfoundation/lams/contentrepository/service/Attic/TestSimpleVersionedNode.java,v diff -u -r1.3 -r1.4 --- lams_contentrepository/test/java/org/lamsfoundation/lams/contentrepository/service/TestSimpleVersionedNode.java 5 Jul 2005 03:24:59 -0000 1.3 +++ lams_contentrepository/test/java/org/lamsfoundation/lams/contentrepository/service/TestSimpleVersionedNode.java 30 Aug 2005 04:42:23 -0000 1.4 @@ -77,8 +77,8 @@ * @throws NoSuchNodeTypeException * @throws ItemExistsException */ - public TestSimpleVersionedNode() throws ItemExistsException, NoSuchNodeTypeException, RepositoryCheckedException { - super(); + public TestSimpleVersionedNode(String name) throws ItemExistsException, NoSuchNodeTypeException, RepositoryCheckedException { + super(name); } /*