Author: jochen
Date: Tue Nov  9 10:55:31 2010
New Revision: 1032917

URL: http://svn.apache.org/viewvc?rev=1032917&view=rev
Log:
Made sure, that several registry object methods aren't returning null.

Modified:
    
labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/infomodel/ExtensibleObjectImpl.java
    
labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/infomodel/InternationalStringController.java
    
labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/sql/AbstractDbDriver.java

Modified: 
labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/infomodel/ExtensibleObjectImpl.java
URL: 
http://svn.apache.org/viewvc/labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/infomodel/ExtensibleObjectImpl.java?rev=1032917&r1=1032916&r2=1032917&view=diff
==============================================================================
--- 
labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/infomodel/ExtensibleObjectImpl.java
 (original)
+++ 
labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/infomodel/ExtensibleObjectImpl.java
 Tue Nov  9 10:55:31 2010
@@ -38,6 +38,10 @@ public abstract class ExtensibleObjectIm
         */
        protected abstract Map<String,Slot> loadSlots() throws JAXRException;
 
+       public boolean hasSlotsLoaded() {
+               return slts != null;
+       }
+       
        private Map<String,Slot> slots() throws JAXRException {
                if (slts == null) {
                        slts = loadSlots();

Modified: 
labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/infomodel/InternationalStringController.java
URL: 
http://svn.apache.org/viewvc/labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/infomodel/InternationalStringController.java?rev=1032917&r1=1032916&r2=1032917&view=diff
==============================================================================
--- 
labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/infomodel/InternationalStringController.java
 (original)
+++ 
labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/infomodel/InternationalStringController.java
 Tue Nov  9 10:55:31 2010
@@ -56,8 +56,10 @@ public class InternationalStringControll
                case created:
                case loaded:
             case deleted:
-                   // Nothing to do.
-                   break;
+               if (string == null) {
+                       string = new InternationalStringImpl();
+               }
+               break;
                case referenced:
                    string = getDbDriver().loadInternationalString(ro.getKey(), 
type);
                    state = ROState.loaded;

Modified: 
labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/sql/AbstractDbDriver.java
URL: 
http://svn.apache.org/viewvc/labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/sql/AbstractDbDriver.java?rev=1032917&r1=1032916&r2=1032917&view=diff
==============================================================================
--- 
labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/sql/AbstractDbDriver.java
 (original)
+++ 
labs/jaxmas/trunk/JaxMas/src/main/java/org/apache/labs/jaxmas/registry/sql/AbstractDbDriver.java
 Tue Nov  9 10:55:31 2010
@@ -127,8 +127,11 @@ public abstract class AbstractDbDriver i
            // No need to delete anything, because the slots are deleted by ON 
DELETE CASCASE.
        }
 
-       private void saveSlots(final RegistryObject pRegistryObject) throws 
JAXRException {
-           new ObjStmtUser("DELETE FROM RegistryObjectSlots WHERE roKey=?", 
pRegistryObject.getKey()){ //$NON-NLS-1$
+       private void saveSlots(final RegistryObjectImpl<?> pRegistryObject) 
throws JAXRException {
+               if (!pRegistryObject.hasSlotsLoaded()) {
+                       return;
+               }
+               new ObjStmtUser("DELETE FROM RegistryObjectSlots WHERE 
roKey=?", pRegistryObject.getKey()){ //$NON-NLS-1$
             @Override
             protected void action(PreparedStatement pStatement) throws 
JAXRException, SQLException {
                 pStatement.executeUpdate();
@@ -297,7 +300,7 @@ public abstract class AbstractDbDriver i
         final InternationalStringController description = 
ro.getDescriptionController();
         description.save();
 
-        saveSlots(pObject);
+        saveSlots(ro);
 
         if (pObject instanceof RegistryEntry) {
                        RegistryEntryImpl<?> re = (RegistryEntryImpl<?>) 
pObject;
@@ -360,7 +363,7 @@ public abstract class AbstractDbDriver i
                final InternationalStringController description = 
ro.getDescriptionController();
                description.save();
 
-               this.saveSlots(pObject);
+               this.saveSlots(ro);
                
                if (pObject instanceof RegistryEntry) {
                        RegistryEntryImpl<?> re = (RegistryEntryImpl<?>) 
pObject;



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to