Author: ernst
Date: 2009-06-29 16:36:26 +0200 (Mon, 29 Jun 2009)
New Revision: 36474

Modified:
   
speeltuin/ernst/mmbase-vob/src/main/java/nl/vpro/mmbase/vob/EntityConfigLoader.java
   speeltuin/ernst/mmbase-vob/src/main/java/nl/vpro/mmbase/vob/Populator.java
   
speeltuin/ernst/mmbase-vob/src/main/java/nl/vpro/mmbase/vob/QueryDirection.java
   
speeltuin/ernst/mmbase-vob/src/test/java/nl/vpro/mmbase/vob/EntityConfigLoaderTest.java
Log:
work in progress

Modified: 
speeltuin/ernst/mmbase-vob/src/main/java/nl/vpro/mmbase/vob/EntityConfigLoader.java
===================================================================
--- 
speeltuin/ernst/mmbase-vob/src/main/java/nl/vpro/mmbase/vob/EntityConfigLoader.java
 2009-06-29 14:36:10 UTC (rev 36473)
+++ 
speeltuin/ernst/mmbase-vob/src/main/java/nl/vpro/mmbase/vob/EntityConfigLoader.java
 2009-06-29 14:36:26 UTC (rev 36474)
@@ -4,16 +4,107 @@
 import java.lang.reflect.ParameterizedType;
 import java.util.*;
 
-import nl.vpro.mmbase.vob.Populator.*;
 import nl.vpro.mmbase.vob.annotations.*;
 
 import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang.builder.ReflectionToStringBuilder;
 import org.mmbase.util.logging.Logger;
 import org.mmbase.util.logging.Logging;
 import org.springframework.context.annotation.ClassPathBeanDefinitionScanner;
 import org.springframework.context.support.GenericApplicationContext;
 
 public class EntityConfigLoader {
+    public static final class EntityEmbedding{
+            public final String relationRole;
+            public final String embeddingType;
+            public final String embeddedType;
+            public final Class<?> EntityClass;
+            public final boolean isRoot;
+            public final QueryDirection queryDirection;
+            public EntityEmbedding(String relationRole, String embeddingType, 
String embeddedType, Class<?> entityClass, boolean isRoot, QueryDirection 
direction) {
+                this.isRoot = isRoot;
+                this.queryDirection = direction;
+                this.relationRole = relationRole;
+                this.embeddingType = embeddingType;
+                this.embeddedType = embeddedType;
+                EntityClass = entityClass;
+            }
+            public String toString(){
+                return new ReflectionToStringBuilder(this).toString();
+            }
+      }
+
+    public static final class EntityAggregation{
+        public final String relationRole;
+        public final Class<?> aggregatingEntityClass;
+        public final Class<?> aggregatedEntityClass;
+        public final QueryDirection queryDirection;
+        public EntityAggregation(String relationRole, 
Class<?>aggregatingEntityClass, Class<?> aggregatedEntityClass, QueryDirection 
direction) {
+            this.queryDirection = direction;
+            this.relationRole = relationRole;
+            this.aggregatingEntityClass = aggregatingEntityClass;
+            this.aggregatedEntityClass = aggregatedEntityClass;
+        }
+        public String toString(){
+            return new ReflectionToStringBuilder(this).toString();
+        }
+    }
+
+    public static final class QueryStep{
+        public String step;
+        public String relationRole;
+        public QueryDirection direction;
+        public QueryStep(String step, String relationRole, QueryDirection 
direction) {
+            this.step = step;
+            this.relationRole = relationRole;
+            this.direction = direction;
+        }
+        public String toString(){
+            return new ReflectionToStringBuilder(this).toString();
+        }
+    }
+
+    public static final class Path{
+        public  final List<QueryStep> steps;
+        public final String root;
+        
+        public Path(String root) {
+            this.root = root;
+            steps = new ArrayList<QueryStep>();
+        }
+        
+        public Path clone(){
+            Path clone = new Path(this.root);
+            clone.steps.addAll(this.steps);
+            return clone;
+        }
+        
+        public String toString(){
+            return new ReflectionToStringBuilder(this).toString();
+        }
+        
+        public String pathAsString(){
+            StringBuilder sb = new StringBuilder(root);
+            sb.append(",");
+            for(QueryStep step:steps){
+                sb.append(step.relationRole);
+                sb.append(",");
+                sb.append(step.step);
+                sb.append(",");
+            }
+            return sb.toString().substring(0, sb.length() - 1);
+        }
+        
+        public String queryDirectionsAsString(){
+            StringBuilder sb = new StringBuilder();
+            for(QueryStep step:steps){
+                sb.append(step.direction.toString());
+                sb.append(",");
+            }
+            return sb.toString().substring(0, sb.length() - 1);
+        }  
+    }
+
     private static Logger log = 
Logging.getLoggerInstance(EntityConfigLoader.class.getName());
     private Map<String, Class<?>> entityRegistry = new HashMap<String, 
Class<?>>();
     private boolean configLoaded = false;
@@ -139,7 +230,7 @@
         return result;
     }
 
