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

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Thu Jul 13 16:21:08 EDT 2006


Author: adamw
Date: 2006-07-13 16:21:07 -0400 (Thu, 13 Jul 2006)
New Revision: 5080

Modified:
   labs/shotoku/trunk/shotoku-tags/src/etc/META-INF/persistence.xml
   labs/shotoku/trunk/shotoku-tags/src/java/org/jboss/shotoku/tags/dal/TagEntity.java
   labs/shotoku/trunk/shotoku-tags/src/java/org/jboss/shotoku/tags/service/TagServiceImpl.java
Log:
http://jira.jboss.org/jira/browse/JBSHOTOKU-86


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-13 20:13:43 UTC (rev 5079)
+++ labs/shotoku/trunk/shotoku-tags/src/etc/META-INF/persistence.xml	2006-07-13 20:21:07 UTC (rev 5080)
@@ -1,10 +1,17 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <persistence>
-   <persistence-unit name="tags">
-      <jta-data-source>java:/LabsDS</jta-data-source>
-      <properties>
-          <property name="hibernate.hbm2ddl.auto" value="update"/>
-	  <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect" />
-      </properties>
-   </persistence-unit>
+    <persistence-unit name="tags">
+        <jta-data-source>java:/LabsDS</jta-data-source>
+        <properties>
+            <property name="hibernate.hbm2ddl.auto" value="update"/>
+            <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect" />
+        </properties>
+    </persistence-unit>
+
+    <persistence-unit name="tags-noauto">
+        <jta-data-source>java:/LabsDS</jta-data-source>
+        <properties>
+            <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect" />
+        </properties>
+    </persistence-unit>
 </persistence>

Modified: labs/shotoku/trunk/shotoku-tags/src/java/org/jboss/shotoku/tags/dal/TagEntity.java
===================================================================
--- labs/shotoku/trunk/shotoku-tags/src/java/org/jboss/shotoku/tags/dal/TagEntity.java	2006-07-13 20:13:43 UTC (rev 5079)
+++ labs/shotoku/trunk/shotoku-tags/src/java/org/jboss/shotoku/tags/dal/TagEntity.java	2006-07-13 20:21:07 UTC (rev 5080)
@@ -4,10 +4,14 @@
 import org.jboss.shotoku.tags.ShotokuTag;
 import org.jboss.shotoku.tags.WebsiteTag;
 import org.jboss.shotoku.tags.tools.Constants;
+import org.jboss.shotoku.service.AdministratedService;
+import org.apache.log4j.Logger;
 
 import javax.persistence.*;
 import java.util.Date;
 import java.io.Serializable;
+import java.io.UnsupportedEncodingException;
+import java.net.URLEncoder;
 
 /**
  * @author Adam Warski (adamw at aster.pl)
@@ -16,6 +20,8 @@
 @Table(name = "ShotokuTags")
 @IdClass(IdEntity.class)
 public class TagEntity implements Serializable {
+    //private static final Logger log = Logger.getLogger(AdministratedService.class);
+
     private String name;
     private String author;
     private String resourceId;
@@ -110,14 +116,42 @@
         }
     }
 
+    /**
+     * In the given string, replaces all non-alphabetic charaters
+     * with underscores.
+     */
     @Transient
+    private String simplifyString(String s) {
+        StringBuffer sb =  new StringBuffer();
+        for (int i=0; i<s.length(); i++) {
+            char c = s.charAt(i);
+            if (((c >= 'a') && (c <= 'z')) || ((c >= 'A') && (c <= 'Z'))) {
+                sb.append(c);
+            } else {
+                if ((i > 0) && (c >= '0') && (c <= '9')) {
+                    sb.append(c);
+                } else {
+                    sb.append('_');
+                }
+            }
+        }
+
+        return sb.toString();
+    }
+
+    @Transient
     public String getShotokuPropReprName() {
         return Constants.SHOTOKU_TAG_REPR_PREFIX +
-                name + Constants.SHOTOKU_TAG_REPR_SEPARATOR + author;
+                simplifyString(name) +
+                Constants.SHOTOKU_TAG_REPR_SEPARATOR +
+                simplifyString(author);
     }
 
     @Transient
     public String getShotokuPropReprValue() {
-        return dateCreated + Constants.SHOTOKU_TAG_REPR_SEPARATOR + data;
+        return name + Constants.SHOTOKU_TAG_REPR_SEPARATOR +
+                author + Constants.SHOTOKU_TAG_REPR_SEPARATOR +
+                dateCreated + Constants.SHOTOKU_TAG_REPR_SEPARATOR +
+                data;
     }
 }

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-13 20:13:43 UTC (rev 5079)
+++ labs/shotoku/trunk/shotoku-tags/src/java/org/jboss/shotoku/tags/service/TagServiceImpl.java	2006-07-13 20:21:07 UTC (rev 5080)
@@ -68,8 +68,8 @@
     private ContentManager cm;
 
     /*
-      * Service lifecycle management.
-      */
+     * Service lifecycle management.
+     */
 
     public void create() throws Exception {
         super.create();
@@ -111,7 +111,7 @@
             {
                 setDaemon(true);
 
-                emf = Persistence.createEntityManagerFactory("tags");
+                emf = Persistence.createEntityManagerFactory("tags-noauto");
                 updaterThreadEm = emf.createEntityManager();
             }
 
@@ -185,7 +185,8 @@
         try {
             cm.save(toSave, "");
         } catch (SaveException e) {
-            throw new RuntimeException(e);
+            log.warn(e);
+            return;
         }
 
         updaterThreadEm.getTransaction().begin();
@@ -212,7 +213,7 @@
       */
 
     @SuppressWarnings({"UNUSED_SYMBOL"})
-    @PersistenceContext
+    @PersistenceContext(unitName="tags")
     private EntityManager manager;
 
     /**




More information about the jboss-svn-commits mailing list