[jboss-svn-commits] JBL Code SVN: r5300 - in labs/shotoku/trunk: shotoku-base/src/java/org/jboss/shotoku/service shotoku-feeds/src/etc/META-INF shotoku-feeds/src/java/org/jboss/shotoku/feeds/service shotoku-tags/src/etc/META-INF shotoku-tags/src/java/org/jboss/shotoku/tags/service

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Wed Jul 26 17:09:40 EDT 2006


Author: adamw
Date: 2006-07-26 17:09:33 -0400 (Wed, 26 Jul 2006)
New Revision: 5300

Modified:
   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
   labs/shotoku/trunk/shotoku-base/src/java/org/jboss/shotoku/service/ShotokuServiceImpl.java
   labs/shotoku/trunk/shotoku-base/src/java/org/jboss/shotoku/service/UpdateThreadDataEntityManager.java
   labs/shotoku/trunk/shotoku-feeds/src/etc/META-INF/persistence.xml
   labs/shotoku/trunk/shotoku-feeds/src/java/org/jboss/shotoku/feeds/service/FeedsServiceImpl.java
   labs/shotoku/trunk/shotoku-tags/src/etc/META-INF/persistence.xml
   labs/shotoku/trunk/shotoku-tags/src/java/org/jboss/shotoku/tags/service/TagServiceImpl.java
Log:
http://jira.jboss.org/jira/browse/JBSHOTOKU-38

Modified: 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	2006-07-26 20:43:51 UTC (rev 5299)
+++ labs/shotoku/trunk/shotoku-base/src/java/org/jboss/shotoku/service/AdministratedServiceGetter.java	2006-07-26 21:09:33 UTC (rev 5300)
@@ -3,6 +3,23 @@
 /**
  * @author Adam Warski (adamw at aster.pl)
  */
-public interface AdministratedServiceGetter {
-    public AdministratedService getService();
+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());
+    }
 }

Modified: 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	2006-07-26 20:43:51 UTC (rev 5299)
+++ labs/shotoku/trunk/shotoku-base/src/java/org/jboss/shotoku/service/AdministratedServiceImpl.java	2006-07-26 21:09:33 UTC (rev 5300)
@@ -81,7 +81,7 @@
         log.info("Destroying " + getServiceName() + "...");
     }
 
-    public void afterDestroy() throws Exception {
+    public void afterDestroy() {
         log.info(getServiceName() + " destroyed.");
     }
 

Modified: labs/shotoku/trunk/shotoku-base/src/java/org/jboss/shotoku/service/ShotokuServiceImpl.java
===================================================================
--- labs/shotoku/trunk/shotoku-base/src/java/org/jboss/shotoku/service/ShotokuServiceImpl.java	2006-07-26 20:43:51 UTC (rev 5299)
+++ labs/shotoku/trunk/shotoku-base/src/java/org/jboss/shotoku/service/ShotokuServiceImpl.java	2006-07-26 21:09:33 UTC (rev 5300)
@@ -60,18 +60,18 @@
          */
         ContentManager.setup();
 
+        log.info("ContentManager setup completed.  Getting the default service timer interval...");
+
+        // Setting the default timer interval.
+        setTimerInterval(ContentManager.getDefaultServiceInterval());
+
         super.afterCreate();
     }
 
     public void start() throws Exception {
         super.start();
 
-        log.info("ContentManager setup completed.  Getting the default service timer interval...");
-
-        // Setting the default timer interval.
-        setTimerInterval(ContentManager.getDefaultServiceInterval());
-        log.info("Timer interval is: "+ getTimerInterval() +".  Starting update thread...");
-
+        log.info("Starting update thread...");
         startUpdateThread();
 
         super.afterStart();

Modified: labs/shotoku/trunk/shotoku-base/src/java/org/jboss/shotoku/service/UpdateThreadDataEntityManager.java
===================================================================
--- labs/shotoku/trunk/shotoku-base/src/java/org/jboss/shotoku/service/UpdateThreadDataEntityManager.java	2006-07-26 20:43:51 UTC (rev 5299)
+++ labs/shotoku/trunk/shotoku-base/src/java/org/jboss/shotoku/service/UpdateThreadDataEntityManager.java	2006-07-26 21:09:33 UTC (rev 5300)
@@ -2,7 +2,6 @@
 
 import javax.persistence.EntityManager;
 import javax.persistence.EntityManagerFactory;
-import javax.persistence.Persistence;
 
 /**
  * @author Adam Warski (adamw at aster.pl)
@@ -11,20 +10,17 @@
         implements UpdateThreadData<EntityManager> {
     private EntityManager updaterThreadEm;
     private EntityManagerFactory emf;
-    private String factoryName;
 
-    public UpdateThreadDataEntityManager(String factoryName) {
-        this.factoryName = factoryName;
+    public UpdateThreadDataEntityManager(EntityManagerFactory emf) {
+        this.emf = emf;
     }
 
     public void create() {
-        emf = Persistence.createEntityManagerFactory(factoryName);
         updaterThreadEm = emf.createEntityManager();
     }
 
     public void destroy() {
         updaterThreadEm.close();
-        emf.close();
     }
 
     public EntityManager get() {

Modified: labs/shotoku/trunk/shotoku-feeds/src/etc/META-INF/persistence.xml
===================================================================
--- labs/shotoku/trunk/shotoku-feeds/src/etc/META-INF/persistence.xml	2006-07-26 20:43:51 UTC (rev 5299)
+++ labs/shotoku/trunk/shotoku-feeds/src/etc/META-INF/persistence.xml	2006-07-26 21:09:33 UTC (rev 5300)
@@ -13,5 +13,9 @@
         <properties>
             <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect" />
         </properties>
+
+        <properties>
+            <property name="jboss.entity.manager.factory.jndi.name" value="java:/FeedsEMF"/>
+        </properties>
     </persistence-unit>
 </persistence>

Modified: labs/shotoku/trunk/shotoku-feeds/src/java/org/jboss/shotoku/feeds/service/FeedsServiceImpl.java
===================================================================
--- labs/shotoku/trunk/shotoku-feeds/src/java/org/jboss/shotoku/feeds/service/FeedsServiceImpl.java	2006-07-26 20:43:51 UTC (rev 5299)
+++ labs/shotoku/trunk/shotoku-feeds/src/java/org/jboss/shotoku/feeds/service/FeedsServiceImpl.java	2006-07-26 21:09:33 UTC (rev 5300)
@@ -34,6 +34,8 @@
 import javax.ejb.Local;
 import javax.persistence.PersistenceContext;
 import javax.persistence.EntityManager;
+import javax.persistence.EntityManagerFactory;
+import javax.naming.InitialContext;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.List;
 import java.util.ArrayList;
@@ -156,6 +158,7 @@
     }
 
     public void update(UpdateThreadData<EntityManager> data) {
+        //System.out.println("UPDATE OF FEEDS ");
         // Adding any (possible) comments.
         //noinspection unchecked
         List<CommentEntity> result = data.get().createQuery(
@@ -224,10 +227,10 @@
         // Logging information about comments, which addition failed.
         for (CommentEntity ce : failedComments) {
             log.warn("Failed to add comment: " +
-                ce.getFeedId() + " :: " + ce.getFeedName() + " :: " +
-                ce.getFeedType() + " :: " + ce.getFeedElement() + " :: " +
-                ce.getTitle() + " :: " + ce.getContent() + " :: " +
-                ce.getUsername());
+                    ce.getFeedId() + " :: " + ce.getFeedName() + " :: " +
+                    ce.getFeedType() + " :: " + ce.getFeedElement() + " :: " +
+                    ce.getTitle() + " :: " + ce.getContent() + " :: " +
+                    ce.getUsername());
 
             data.get().remove(ce);
         }
@@ -244,6 +247,8 @@
      * Service management.
      */
 
+    private EntityManagerFactory emf;
+
     public void create() throws Exception {
         super.create();
 
@@ -251,17 +256,22 @@
                 FeedsConstants.PROPERTY_INTERVAL, 10000));
         fds = new ConcurrentHashMap<String, FeedsDescriptor>();
 
