[jboss-svn-commits] JBL Code SVN: r14825 - in labs/shotoku/trunk: shotoku-tags/src/java/org/jboss/shotoku/tags/service and 1 other directory.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Mon Sep 3 06:47:22 EDT 2007


Author: adamw
Date: 2007-09-03 06:47:22 -0400 (Mon, 03 Sep 2007)
New Revision: 14825

Added:
   labs/shotoku/trunk/shotoku-tags/src/java/org/jboss/shotoku/tags/service/TagCacheItemDataSource.java
Removed:
   labs/shotoku/trunk/shotoku-base/src/java/org/jboss/shotoku/service/AdministratedService.java
   labs/shotoku/trunk/shotoku-base/src/java/org/jboss/shotoku/service/AdministratedServiceGetter.java
   labs/shotoku/trunk/shotoku-base/src/java/org/jboss/shotoku/service/AdministratedServiceImpl.java
Log:
Deleting administrated services

Deleted: labs/shotoku/trunk/shotoku-base/src/java/org/jboss/shotoku/service/AdministratedService.java
===================================================================
--- labs/shotoku/trunk/shotoku-base/src/java/org/jboss/shotoku/service/AdministratedService.java	2007-09-03 10:36:04 UTC (rev 14824)
+++ labs/shotoku/trunk/shotoku-base/src/java/org/jboss/shotoku/service/AdministratedService.java	2007-09-03 10:47:22 UTC (rev 14825)
@@ -1,39 +0,0 @@
-package org.jboss.shotoku.service;
-
-import java.util.Date;
-
-/**
- * A base class for services that can be started and stopped via the
- * ShotokuAdmin web application and are periodically updated.
- * @author Adam Warski (adamw at aster.pl)
- */
-public interface AdministratedService {
-    public long getLastUpdate();
-    public Date getLastUpdateDate();
-    public void setLastUpdate(long lastUpdate);
-
-    public void setTimerInterval(long timerInterval);
-    public long getTimerInterval();
-
-    public boolean getServiceRunnable();
-    public void setServiceRunnable(boolean runnable);
-
-    public String getServiceId();
-    public String getServiceName();
-    public String getServiceDescription();
-
-    public void update();
-
-    public AdministratedService getServiceInstance();
-
-    public long getLastUpdateSecondsAgo();
-    
-    /*
-     * SERVICE MANAGEMENT METHODS
-     */
-
-    public void create() throws Exception;
-    public void start() throws Exception;
-    public void stop();
-    public void destroy();
-}

Deleted: labs/shotoku/trunk/shotoku-base/src/java/org/jboss/shotoku/service/AdministratedServiceGetter.java
===================================================================
--- labs/shotoku/trunk/shotoku-base/src/java/org/jboss/shotoku/service/AdministratedServiceGetter.java	2007-09-03 10:36:04 UTC (rev 14824)
+++ labs/shotoku/trunk/shotoku-base/src/java/org/jboss/shotoku/service/AdministratedServiceGetter.java	2007-09-03 10:47:22 UTC (rev 14825)
@@ -1,25 +0,0 @@
-package org.jboss.shotoku.service;
-
-/**
- * @author Adam Warski (adamw at aster.pl)
- */
-public abstract class AdministratedServiceGetter {
-    public abstract AdministratedService getService();
-
-    public int hashCode() {
-        return getService().getServiceId().hashCode();
-    }
-
-    public boolean equals(Object obj) {
-        if (obj == null) {
-            return false;
-        }
-        
-        if (!(obj instanceof AdministratedServiceGetter)) {
-            return false;
-        }
-
-        return getService().getServiceId().equals(
-                ((AdministratedServiceGetter) obj).getService().getServiceId());
-    }
-}

