Author: adamw
Date: 2006-06-02 11:16:59 -0400 (Fri, 02 Jun 2006)
New Revision: 4567
Modified:
labs/shotoku/trunk/shotoku-base/src/etc/shotoku.properties.sample
labs/shotoku/trunk/shotoku-svn/src/java/org/jboss/shotoku/svn/SvnContentManager.java
labs/shotoku/trunk/shotoku-svn/src/java/org/jboss/shotoku/svn/SvnService.java
labs/shotoku/trunk/shotoku-svn/src/java/org/jboss/shotoku/svn/SvnTools.java
labs/shotoku/trunk/shotoku-svn/src/java/org/jboss/shotoku/svn/service/SvnServiceImpl.java
Log:
Possibility to turn first update off
Modified: labs/shotoku/trunk/shotoku-base/src/etc/shotoku.properties.sample
===================================================================
--- labs/shotoku/trunk/shotoku-base/src/etc/shotoku.properties.sample 2006-06-02 14:30:41 UTC (rev 4566)
+++ labs/shotoku/trunk/shotoku-base/src/etc/shotoku.properties.sample 2006-06-02 15:16:59 UTC (rev 4567)
@@ -37,4 +37,8 @@
shotoku.internal.svn.service.interval = 5000
shotoku.internal.tests.id = default
-shotoku.internal.tests.dir = shotoku-test
\ No newline at end of file
+shotoku.internal.tests.dir = shotoku-test
+
+# A debugging property which, when set to 0, will cause repositories not to be
+# updated for the first time when being registered.
+shotoku.internal.svn.service.firstupdate = 1
\ No newline at end of file
Modified: labs/shotoku/trunk/shotoku-svn/src/java/org/jboss/shotoku/svn/SvnContentManager.java
===================================================================
--- labs/shotoku/trunk/shotoku-svn/src/java/org/jboss/shotoku/svn/SvnContentManager.java 2006-06-02 14:30:41 UTC (rev 4566)
+++ labs/shotoku/trunk/shotoku-svn/src/java/org/jboss/shotoku/svn/SvnContentManager.java 2006-06-02 15:16:59 UTC (rev 4567)
@@ -69,6 +69,8 @@
service = SvnTools.getService();
service.setTimerInterval(ContentManager.getProperty(
SvnTools.PROPERTY_INTERVAL, SvnTools.DEFAULT_TIMER_INTERVAL));
+ service.setFirstUpdate(ContentManager.getProperty(
+ SvnTools.FIRST_UPDATE, 1) != 0);
// Configuring the repositories.
// for DAV (over http and https)
Modified: labs/shotoku/trunk/shotoku-svn/src/java/org/jboss/shotoku/svn/SvnService.java
===================================================================
--- labs/shotoku/trunk/shotoku-svn/src/java/org/jboss/shotoku/svn/SvnService.java 2006-06-02 14:30:41 UTC (rev 4566)
+++ labs/shotoku/trunk/shotoku-svn/src/java/org/jboss/shotoku/svn/SvnService.java 2006-06-02 15:16:59 UTC (rev 4567)
@@ -169,6 +169,20 @@
public void setTimerInterval(long timerInterval);
/**
+ * Sets the first update property - if a repository should be updated
+ * on registration.
+ *
+ * @param firstUpdate New value of the first update property.
+ */
+ public void setFirstUpdate(boolean firstUpdate);
+
+ /**
+ * Checks if a repository will be updated on registration.
+ * @return True if a repository will be updated on registration.
+ */
+ public boolean getFirstUpdate();
+
+ /**
* Adds a delayed operation that will be executed on the nearest
* service update.
* @param id Id of the repository in which this operation is to be
Modified: labs/shotoku/trunk/shotoku-svn/src/java/org/jboss/shotoku/svn/SvnTools.java
===================================================================
--- labs/shotoku/trunk/shotoku-svn/src/java/org/jboss/shotoku/svn/SvnTools.java 2006-06-02 14:30:41 UTC (rev 4566)
+++ labs/shotoku/trunk/shotoku-svn/src/java/org/jboss/shotoku/svn/SvnTools.java 2006-06-02 15:16:59 UTC (rev 4567)
@@ -80,6 +80,12 @@
public final static long DEFAULT_TIMER_INTERVAL = 1000*5; // 5 seconds
public static final String PROPERTY_INTERVAL = Constants.PROPERTIES_INTERNAL + ".svn.service.interval";
+ /**
+ * Property stating if first update should be executed on
+ * repository registering. True by default.
+ */
+ public static final String FIRST_UPDATE = Constants.PROPERTIES_INTERNAL + ".svn.service.firstupdate";
+
private static SvnService instance;
/**
Modified: labs/shotoku/trunk/shotoku-svn/src/java/org/jboss/shotoku/svn/service/SvnServiceImpl.java
===================================================================
--- labs/shotoku/trunk/shotoku-svn/src/java/org/jboss/shotoku/svn/service/SvnServiceImpl.java 2006-06-02 14:30:41 UTC (rev 4566)
+++ labs/shotoku/trunk/shotoku-svn/src/java/org/jboss/shotoku/svn/service/SvnServiceImpl.java 2006-06-02 15:16:59 UTC (rev 4567)
@@ -60,6 +60,8 @@
private ConcurrentMap<String, SvnRepository> repositories;
+ private boolean firstUpdate;
+
/*
* Service lifecycle management.
*/
@@ -166,9 +168,17 @@
}
/*
- * SvnService implementation.
- */
+ * SvnService implementation.
+ */
+ public boolean getFirstUpdate() {
+ return firstUpdate;
+ }
+
+ public void setFirstUpdate(boolean firstUpdate) {
+ this.firstUpdate = firstUpdate;
+ }
+
public void registerRepository(String id, Configuration conf) {
if (repositories.get(id) == null) {
SvnRepository repo = new SvnRepository(id,
@@ -181,7 +191,9 @@
repositories.put(id, repo);
// First update/ checkout.
- repo.firstUpdate();
+ if (firstUpdate) {
+ repo.firstUpdate();
+ }
log.info("Added svn repository: " + id);
}
|