ruper2/src/java/core/org/krysalis/ruper/api/tool FileUpdater.java,1.9,1.10

[email protected]
Newsgroups gmane.comp.krysalis.metamorphosis.cvs
Message-ID <[email protected]>
Update of /cvsroot/metamorphosis/ruper2/src/java/core/org/krysalis/ruper/api/tool
In directory sc8-pr-cvs1:/tmp/cvs-serv19796/src/java/core/org/krysalis/ruper/api/tool

Modified Files:
	FileUpdater.java 
Log Message:
adding the repository mgr to Resource Updater and changed the handlerMgr 
to take the map of handler chains...  

Index: FileUpdater.java
===================================================================
RCS file: /cvsroot/metamorphosis/ruper2/src/java/core/org/krysalis/ruper/api/tool/FileUpdater.java,v
retrieving revision 1.9
retrieving revision 1.10
diff -C2 -d -r1.9 -r1.10
*** FileUpdater.java	12 Sep 2003 21:02:32 -0000	1.9
--- FileUpdater.java	16 Sep 2003 20:40:32 -0000	1.10
***************
*** 22,29 ****
  import org.krysalis.ruper.query.ResourceSpecifierRequest;
  import org.krysalis.ruper.repository.DefaultRepository;
- import org.krysalis.ruper.repository.DefaultRepositorySet;
  import org.krysalis.ruper.repository.Repository;
  import org.krysalis.ruper.repository.RepositorySet;
  import org.krysalis.ruper.repository.RepositorySetIdentifier;
  import org.krysalis.ruper.util.RuperConstants;
  import org.krysalis.ruper.util.text.MessageConstants;
--- 22,33 ----
  import org.krysalis.ruper.query.ResourceSpecifierRequest;
  import org.krysalis.ruper.repository.DefaultRepository;
  import org.krysalis.ruper.repository.Repository;
+ import org.krysalis.ruper.repository.RepositoryConstants;
  import org.krysalis.ruper.repository.RepositorySet;
  import org.krysalis.ruper.repository.RepositorySetIdentifier;
+ import org.krysalis.ruper.repository.RepositorySetSortContext;
+ import org.krysalis.ruper.repository.select.ActiveRepositorySelector;
+ import org.krysalis.ruper.repository.select.LocalRepositorySelector;
+ import org.krysalis.ruper.repository.select.RemoteRepositorySelector;
  import org.krysalis.ruper.util.RuperConstants;
  import org.krysalis.ruper.util.text.MessageConstants;
***************
*** 36,40 ****
  	private ResourceUpdater m_ruper = null;
  	private FileAPI m_api = null;
- 	private RepositorySet m_repos = null;
  
  	/**
--- 40,43 ----
***************
*** 99,103 ****
  		m_ruper = ruper;
  		m_api = api;
- 		m_repos = new DefaultRepositorySet();
  	}
  
--- 102,105 ----
***************
*** 111,115 ****
  		m_ruper = ruper;
  		m_api = api;
- 		m_repos = repos;
  	}
  
--- 113,116 ----
***************
*** 120,124 ****
  		m_ruper = ruper;
  		m_api = new FileAPI();
- 		m_repos = new DefaultRepositorySet();
  	}
  
--- 121,124 ----
***************
*** 183,187 ****
  		ResourceRequest request =
  			new ResourceSpecifierRequest(
- 				m_repos,
  				m_api.getResourceSpecifierForFile(file));
  
--- 183,186 ----
***************
*** 189,193 ****
  		// Extract the query for this request
  		//
! 		ResourceQuery reposQuery = request.getQuery();
  
  		Logger.getLog().debug(
--- 188,192 ----
  		// Extract the query for this request
  		//
! 		ResourceQuery resourceQuery = request.getQuery();
  
  		Logger.getLog().debug(
***************
*** 197,220 ****
  		// Perform the query on the remote repository
  		//
! 		ResourceResult reposResult = m_ruper.query(reposQuery);
  
  		//
  		// Now perform same query over local (target) repo
  		//
! 		ResourceQuery targetQuery =
! 			new ResourceQuery(reposQuery, new RepositorySet(target));
! 
! 		//
! 		// Perform the query on the remote repository
! 		//
! 		ResourceResult targetResult = m_ruper.query(targetQuery);
  
  		//
  		// Assuming we found something in the main search repositories...
  		//
! 		if (!ResourceResultHelper.noResult(reposResult)) {
  			// Compare Results Set using the OrderBy Comparator	
  			if (ResourceResultHelper
! 				.compareTo(reposResult, targetResult, reposQuery.getOrderBy())
  				> 0) {
  
--- 196,218 ----
  		// Perform the query on the remote repository
  		//
! 		ResourceResult resourceResult =
! 			queryRepository(RepositoryConstants.REMOTE, resourceQuery);
  
  		//
  		// Now perform same query over local (target) repo
  		//
! 		ResourceResult targetResult =
! 			queryRepository(RepositoryConstants.LOCAL, resourceQuery);
  
  		//
  		// Assuming we found something in the main search repositories...
  		//
! 		if (!ResourceResultHelper.noResult(resourceResult)) {
  			// Compare Results Set using the OrderBy Comparator	
  			if (ResourceResultHelper
! 				.compareTo(
! 					resourceResult,
! 					targetResult,
! 					resourceQuery.getOrderBy())
  				> 0) {
  
***************
*** 223,227 ****
  				//
  				m_ruper.copyTo(
! 					ResourceResultHelper.getResourceList(reposResult),
  					target);
  			}
--- 221,225 ----
  				//
  				m_ruper.copyTo(
! 					ResourceResultHelper.getResourceList(resourceResult),
  					target);
  			}
***************
*** 235,238 ****
--- 233,270 ----
  	}
  
+ 	private ResourceResult queryRepository(
+ 		String repositoryConstant,
+ 		ResourceQuery resourceQuery)
+ 		throws RuperException {
+ 
+ 		//
+ 		// get the sortcontext for remote repository
+ 		//
+ 		RepositorySetSortContext repositorySortContext =
+ 			RepositorySetSortContext.getRepositorySetSortContext(
+ 				repositoryConstant);
+ 
+ 		if (repositorySortContext == null) {
+ 			repositorySortContext =
+ 				RepositorySetSortContext.createRepositorySetSortContext(
+ 					repositoryConstant);
+ 
+ 			// add the remote selector and the active repository selector								
+ 			repositorySortContext.addRepositorySelector(
+ 				new ActiveRepositorySelector());
+ 
+ 			if (repositoryConstant.equals(RepositoryConstants.REMOTE))
+ 				repositorySortContext.addRepositorySelector(
+ 					new RemoteRepositorySelector());
+ 			else if (repositoryConstant.equals(RepositoryConstants.LOCAL))
+ 				repositorySortContext.addRepositorySelector(
+ 					new LocalRepositorySelector());
+ 		}
+ 
+ 		resourceQuery.setRepositorySetSortContext(repositorySortContext);
+ 
+ 		return m_ruper.query(resourceQuery);
+ 	}
+ 
  	public ResourceResult determineFileUpdates(String fileName)
  		throws RuperException {
***************
*** 244,248 ****
  		ResourceRequest request =
  			new ResourceSpecifierRequest(
- 				m_repos,
  				m_api.getResourceSpecifierForFile(file));
  
--- 276,279 ----




-------------------------------------------------------
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.