Update of /cvsroot/metamorphosis/ruper2/src/java/core/org/krysalis/ruper2/impl
In directory sc8-pr-cvs1:/tmp/cvs-serv30169/src/java/core/org/krysalis/ruper2/impl
Modified Files:
ResourceUpdaterContext.java
Added Files:
RepositorySetWrapper.java RepositoryWrapper.java
Log Message:
More tests
--- NEW FILE: RepositorySetWrapper.java ---
/*
* Created on Sep 2, 2003
*
*/
package org.krysalis.ruper2.impl;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import org.krysalis.ruper2.RuperException;
import org.krysalis.ruper2.log.Logger;
import org.krysalis.ruper2.repository.Repository;
import org.krysalis.ruper2.repository.RepositorySet;
import org.krysalis.ruper2.resource.ResourceGroup;
import org.krysalis.ruper2.util.select.AllSelector;
/**
* @author anou_mana
*/
public class RepositorySetWrapper {
private ResourceUpdaterContext m_context = null;
private RepositorySet m_repositorySet = null;
private List m_repositoryWrappers = null;
public RepositorySetWrapper(
RepositorySet repositorySet,
ResourceUpdaterContext context) {
m_context = context;
m_repositorySet = repositorySet;
m_repositoryWrappers = new ArrayList();
for (Iterator i = m_repositorySet.getRepositories().iterator();
i.hasNext();
) {
m_repositoryWrappers.add(
new RepositoryWrapper((Repository) i.next(), m_context));
}
}
// :TODO: Work in progress ...
// Do we make it 'high level' (1 list of unique groups returned)
// or low level?
public List listGroups() {
List allGroups = null;
int repoCnt = 0;
for (Iterator i = m_repositorySet.getRepositories().iterator();
i.hasNext();
repoCnt++) {
Repository r = (Repository) i.next();
RepositoryWrapper repo = new RepositoryWrapper(r, m_context);
Logger.getLog().info("Repository: " + repo);
try {
// List groups ...
List groups = repo.listGroups(AllSelector.getInstance());
for (Iterator gi = groups.iterator(); i.hasNext();) {
ResourceGroup group = (ResourceGroup) gi.next();
Logger.getLog().info(" - Group: " + group);
}
}
catch (RuperException re) {
Logger.getLog().warn(
" - Failed to list groups: " + re.getLocalizedMessage());
}
}
return allGroups;
}
/**
* @return
*/
public RepositorySet getRepositorySet() {
return m_repositorySet;
}
/**
* @return
*/
public List getRepositoryWrappers() {
return m_repositoryWrappers;
}
}
--- NEW FILE: RepositoryWrapper.java ---
/*
* Created on Sep 4, 2003-
*/
package org.krysalis.ruper2.impl;
import java.io.PrintWriter;
import java.util.List;
import org.krysalis.ruper2.RuperException;
import org.krysalis.ruper2.log.Logger;
import org.krysalis.ruper2.repository.Repository;
import org.krysalis.ruper2.repository.RepositoryCapability;
import org.krysalis.ruper2.repository.RepositoryException;
import org.krysalis.ruper2.resource.Resource;
import org.krysalis.ruper2.resource.ResourceGroup;
import org.krysalis.ruper2.util.select.Selector;
import org.krysalis.ruper2.util.text.MessageConstants;
import org.krysalis.ruper2.util.text.Messages;
import org.krysalis.version.util.debug.DebugUtils;
import org.krysalis.version.util.debug.Dumpable;
/**
* @author arb_jack
*/
public class RepositoryWrapper implements Dumpable {
private Repository m_repository = null;
private ResourceUpdaterContext m_context = null;
public RepositoryWrapper(
Repository repository,
ResourceUpdaterContext context) {
m_repository = repository;
m_context = context;
}
/**
* Return a list of ResourceGroups, using selector
* @param selector
* @return
*/
public List listGroups(Selector selector) throws RuperException {
testCapability(RepositoryCapability.LISTABLE);
Logger.getLog().debug(
Messages.getString(
MessageConstants.LIST_GROUPS,
new Object[] { m_repository, selector }));
List groups = null;
try {
groups = m_repository.listGroups(m_context, selector);
}
catch (Exception e) {
throw new RepositoryException(
m_repository,
Messages.getString(
MessageConstants.LIST_GROUPS_FAILED,
new Object[] { m_repository, selector, e }),
e);
}
return groups;
}
/**
* Return a list of ResourceSpeficiers, using selector
*
* Hmm, is this not just another query?
*
* @param selector
* @return
*/
public List listSpecifiers(ResourceGroup group, Selector selector)
throws RuperException {
Logger.getLog().debug(
Messages.getString(
MessageConstants.LIST_SPECIFIERS,
new Object[] { m_repository, group, selector }));
testCapability(RepositoryCapability.LISTABLE);
List categories = null;
try {
categories =
m_repository.listSpecifiers(m_context, group, selector);
}
catch (Exception e) {
throw new RepositoryException(
m_repository,
MessageConstants.LIST_SPECIFIERS_FAILED,
e);
}
return categories;
}
/**
* Return a list of contents, using selector
*
* @param selector
* @return
*/
public List listResources(ResourceGroup group, Selector selector)
throws RuperException {
Logger.getLog().debug(
Messages.getString(
MessageConstants.LIST_RESOURCES,
new Object[] { m_repository, group, selector }));
List resources = null;
try {
resources = m_repository.listResources(m_context, group, selector);
}
catch (Exception e) {
throw new RepositoryException(
m_repository,
Messages.getString(
MessageConstants.LIST_RESOURCES_FAILED,
new Object[] { m_repository, group, selector, e }),
e);
}
return resources;
}
/**
* Delete a resource from the Repository
*
* @param selector
* @return
*/
public void deleteResource(Resource resource) throws RuperException {
Logger.getLog().debug(
Messages.getString(
MessageConstants.DELETE_RESOURCE,
new Object[] { m_repository, resource }));
testCapability(RepositoryCapability.DELETABLE);
try {
m_repository.deleteResource(m_context, resource);
}
catch (Exception e) {
throw new RepositoryException(
m_repository,
Messages.getString(
MessageConstants.DELETE_RESOURCE_FAILED,
new Object[] { m_repository, resource }),
e);
}
}
/**
* Publish a resource to the repository
*
* @param selector
* @return
*/
public Resource publishResource(Resource resource) throws RuperException {
Logger.getLog().debug(
Messages.getString(
MessageConstants.PUBLISH_RESOURCE,
new Object[] { m_repository, resource }));
testCapability(RepositoryCapability.PUBLISHABLE);
Resource publishedResource = null;
try {
publishedResource =
m_repository.publishResource(m_context, resource);
}
catch (Exception e) {
throw new RepositoryException(m_repository, "Publish Failed", e);
}
return publishedResource;
}
private void testCapability(RepositoryCapability capability)
throws RuperException {
if (!m_repository.hasCapability(capability)) {
throw new RepositoryException(
m_repository,
"Unsupported capability : " + capability);
}
}
public String toString() {
return m_repository.toString();
}
public void dump(PrintWriter out, int depth, boolean verbose) {
String indent = DebugUtils.getIndent(depth);
out.print(indent);
out.println("Repository: " + m_repository);
DebugUtils.dump(out, depth, verbose, m_repository);
}
}
Index: ResourceUpdaterContext.java
===================================================================
RCS file: /cvsroot/metamorphosis/ruper2/src/java/core/org/krysalis/ruper2/impl/ResourceUpdaterContext.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** ResourceUpdaterContext.java 1 Oct 2003 21:55:56 -0000 1.2
--- ResourceUpdaterContext.java 2 Oct 2003 23:56:51 -0000 1.3
***************
*** 35,38 ****
--- 35,39 ----
initClass(new ResourceUpdaterContextIdentifier(identifier));
}
+
public ResourceUpdaterContext(ResourceUpdaterContextIdentifier identifier) {
m_baseFile = SystemUtils.getCWD();
***************
*** 124,128 ****
}
else {
-
if (!createIfRequired)
throw new RuperException(
--- 125,128 ----
***************
*** 134,138 ****
ReferenceManager.createReference(context);
-
}
--- 134,137 ----
-------------------------------------------------------
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.