-    public List<Path> findPathsToEntity(Class<?> rootEntity, Class<?> 
targetEntity, Path path, EntityAggregation previous) {
+    private List<Path> findPathsToEntity(Class<?> rootEntity, Class<?> 
targetEntity, Path path, EntityAggregation previous) {
         List<Path> result = new ArrayList<Path>();
         
         if(path == null){
@@ -194,7 +285,7 @@
     }
 
     /**
-     * finds all occurences of the embedding of a given node type.
+     * finds all entities that embed a node of given type
      * @param builder the node type you want to find embedding entities for.
      * @return 
      */

Modified: 
speeltuin/ernst/mmbase-vob/src/main/java/nl/vpro/mmbase/vob/Populator.java
===================================================================
--- speeltuin/ernst/mmbase-vob/src/main/java/nl/vpro/mmbase/vob/Populator.java  
2009-06-29 14:36:10 UTC (rev 36473)
+++ speeltuin/ernst/mmbase-vob/src/main/java/nl/vpro/mmbase/vob/Populator.java  
2009-06-29 14:36:26 UTC (rev 36474)
@@ -33,9 +33,11 @@
     public Populator(final EntityConfigLoader entityConfigLoader ){
         this(entityConfigLoader, new DefaultQueryHelper());
     }
+    
+    public EntityConfigLoader getEntityConfigLoader(){
+        return this.entityConfigLoader;
+    }
 
-
-
     /**
      * Call this method to convert a node to a graph of corresponding objects,
      * including all annotated associations etc. This method will be called
@@ -259,98 +261,4 @@
     private static <T> T uncheckedCast(final Object obj) {
         return (T) obj;
     }
-
-    
-    
-    
-  public static final class EntityEmbedding{
-        public final String relationRole;
-        public final String embeddingType;
-        public final String embeddedType;
-        public final Class<?> EntityClass;
-        public final boolean isRoot;
-        public final QueryDirection queryDirection;
-        public EntityEmbedding(String relationRole, String embeddingType, 
String embeddedType, Class<?> entityClass, boolean isRoot, QueryDirection 
direction) {
-            this.isRoot = isRoot;
-            this.queryDirection = direction;
-            this.relationRole = relationRole;
-            this.embeddingType = embeddingType;
-            this.embeddedType = embeddedType;
-            EntityClass = entityClass;
-        }
-        public String toString(){
-            return new ReflectionToStringBuilder(this).toString();
-        }
-  }
-        
-        public static final class EntityAggregation{
-            public final String relationRole;
-            public final Class<?> aggregatingEntityClass;
-            public final Class<?> aggregatedEntityClass;
-            public final QueryDirection queryDirection;
-            public EntityAggregation(String relationRole, 
Class<?>aggregatingEntityClass, Class<?> aggregatedEntityClass, QueryDirection 
direction) {
-                this.queryDirection = direction;
-                this.relationRole = relationRole;
-                this.aggregatingEntityClass = aggregatingEntityClass;
-                this.aggregatedEntityClass = aggregatedEntityClass;
-            }
-            public String toString(){
-                return new ReflectionToStringBuilder(this).toString();
-            }
-        }
-        
-        public static final class QueryStep{
-            public String step;
-            public String relationRole;
-            public QueryDirection direction;
-            public QueryStep(String step, String relationRole, QueryDirection 
direction) {
-                this.step = step;
-                this.relationRole = relationRole;
-                this.direction = direction;
-            }
-            public String toString(){
-                return new ReflectionToStringBuilder(this).toString();
-            }
-        }
-        
-        public static final class Path{
-            public  final List<QueryStep> steps;
-            public final String root;
-            
-            public Path(String root) {
-                this.root = root;
-                steps = new ArrayList<QueryStep>();
-            }
-            
-            public Path clone(){
-                Path clone = new Path(this.root);
-                clone.steps.addAll(this.steps);
-                return clone;
-            }
-            
-            public String toString(){
-                return new ReflectionToStringBuilder(this).toString();
-            }
-            
-            public String pathAsString(){
-                StringBuilder sb = new StringBuilder(root);
-                sb.append(",");
-                for(QueryStep step:steps){
-                    sb.append(step.relationRole);
-                    sb.append(",");
-                    sb.append(step.step);
-                    sb.append(",");
-                }
-                return sb.toString().substring(0, sb.length() - 1);
-            }
-            
-            public String queryDirectionsAsString(){
-                StringBuilder sb = new StringBuilder();
-                for(QueryStep step:steps){
-                    sb.append(step.direction.toString());
-                    sb.append(",");
-                }
-                return sb.toString().substring(0, sb.length() - 1);
-            }  
-        }
 }

Modified: 
speeltuin/ernst/mmbase-vob/src/main/java/nl/vpro/mmbase/vob/QueryDirection.java
===================================================================
--- 
speeltuin/ernst/mmbase-vob/src/main/java/nl/vpro/mmbase/vob/QueryDirection.java 
    2009-06-29 14:36:10 UTC (rev 36473)
+++ 
speeltuin/ernst/mmbase-vob/src/main/java/nl/vpro/mmbase/vob/QueryDirection.java 
    2009-06-29 14:36:26 UTC (rev 36474)
@@ -10,5 +10,8 @@
        
        private String label;
        QueryDirection(String label){this.label = label;}
+       /**
+        * returns a value that can be used in mmbase queries ('source', 
'destination' or 'both)
+        */
        public String toString(){return label;}
 }

Modified: 
speeltuin/ernst/mmbase-vob/src/test/java/nl/vpro/mmbase/vob/EntityConfigLoaderTest.java
===================================================================
--- 
speeltuin/ernst/mmbase-vob/src/test/java/nl/vpro/mmbase/vob/EntityConfigLoaderTest.java
     2009-06-29 14:36:10 UTC (rev 36473)
+++ 
speeltuin/ernst/mmbase-vob/src/test/java/nl/vpro/mmbase/vob/EntityConfigLoaderTest.java
     2009-06-29 14:36:26 UTC (rev 36474)
@@ -4,7 +4,7 @@
 
 import java.util.List;
 
-import nl.vpro.mmbase.vob.Populator.*;
+import nl.vpro.mmbase.vob.EntityConfigLoader.*;
 import nl.vpro.mmbase.vob.domain.*;
 
 import org.junit.Before;

_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to