Update of /cvsroot/metamorphosis/ruper2/src/java/core/org/krysalis/ruper2/repository
In directory sc8-pr-cvs1:/tmp/cvs-serv3016/src/java/core/org/krysalis/ruper2/repository
Modified Files:
DefaultRepository.java AbstractRepository.java
AbstractHierarchicalRepository.java
Log Message:
Repository.listGroups works better now.
Note: This does not work on flat repos.
Index: DefaultRepository.java
===================================================================
RCS file: /cvsroot/metamorphosis/ruper2/src/java/core/org/krysalis/ruper2/repository/DefaultRepository.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** DefaultRepository.java 2 Oct 2003 14:41:30 -0000 1.4
--- DefaultRepository.java 3 Oct 2003 15:07:16 -0000 1.5
***************
*** 66,72 ****
public List listGroups(ResourceUpdaterContext context, Selector selector)
throws Exception {
! return context.getProtocolManager().performList(
! getRepositoryRoot(),
! selector);
}
--- 66,94 ----
public List listGroups(ResourceUpdaterContext context, Selector selector)
throws Exception {
!
! List results = null;
!
! if (context.getProtocolManager().checkExists(getRepositoryRoot())) {
!
! List groupVRLs =
! context.getProtocolManager().performList(
! getRepositoryRoot(),
! selector);
!
! if (!groupVRLs.isEmpty()) {
!
! List analyzedGroupList =
! getGroupAnalyzer().determineGroups(groupVRLs);
!
! results = SelectionHelper.select(analyzedGroupList, selector);
! }
! else
! results = RuperConstants.EMPTY_LIST;
!
! }
! else
! results = RuperConstants.EMPTY_LIST;
!
! return results;
}
***************
*** 85,95 ****
// List the container (by Selector)
// Convert to Resources
! // Select the right ones..
List resourceList =
context.getProtocolManager().performList(container, selector);
! List analyzedResourceList =
getAnalyzer().determineResources(resourceList);
! results = SelectionHelper.select(analyzedResourceList, selector);
}
else
--- 107,118 ----
// List the container (by Selector)
// Convert to Resources
! // Select the right ones...
List resourceList =
context.getProtocolManager().performList(container, selector);
! List analyzedGroupList =
getAnalyzer().determineResources(resourceList);
!
! results = SelectionHelper.select(analyzedGroupList, selector);
}
else
***************
*** 156,165 ****
// Create on demand...
if ((null == repo) && createIfRequired) {
!
//
// :TODO: Hmm, this is bogus, there is no root...
//
repo = new DefaultRepository(identifier.getId());
!
ReferenceManager.createReference(repo);
}
--- 179,188 ----
// Create on demand...
if ((null == repo) && createIfRequired) {
!
//
// :TODO: Hmm, this is bogus, there is no root...
//
repo = new DefaultRepository(identifier.getId());
!
ReferenceManager.createReference(repo);
}
Index: AbstractRepository.java
===================================================================
RCS file: /cvsroot/metamorphosis/ruper2/src/java/core/org/krysalis/ruper2/repository/AbstractRepository.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** AbstractRepository.java 1 Oct 2003 21:55:55 -0000 1.2
--- AbstractRepository.java 3 Oct 2003 15:07:16 -0000 1.3
***************
*** 8,12 ****
--- 8,14 ----
import org.krysalis.ruper2.files.DefaultResourceFilenameAnalyzer;
+ import org.krysalis.ruper2.files.DefaultResourceGroupFilenameAnalyzer;
import org.krysalis.ruper2.files.ResourceFilenameAnalyzer;
+ import org.krysalis.ruper2.files.ResourceGroupFilenameAnalyzer;
import org.krysalis.ruper2.impl.ReferenceManager;
import org.krysalis.ruper2.impl.ResourceUpdaterContext;
***************
*** 32,35 ****
--- 34,38 ----
private ResourceFilenameAnalyzer m_analyzer = null;
+ private ResourceGroupFilenameAnalyzer m_groupAnalyzer = null;
// Initialized?
***************
*** 122,125 ****
--- 125,136 ----
}
+
+ /**
+ * @return
+ */
+ public ResourceGroupFilenameAnalyzer getGroupAnalyzer() {
+ return m_groupAnalyzer;
+ }
+
public List listSpecifiers(
ResourceUpdaterContext context,
***************
*** 159,162 ****
--- 170,174 ----
m_repositoryRoot = vrl;
m_analyzer = new DefaultResourceFilenameAnalyzer(vrl);
+ m_groupAnalyzer = new DefaultResourceGroupFilenameAnalyzer(vrl);
}
Index: AbstractHierarchicalRepository.java
===================================================================
RCS file: /cvsroot/metamorphosis/ruper2/src/java/core/org/krysalis/ruper2/repository/AbstractHierarchicalRepository.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** AbstractHierarchicalRepository.java 1 Oct 2003 21:55:55 -0000 1.2
--- AbstractHierarchicalRepository.java 3 Oct 2003 15:07:16 -0000 1.3
***************
*** 6,9 ****
--- 6,10 ----
import java.io.File;
import java.util.ArrayList;
+ import java.util.Collections;
import java.util.Iterator;
import java.util.List;
***************
*** 78,82 ****
addCapability(RepositoryCapability.PUBLISHABLE);
! addCapability(RepositoryCapability.LISTABLE);
// make the repository active
--- 79,90 ----
addCapability(RepositoryCapability.PUBLISHABLE);
!
! //
! // :TODO: Right now we can't determine groups from
! // flat repos. We could, be getting contents and
! // using names as unique groups. Todo later...
! //
! if ( hierarchical )
! addCapability(RepositoryCapability.LISTABLE);
// make the repository active
***************
*** 102,105 ****
--- 110,120 ----
if (!unique.isEmpty()) {
+ //
+ // Sort now by name/type/version, just to be 'pretty'
+ // :TODO: Ought wrapper do something like this, not
+ //
+ //
+ Collections.sort(unique,StandardResourceComparisons.getNameTypeVersionComparatorSet());
+
results = new ArrayList(unique.size());
-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
lmpx.com only provides a reader for public news (NNTP) servers. It is not
affiliated with the servers or forums shown here and is not responsible for
the content of articles, which is written by their respective authors.