Deleted: labs/shotoku/trunk/shotoku-base/src/java/org/jboss/shotoku/service/AdministratedServiceImpl.java
===================================================================
--- labs/shotoku/trunk/shotoku-base/src/java/org/jboss/shotoku/service/AdministratedServiceImpl.java	2007-09-03 10:36:04 UTC (rev 14824)
+++ labs/shotoku/trunk/shotoku-base/src/java/org/jboss/shotoku/service/AdministratedServiceImpl.java	2007-09-03 10:47:22 UTC (rev 14825)
@@ -1,135 +0,0 @@
-package org.jboss.shotoku.service;
-
-import org.apache.log4j.Logger;
-import org.jboss.shotoku.tools.Tools;
-
-import java.util.Date;
-import java.util.Calendar;
-
-/**
- * @author Adam Warski (adamw at aster.pl)
- */
-public abstract class AdministratedServiceImpl
-        implements AdministratedService {
-    private static final Logger log =
-            Logger.getLogger(AdministratedService.class);
-
-    private long lastUpdate;
-    private volatile long timerInterval;
-    private boolean serviceRunnable;
-    private Thread updateThread;
-
-    public long getLastUpdate() {
-        return lastUpdate;
-    }
-
-    public Date getLastUpdateDate() {
-        return new Date(getLastUpdate());
-    }
-
-    public void setLastUpdate(long lastUpdate) {
-        this.lastUpdate = lastUpdate;
-    }
-
-    public boolean getServiceRunnable() {
-        return serviceRunnable;
-    }
-
-    public void setServiceRunnable(boolean runnable) {
-        serviceRunnable = runnable;
-    }
-
-    public void setTimerInterval(long timerInterval) {
-        this.timerInterval = timerInterval;
-    }
-
-    public long getTimerInterval() {
-        return timerInterval;
-    }
-
-    public synchronized Thread getUpdateThread() {
-		return updateThread;
-	}
-
-	private synchronized void setUpdateThread(Thread updateThread) {
-		this.updateThread = updateThread;
-	}
-
-	public void create() throws Exception {
-        log.info("Creating " + getServiceName() + "...");
-
-        // Enabling administration for this service.
-        Tools.getService().addAdministratedService(
-                new AdministratedServiceGetter() {
-                    public AdministratedService getService() {
-                        return getServiceInstance();
-                    }
-                });
-    }
-
-    public void afterCreate() throws Exception {
-        log.info(getServiceName() + " created.");
-    }
-
-    public void start() throws Exception {
-        log.info("Starting " + getServiceName() + "...");
-        setServiceRunnable(true);
-    }
-
-    public void afterStart() throws Exception {
-        log.info(getServiceName() + " started.");
-    }
-
-    public void stop() {
-        log.info("Stopping " + getServiceName() + "...");
-        setServiceRunnable(false);
-        log.info(getServiceName() + " stopped.");
-    }
-
-    public void destroy() {
-        log.info("Destroying " + getServiceName() + "...");
-    }
-
-    public void afterDestroy() {
-        log.info(getServiceName() + " destroyed.");
-    }
-
-    public void startUpdateThread() {
-        Thread ut = new Thread() {
-            {
-                setDaemon(true);
-            }
-
-            public void run() {
-                while (getServiceRunnable()) {
-                    try {
-                        sleep(getTimerInterval());
-                    } catch (InterruptedException e) {
-                    	// Forced update.
-                        log.debug("Sleeping of updater thread for " +
-                                getServiceName() + " interrupted.", e);
-                    }
-
-                    try {
-                        update();
-                    } catch (Throwable t) {
-                        // Making sure that an exception won't stop the thread.
-                        log.error("Update method for " + getServiceName() +
-                                " threw an exception.", t);
-                    }
-
-                    setLastUpdate(Calendar.getInstance().getTimeInMillis());
-                }
-
-                log.info(getServiceName() + " deaemon thread terminated.");
-            }
-        };
-        
-        ut.start();
-        setUpdateThread(ut);
-    }
-    
-    public long getLastUpdateSecondsAgo() {
-    	return (System.currentTimeMillis() - getLastUpdate())/1000;
-    }
-}

Added: labs/shotoku/trunk/shotoku-tags/src/java/org/jboss/shotoku/tags/service/TagCacheItemDataSource.java
===================================================================
--- labs/shotoku/trunk/shotoku-tags/src/java/org/jboss/shotoku/tags/service/TagCacheItemDataSource.java	                        (rev 0)
+++ labs/shotoku/trunk/shotoku-tags/src/java/org/jboss/shotoku/tags/service/TagCacheItemDataSource.java	2007-09-03 10:47:22 UTC (rev 14825)
@@ -0,0 +1,29 @@
+package org.jboss.shotoku.tags.service;
+
+import org.jboss.shotoku.cache.CacheItemDataSource;
+import org.jboss.shotoku.cache.ValueChange;
+import org.jboss.shotoku.cache.ValueInit;
+import org.jboss.shotoku.tags.TagService;
+
+public class TagCacheItemDataSource implements CacheItemDataSource<Object, Object> {
+	private TagService service;
+	
+	public TagCacheItemDataSource(TagService service) {
+		super();
+		this.service = service;
+	}
+
+	public String getInfo() {
+		return null;
+	}
+
+	public ValueInit<? extends Object> init(Object key) {
+		return ValueInit.realValue(null);
+	}
+
+	public ValueChange<? extends Object> update(Object key, Object currentObject) {
+		service.update();
+		return ValueChange.noChange();
+	}
+
+}




More information about the jboss-svn-commits mailing list