+        InitialContext ctx = new InitialContext();
+        emf = (EntityManagerFactory) ctx.lookup("java:/FeedsEMF");
+
         super.afterCreate();
     }
 
     public void start() throws Exception {
         super.start();
-        startUpdateThread(new UpdateThreadDataEntityManager("feeds-noauto"));
+        startUpdateThread(new UpdateThreadDataEntityManager(emf));
         super.afterStart();
     }
 
     public void destroy() {
-
+        super.destroy();
+        emf.close();
+        afterDestroy();
     }
 
     /*

Modified: labs/shotoku/trunk/shotoku-tags/src/etc/META-INF/persistence.xml
===================================================================
--- labs/shotoku/trunk/shotoku-tags/src/etc/META-INF/persistence.xml	2006-07-26 20:43:51 UTC (rev 5299)
+++ labs/shotoku/trunk/shotoku-tags/src/etc/META-INF/persistence.xml	2006-07-26 21:09:33 UTC (rev 5300)
@@ -13,5 +13,9 @@
         <properties>
             <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect" />
         </properties>
+
+        <properties>
+            <property name="jboss.entity.manager.factory.jndi.name" value="java:/TagsEMF"/>
+        </properties>
     </persistence-unit>
 </persistence>

Modified: labs/shotoku/trunk/shotoku-tags/src/java/org/jboss/shotoku/tags/service/TagServiceImpl.java
===================================================================
--- labs/shotoku/trunk/shotoku-tags/src/java/org/jboss/shotoku/tags/service/TagServiceImpl.java	2006-07-26 20:43:51 UTC (rev 5299)
+++ labs/shotoku/trunk/shotoku-tags/src/java/org/jboss/shotoku/tags/service/TagServiceImpl.java	2006-07-26 21:09:33 UTC (rev 5300)
@@ -27,6 +27,7 @@
 
 import javax.ejb.Local;
 import javax.persistence.*;
+import javax.naming.InitialContext;
 
 import org.apache.log4j.Logger;
 import org.jboss.annotation.ejb.Management;
@@ -65,6 +66,8 @@
     private boolean syncOn;
     private ContentManager cm;
 
+    private EntityManagerFactory emf;
+
     /*
      * Service lifecycle management.
      */
@@ -86,17 +89,23 @@
                             org.jboss.shotoku.tags.tools.Constants.PROPERTY_CMDIR, ""));
         }
 
+        InitialContext ctx = new InitialContext();
+        emf = (EntityManagerFactory) ctx.lookup("java:/TagsEMF");
+
         super.afterCreate();
     }
 
     public void start() throws Exception {
         super.start();
-        startUpdateThread(new UpdateThreadDataEntityManager("tags-noauto"));
+        startUpdateThread(new UpdateThreadDataEntityManager(emf));
         log.info("Tag service started with update interval: "
                 + getTimerInterval());
     }
 
     public void destroy() {
+        super.destroy();
+        emf.close();
+        afterDestroy();
     }
 
     /*




More information about the jboss-svn-commits mailing list