Author: adamw Date: 2005-10-29 15:33:52 -0400 (Sat, 29 Oct 2005) New Revision: 1472 Modified: trunk/forge/portal-extensions/forge-service/src/java/org/jboss/forge/service/ForgeService.java trunk/forge/portal-extensions/forge-service/src/java/org/jboss/forge/service/ForgeTimer.java trunk/forge/portal-extensions/forge-service/src/java/org/jboss/forge/service/ForgeTimerLocal.java trunk/forge/portal-extensions/shotoku/shotoku-svn-service/src/java/org/jboss/shotoku/svn/service/SvnRepository.java trunk/forge/portal-extensions/shotoku/shotoku-svn-service/src/java/org/jboss/shotoku/svn/service/SvnServiceImpl.java trunk/forge/portal-extensions/shotoku/shotoku-svn-service/src/java/org/jboss/shotoku/svn/service/SvnServiceTimer.java trunk/forge/portal-extensions/shotoku/shotoku-svn-service/src/java/org/jboss/shotoku/svn/service/SvnServiceTimerLocal.java trunk/forge/portal-extensions/shotoku/shotoku-svn/src/java/org/jboss/shotoku/svn/SvnHeadNode.java trunk/forge/portal-extensions/shotoku/shotoku-svn/src/java/org/jboss/shotoku/svn/SvnService.java Log: Threads instead of timers -test Modified: trunk/forge/portal-extensions/forge-service/src/java/org/jboss/forge/service/ForgeService.java =================================================================== --- trunk/forge/portal-extensions/forge-service/src/java/org/jboss/forge/service/ForgeService.java 2005-10-29 16:50:28 UTC (rev 1471) +++ trunk/forge/portal-extensions/forge-service/src/java/org/jboss/forge/service/ForgeService.java 2005-10-29 19:33:52 UTC (rev 1472) @@ -25,7 +25,6 @@ import java.util.HashMap; import java.util.Map; -import javax.annotation.EJB; import javax.ejb.Local; import org.jboss.annotation.ejb.Management; @@ -150,8 +149,8 @@ public void create() throws Exception { } - @EJB - private ForgeTimerLocal timer; + //@EJB + //private ForgeTimerLocal timer; public void start() throws Exception { cache = Collections.synchronizedMap( @@ -166,7 +165,21 @@ // Setting the default timer interval. timerInterval = DEFAULT_TIMER_INTERVAL; // And starting the timer. - timer.scheduleTimer(DEFAULT_TIMER_INTERVAL); + //timer.scheduleTimer(DEFAULT_TIMER_INTERVAL); + + new Thread() { + public void run() { + while (true) { + try { + sleep(getTimerInterval()); + } catch (InterruptedException e) { + e.printStackTrace(); + } + + update(); + } + } + }.start(); } public void stop() { Modified: trunk/forge/portal-extensions/forge-service/src/java/org/jboss/forge/service/ForgeTimer.java =================================================================== --- trunk/forge/portal-extensions/forge-service/src/java/org/jboss/forge/service/ForgeTimer.java 2005-10-29 16:50:28 UTC (rev 1471) +++ trunk/forge/portal-extensions/forge-service/src/java/org/jboss/forge/service/ForgeTimer.java 2005-10-29 19:33:52 UTC (rev 1472) @@ -38,6 +38,7 @@ * A timer which, when expires, calls the update method of an instance of * ForgeManagement - this instance is looked up as an mbean. * @author adamw + * @deprecated */ @Stateless @Local(ForgeTimerLocal.class) Modified: trunk/forge/portal-extensions/forge-service/src/java/org/jboss/forge/service/ForgeTimerLocal.java =================================================================== --- trunk/forge/portal-extensions/forge-service/src/java/org/jboss/forge/service/ForgeTimerLocal.java 2005-10-29 16:50:28 UTC (rev 1471) +++ trunk/forge/portal-extensions/forge-service/src/java/org/jboss/forge/service/ForgeTimerLocal.java 2005-10-29 19:33:52 UTC (rev 1472) @@ -21,6 +21,10 @@ */ package org.jboss.forge.service; +/** + * @author adamw + * @deprecated + */ public interface ForgeTimerLocal { /** * Schedules a timer that updates forge management to timeout after the Modified: trunk/forge/portal-extensions/shotoku/shotoku-svn/src/java/org/jboss/shotoku/svn/SvnHeadNode.java =================================================================== --- trunk/forge/portal-extensions/shotoku/shotoku-svn/src/java/org/jboss/shotoku/svn/SvnHeadNode.java 2005-10-29 16:50:28 UTC (rev 1471) +++ trunk/forge/portal-extensions/shotoku/shotoku-svn/src/java/org/jboss/shotoku/svn/SvnHeadNode.java 2005-10-29 19:33:52 UTC (rev 1472) @@ -130,7 +130,7 @@ return file.lastModified(); else try { - return service.getLastCommited(id, fullPath); + return service.getLastModification(id, fullPath); } catch (SvnOperationFailed e) { throw new RepositoryException(e); } Modified: trunk/forge/portal-extensions/shotoku/shotoku-svn/src/java/org/jboss/shotoku/svn/SvnService.java =================================================================== --- trunk/forge/portal-extensions/shotoku/shotoku-svn/src/java/org/jboss/shotoku/svn/SvnService.java 2005-10-29 16:50:28 UTC (rev 1471) +++ trunk/forge/portal-extensions/shotoku/shotoku-svn/src/java/org/jboss/shotoku/svn/SvnService.java 2005-10-29 19:33:52 UTC (rev 1472) @@ -197,7 +197,7 @@ * @return Time of last commit of the given resource. * @throws SvnOperationFailed */ - public long getLastCommited(String id, String path) + public long getLastModification(String id, String path) throws SvnOperationFailed; /** Modified: trunk/forge/portal-extensions/shotoku/shotoku-svn-service/src/java/org/jboss/shotoku/svn/service/SvnRepository.java =================================================================== --- trunk/forge/portal-extensions/shotoku/shotoku-svn-service/src/java/org/jboss/shotoku/svn/service/SvnRepository.java 2005-10-29 16:50:28 UTC (rev 1471) +++ trunk/forge/portal-extensions/shotoku/shotoku-svn-service/src/java/org/jboss/shotoku/svn/service/SvnRepository.java 2005-10-29 19:33:52 UTC (rev 1472) @@ -310,11 +310,17 @@ } } - public long getLastCommited(String path) + public long getLastModification(String path) throws SvnOperationFailed { try { - return ourClientManager.getWCClient().doInfo( - new File(getFileSystemPath(path)), + File file = new File(getFileSystemPath(path)); + + if (ourClientManager.getStatusClient().doStatus( + file, false).getContentsStatus() != + SVNStatusType.STATUS_NORMAL) + return file.lastModified(); + else + return ourClientManager.getWCClient().doInfo(file, SVNRevision.WORKING).getCommittedDate().getTime(); } catch (SVNException e) { throw new SvnOperationFailed(e); Modified: trunk/forge/portal-extensions/shotoku/shotoku-svn-service/src/java/org/jboss/shotoku/svn/service/SvnServiceImpl.java =================================================================== --- trunk/forge/portal-extensions/shotoku/shotoku-svn-service/src/java/org/jboss/shotoku/svn/service/SvnServiceImpl.java 2005-10-29 16:50:28 UTC (rev 1471) +++ trunk/forge/portal-extensions/shotoku/shotoku-svn-service/src/java/org/jboss/shotoku/svn/service/SvnServiceImpl.java 2005-10-29 19:33:52 UTC (rev 1472) @@ -26,7 +26,6 @@ import java.util.Map; -import javax.annotation.EJB; import javax.ejb.Local; import org.apache.log4j.Logger; @@ -59,8 +58,8 @@ private final static long DEFAULT_TIMER_INTERVAL = 1000*5; // 5 seconds private long timerInterval; - @EJB - private SvnServiceTimerLocal timer; + //@EJB + //private SvnServiceTimerLocal timer; private Map<String, SvnRepository> repositories; @@ -123,7 +122,21 @@ // Setting the default timer interval. timerInterval = DEFAULT_TIMER_INTERVAL; // And starting the timer. - timer.scheduleTimer(DEFAULT_TIMER_INTERVAL); + //timer.scheduleTimer(DEFAULT_TIMER_INTERVAL); + + new Thread() { + public void run() { + while (true) { + try { + sleep(getTimerInterval()); + } catch (InterruptedException e) { + e.printStackTrace(); + } + + update(); + } + } + }.start(); } public void stop() { @@ -214,8 +227,8 @@ return repositories.get(id).getLogMessage(path); } - public long getLastCommited(String id, String path) + public long getLastModification(String id, String path) throws SvnOperationFailed { - return repositories.get(id).getLastCommited(path); + return repositories.get(id).getLastModification(path); } } Modified: trunk/forge/portal-extensions/shotoku/shotoku-svn-service/src/java/org/jboss/shotoku/svn/service/SvnServiceTimer.java =================================================================== --- trunk/forge/portal-extensions/shotoku/shotoku-svn-service/src/java/org/jboss/shotoku/svn/service/SvnServiceTimer.java 2005-10-29 16:50:28 UTC (rev 1471) +++ trunk/forge/portal-extensions/shotoku/shotoku-svn-service/src/java/org/jboss/shotoku/svn/service/SvnServiceTimer.java 2005-10-29 19:33:52 UTC (rev 1472) @@ -35,6 +35,7 @@ /** * @author adamw + * @deprecated */ @Stateless @Local(SvnServiceTimerLocal.class) Modified: trunk/forge/portal-extensions/shotoku/shotoku-svn-service/src/java/org/jboss/shotoku/svn/service/SvnServiceTimerLocal.java =================================================================== --- trunk/forge/portal-extensions/shotoku/shotoku-svn-service/src/java/org/jboss/shotoku/svn/service/SvnServiceTimerLocal.java 2005-10-29 16:50:28 UTC (rev 1471) +++ trunk/forge/portal-extensions/shotoku/shotoku-svn-service/src/java/org/jboss/shotoku/svn/service/SvnServiceTimerLocal.java 2005-10-29 19:33:52 UTC (rev 1472) @@ -23,6 +23,7 @@ /** * @author adamw + * @deprecated */ public interface SvnServiceTimerLocal { /** |