ruper2/src/java/core/org/krysalis/ruper2/repository AbstractRepository.java,1.8,1.9 AbstractHierarchicalRepository.java,1.10,1.11 DefaultRepository.java,1.9,1.10 IRepository.java,1.4,1.5
[email protected] Wed, 29 Oct 2003 21:15:55 -0800
Newsgroups
gmane.comp.krysalis.metamorphosis.cvs
Message-ID
<[email protected] >
Update of /cvsroot/metamorphosis/ruper2/src/java/core/org/krysalis/ruper2/repository
In directory sc8-pr-cvs1:/tmp/cvs-serv11152/src/java/core/org/krysalis/ruper2/repository
Modified Files:
AbstractRepository.java AbstractHierarchicalRepository.java
DefaultRepository.java IRepository.java
Log Message:
Leverage selectors for performList, to make it much more powerful.
Index: AbstractRepository.java
===================================================================
RCS file: /cvsroot/metamorphosis/ruper2/src/java/core/org/krysalis/ruper2/repository/AbstractRepository.java,v
retrieving revision 1.8
retrieving revision 1.9
diff -C2 -d -r1.8 -r1.9
*** AbstractRepository.java 13 Oct 2003 03:46:12 -0000 1.8
--- AbstractRepository.java 30 Oct 2003 05:15:53 -0000 1.9
***************
*** 17,22 ****
--- 17,25 ----
import org.krysalis.ruper2.util.identity.GenericIdentifier;
import org.krysalis.ruper2.util.net.VirtualResourceLocator;
+ import org.krysalis.ruper2.util.net.select.MatchingVrlSelector;
+ import org.krysalis.ruper2.util.regexp.RegularExpressionHelper;
import org.krysalis.ruper2.util.select.ISelectable;
import org.krysalis.ruper2.util.select.ISelector;
+ import org.krysalis.version.log.Logger;
import org.krysalis.version.util.debug.DebugUtils;
import org.krysalis.version.util.debug.Dumpable;
***************
*** 26,30 ****
* @author anou_mana
*/
! public abstract class AbstractRepository implements IRepository, ISelectable, Dumpable {
private RepositoryCapabilitySet m_capabilities = null;
--- 29,34 ----
* @author anou_mana
*/
! public abstract class AbstractRepository
! implements IRepository, ISelectable, Dumpable {
private RepositoryCapabilitySet m_capabilities = null;
***************
*** 36,39 ****
--- 40,45 ----
private IResourceGroupFilenameAnalyzer m_groupAnalyzer = null;
+ private String m_mirrorDir = null;
+
// Initialized?
private boolean m_init = false;
***************
*** 45,58 ****
protected AbstractRepository(String id, VirtualResourceLocator root) {
setVirtualResourceLocator(root);
! init(id);
}
! private void init(String id){
m_identifier = new RepositoryIdentifier(id);
m_capabilities = new RepositoryCapabilitySet();
! m_attributes = new RepositoryAttributeMap();
}
!
/* (non-Javadoc)
* @see org.krysalis.ruper2.repository.Repository#getRepositoryIdentifier()
--- 51,64 ----
protected AbstractRepository(String id, VirtualResourceLocator root) {
setVirtualResourceLocator(root);
! init(id);
}
! private void init(String id) {
m_identifier = new RepositoryIdentifier(id);
m_capabilities = new RepositoryCapabilitySet();
! m_attributes = new RepositoryAttributeMap();
}
!
/* (non-Javadoc)
* @see org.krysalis.ruper2.repository.Repository#getRepositoryIdentifier()
***************
*** 125,129 ****
}
-
/**
* @return
--- 131,134 ----
***************
*** 140,144 ****
throw new RepositoryException(
this,
! "Unsupported Capability: " + RepositoryCapability.LISTABLE_SPECIFIERS);
}
--- 145,150 ----
throw new RepositoryException(
this,
! "Unsupported Capability: "
! + RepositoryCapability.LISTABLE_SPECIFIERS);
}
***************
*** 185,193 ****
out.println("Root: " + m_repositoryRoot);
! DebugUtils.dump(out,depth+1,"Capabilities", verbose,m_capabilities);
! DebugUtils.dump(out,depth+1,"Atributes",verbose,m_attributes);
}
!
public abstract VirtualResourceLocator folderForGroup(ResourceGroup group);
}
--- 191,254 ----
out.println("Root: " + m_repositoryRoot);
! DebugUtils.dump(
! out,
! depth + 1,
! "Capabilities",
! verbose,
! m_capabilities);
! DebugUtils.dump(out, depth + 1, "Atributes", verbose, m_attributes);
}
!
public abstract VirtualResourceLocator folderForGroup(ResourceGroup group);
+ public void initialize(ResourceUpdaterContext context) throws Exception {
+ if (m_init)
+ return;
+
+ List results = null;
+
+ if (context.getProtocolManager().checkExists(getRepositoryRoot())) {
+
+ if (null != m_mirrorDir) {
+ // Determine the list of mirrors
+ List mirrorVRLs =
+ context.getProtocolManager().performList(
+ getMirrorRoot(),
+ new MatchingVrlSelector(
+ RegularExpressionHelper.endsWith(m_mirrorDir)));
+
+ VirtualResourceLocator mirrorSite =
+ (VirtualResourceLocator) (mirrorVRLs.get(0));
+
+ Logger.getLogger().info("Selected mirror : " + mirrorSite);
+
+ //
+ // Assume this identity
+ //
+ m_repositoryRoot = mirrorSite;
+ }
+ }
+
+ m_init = true;
+ }
+
+ public VirtualResourceLocator getMirrorRoot() {
+ return (null != m_mirrorDir)
+ ? new VirtualResourceLocator(getRepositoryRoot(), m_mirrorDir)
+ : getRepositoryRoot();
+ }
+
+ /**
+ * @return
+ */
+ public String getMirrorDir() {
+ return m_mirrorDir;
+ }
+
+ /**
+ * @param string
+ */
+ public void setMirrorDir(String string) {
+ m_mirrorDir = string;
+ }
}
Index: AbstractHierarchicalRepository.java
===================================================================
RCS file: /cvsroot/metamorphosis/ruper2/src/java/core/org/krysalis/ruper2/repository/AbstractHierarchicalRepository.java,v
retrieving revision 1.10
retrieving revision 1.11
diff -C2 -d -r1.10 -r1.11
*** AbstractHierarchicalRepository.java 24 Oct 2003 21:35:50 -0000 1.10
--- AbstractHierarchicalRepository.java 30 Oct 2003 05:15:53 -0000 1.11
***************
*** 28,31 ****
--- 28,32 ----
private boolean m_hierarchical = true;
+
AbstractHierarchicalRepository(String id) {
super(id);
***************
*** 162,165 ****
--- 163,167 ----
: getRepositoryRoot();
}
+
/**
Index: DefaultRepository.java
===================================================================
RCS file: /cvsroot/metamorphosis/ruper2/src/java/core/org/krysalis/ruper2/repository/DefaultRepository.java,v
retrieving revision 1.9
retrieving revision 1.10
diff -C2 -d -r1.9 -r1.10
*** DefaultRepository.java 22 Oct 2003 02:14:07 -0000 1.9
--- DefaultRepository.java 30 Oct 2003 05:15:53 -0000 1.10
***************
*** 13,20 ****
--- 13,22 ----
import org.krysalis.ruper2.util.io.ResolvedFile;
import org.krysalis.ruper2.util.net.VirtualResourceLocator;
+ import org.krysalis.ruper2.util.net.select.ChildVrlSelector;
import org.krysalis.ruper2.util.reference.NoSuchReferenceException;
import org.krysalis.ruper2.util.select.AllSelector;
import org.krysalis.ruper2.util.select.ISelector;
import org.krysalis.ruper2.util.select.SelectionHelper;
+ import org.krysalis.ruper2.util.select.logic.AndSelector;
import org.krysalis.version.log.Logger;
***************
*** 73,77 ****
context.getProtocolManager().performList(
getRepositoryRoot(),
! selector);
if (!groupVRLs.isEmpty()) {
--- 75,81 ----
context.getProtocolManager().performList(
getRepositoryRoot(),
! new AndSelector(
! new ChildVrlSelector(getRepositoryRoot()),
! selector));
if (!groupVRLs.isEmpty()) {
***************
*** 108,112 ****
// Select the right ones...
List resourceList =
! context.getProtocolManager().performList(container, selector);
List analyzedGroupList =
--- 112,118 ----
// Select the right ones...
List resourceList =
! context.getProtocolManager().performList(
! container,
! new ChildVrlSelector(container));
List analyzedGroupList =
***************
*** 141,145 ****
return publishedResource;
}
!
public void deleteResource(
ResourceUpdaterContext context,
--- 147,151 ----
return publishedResource;
}
!
public void deleteResource(
ResourceUpdaterContext context,
***************
*** 161,172 ****
}
! public static IRepository getRepository(
! String identifier) {
! return getRepository(
! new RepositoryIdentifier(identifier),
! false);
}
!
public static IRepository getRepository(
String identifier,
--- 167,175 ----
}
! public static IRepository getRepository(String identifier) {
! return getRepository(new RepositoryIdentifier(identifier), false);
}
!
public static IRepository getRepository(
String identifier,
Index: IRepository.java
===================================================================
RCS file: /cvsroot/metamorphosis/ruper2/src/java/core/org/krysalis/ruper2/repository/IRepository.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** IRepository.java 24 Oct 2003 21:35:50 -0000 1.4
--- IRepository.java 30 Oct 2003 05:15:53 -0000 1.5
***************
*** 41,44 ****
--- 41,51 ----
/**
+ * Initialize oneself (within this context)
+ *
+ * @param context
+ */
+ void initialize(ResourceUpdaterContext context) throws Exception;
+
+ /**
* Return the root for this repository
* @return
-------------------------------------------------------
This SF.net email is sponsored by: SF.net Giveback Program.
Does SourceForge.net help you be more productive? Does it
help you create better code? SHARE THE LOVE, and help us help
YOU! Click Here: http://sourceforge.net/donate/