ruper2/src/java/core/org/krysalis/ruper ResourceUpdater.java,1.10,1.11
[email protected] Mon, 08 Sep 2003 16:21:43 -0700
Newsgroups
gmane.comp.krysalis.metamorphosis.cvs
Message-ID
<[email protected] >
Update of /cvsroot/metamorphosis/ruper2/src/java/core/org/krysalis/ruper
In directory sc8-pr-cvs1:/tmp/cvs-serv5134/src/java/core/org/krysalis/ruper
Modified Files:
ResourceUpdater.java
Log Message:
1) Finished Query & Query Engine
2) Worked on Files
Index: ResourceUpdater.java
===================================================================
RCS file: /cvsroot/metamorphosis/ruper2/src/java/core/org/krysalis/ruper/ResourceUpdater.java,v
retrieving revision 1.10
retrieving revision 1.11
diff -C2 -d -r1.10 -r1.11
*** ResourceUpdater.java 7 Sep 2003 23:30:00 -0000 1.10
--- ResourceUpdater.java 8 Sep 2003 23:21:41 -0000 1.11
***************
*** 8,13 ****
import java.util.ArrayList;
- import java.util.Collections;
- import java.util.Comparator;
import java.util.Iterator;
import java.util.List;
--- 8,11 ----
***************
*** 16,34 ****
import org.krysalis.ruper.impl.ResourceUpdaterContext;
import org.krysalis.ruper.impl.ResourceUpdaterIdentifier;
import org.krysalis.ruper.query.ResourceRequest;
- import org.krysalis.ruper.query.ResourceRequestContext;
import org.krysalis.ruper.query.ResourceResult;
- import org.krysalis.ruper.repository.DefaultRepositorySet;
import org.krysalis.ruper.repository.Repository;
! import org.krysalis.ruper.repository.RepositorySet;
import org.krysalis.ruper.repository.RepositoryWrapper;
import org.krysalis.ruper.resource.ResourceIdentifier;
- import org.krysalis.ruper.resource.ResourceSpecifier;
- import org.krysalis.ruper.resource.compare.StandardComparisons;
- import org.krysalis.ruper.resource.select.StandardSelections;
import org.krysalis.ruper.util.RuperConstants;
import org.krysalis.ruper.util.identity.GenericIdentifier;
import org.krysalis.ruper.util.reference.Referenceable;
- import org.krysalis.ruper.util.select.Selector;
import org.krysalis.ruper.util.text.Messages;
--- 14,30 ----
import org.krysalis.ruper.impl.ResourceUpdaterContext;
import org.krysalis.ruper.impl.ResourceUpdaterIdentifier;
+ import org.krysalis.ruper.log.Logger;
+ import org.krysalis.ruper.query.DefaultQueryEngine;
+ import org.krysalis.ruper.query.ResourceQuery;
import org.krysalis.ruper.query.ResourceRequest;
import org.krysalis.ruper.query.ResourceResult;
import org.krysalis.ruper.repository.Repository;
! import org.krysalis.ruper.repository.RepositoryException;
import org.krysalis.ruper.repository.RepositoryWrapper;
+ import org.krysalis.ruper.resource.Resource;
import org.krysalis.ruper.resource.ResourceIdentifier;
import org.krysalis.ruper.util.RuperConstants;
import org.krysalis.ruper.util.identity.GenericIdentifier;
import org.krysalis.ruper.util.reference.Referenceable;
import org.krysalis.ruper.util.text.Messages;
***************
*** 40,43 ****
--- 36,40 ----
private ResourceUpdaterIdentifier m_identifier = null;
private ResourceUpdaterContext m_context = null;
+ private DefaultQueryEngine m_engine = null;
/**
***************
*** 49,52 ****
--- 46,50 ----
m_identifier = identifier;
m_context = context;
+ m_engine = new DefaultQueryEngine();
}
***************
*** 54,57 ****
--- 52,56 ----
m_identifier = identifier;
m_context = new ResourceUpdaterContext(RuperConstants.DEFAULT);
+ m_engine = new DefaultQueryEngine();
}
***************
*** 59,62 ****
--- 58,62 ----
m_identifier = new ResourceUpdaterIdentifier(RuperConstants.DEFAULT);
m_context = new ResourceUpdaterContext(RuperConstants.DEFAULT);
+ m_engine = new DefaultQueryEngine();
}
***************
*** 113,203 ****
}
! public ResourceResult query(
! ResourceRequest request)
! throws RuperException {
! RepositorySet repos = new DefaultRepositorySet();
! return query(repos, request, null, null, null);
}
! public ResourceResult query(
! RepositorySet repos,
! ResourceRequest request,
! ResourceRequestContext context)
throws RuperException {
! return query(repos, request, context, null, null);
! }
!
! //:TODO add Comparator groupBy
! //
!
! public ResourceResult query(
! RepositorySet repos,
! ResourceRequest request,
! ResourceRequestContext context,
! Selector selector,
! Comparator comparator)
! throws RuperException {
! ResourceResult result = new ResourceResult();
! if ( null == context )
! context = new ResourceRequestContext();
! //:TODO: Total Hack, just to allow something...
! // Rework w/ correct configurable components
! List wrappers = getRepositoryWrappers(repos);
! for (Iterator i = wrappers.iterator(); i.hasNext();) {
! RepositoryWrapper repo = (RepositoryWrapper) i.next();
! try {
! context.getLogger().debug(
! Messages.getString("Search Repo", repo));
! for (Iterator ii = request.getSpecifiers().iterator();
! ii.hasNext();
! ) {
! ResourceSpecifier specifier = (ResourceSpecifier) ii.next();
! context.getLogger().debug(
! Messages.getString("Resource Specifier", specifier));
! // How to filter
! if (null == selector)
! selector =
! StandardSelections.getNamedTypedVersion(specifier);
! // Look...
! List resources = repo.listResources(specifier, selector);
! if (resources.isEmpty()) {
! context.getLogger().warn(
! Messages.getString("NO_RESOURCES_IN_REPO", repo));
! }
! else {
! //
! // Do the query
! //
! result.addAll(resources);
! }
}
}
- catch (Exception e) {
- context.getLogger().warn(Messages.getString("LIST_FAILED"), e);
- }
- }
-
- if (result.isEmpty()) {
- context.getLogger().warn(Messages.getString("NO_RESOURCES"));
- }
- else {
- if (null == comparator)
- comparator = StandardComparisons.getNameTypeVersion();
-
- Collections.sort(result, comparator);
}
-
- return result;
}
--- 113,163 ----
}
! public void perform(ResourceRequest request) throws RuperException {
! ResourceResult result = performRequest(request);
! // Now what? Perform actions??
}
! public ResourceResult performRequest(ResourceRequest request)
throws RuperException {
! Logger.getLog().debug(Messages.getString("ResourceRequest", request));
! ResourceQuery query = request.getQuery();
! List wrappers = getRepositoryWrappers(query.getRepositories());
! return m_engine.query(wrappers, query);
! }
! public ResourceResult query(ResourceQuery query) throws RuperException {
! List wrappers = getRepositoryWrappers(query.getRepositories());
! return m_engine.query(wrappers, query);
! }
! public void copyTo(ResourceResult result, Repository targetRepository)
! throws RuperException {
! RepositoryWrapper target =
! new RepositoryWrapper(targetRepository, m_context);
! for (Iterator i = result.iterator(); i.hasNext();) {
! List group = (List) i.next();
! for (Iterator j = group.iterator(); j.hasNext();) {
! Resource resource = (Resource) j.next();
! try {
! target.publishResource(resource);
! }
! catch (Exception e) {
! // (1) log (2) stach in result set error table
! throw new RepositoryException(
! targetRepository,
! "Failed to publish resource: " + resource,
! e);
}
}
}
}
-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf