CVS: xdoclet/modules/jdo/src/xdoclet/modules/jdo JdoObjectIdGeneratorTagsHandler.java, 1.6, 1.7 JdoObjectIdGeneratorSubTask.java, 1.2, 1.3

Marco Schulze <[email protected]> Thu, 19 Oct 2006 20:50:57 -0700
Newsgroups gmane.comp.java.xdoclet.devel
Message-ID <[email protected]>
Update of /cvsroot/xdoclet/xdoclet/modules/jdo/src/xdoclet/modules/jdo
In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv19132/modules/jdo/src/xdoclet/modules/jdo

Modified Files:
	JdoObjectIdGeneratorTagsHandler.java 
	JdoObjectIdGeneratorSubTask.java 
Log Message:
bugfix: object id generation was confused if no package was defined in the object-id-class tag. Now, it uses the same package as the java source file and the default package (i.e. no package) seems to be functional, too.

Index: JdoObjectIdGeneratorTagsHandler.java
===================================================================
RCS file: /cvsroot/xdoclet/xdoclet/modules/jdo/src/xdoclet/modules/jdo/JdoObjectIdGeneratorTagsHandler.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -r1.6 -r1.7
*** JdoObjectIdGeneratorTagsHandler.java	9 Oct 2005 21:38:15 -0000	1.6
--- JdoObjectIdGeneratorTagsHandler.java	20 Oct 2006 03:50:55 -0000	1.7
***************
*** 143,146 ****
--- 143,152 ----
      }
  
+     public void ifNotObjectIdPackageEmpty(String template, Properties attributes) throws XDocletException
+     {
+         if (!"".equals(getObjectIdClassOrPackage(true)))
+             generate(template);
+     }
+ 
      public void ifCurrentPrimaryKeyFieldIsPrimitive(String template, Properties attributes) throws XDocletException
      {

Index: JdoObjectIdGeneratorSubTask.java
===================================================================
RCS file: /cvsroot/xdoclet/xdoclet/modules/jdo/src/xdoclet/modules/jdo/JdoObjectIdGeneratorSubTask.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -r1.2 -r1.3
*** JdoObjectIdGeneratorSubTask.java	29 Aug 2005 22:42:46 -0000	1.2
--- JdoObjectIdGeneratorSubTask.java	20 Oct 2006 03:50:55 -0000	1.3
***************
*** 80,83 ****
--- 80,101 ----
              throw new IllegalStateException("No objectid-class specified! This should be checked by matchesGenerationRules(...)!");
  
+         if (objectIDClassWithPackage.indexOf('.') < 0) {
+             // there is no package defined => use the same package as the source file
+             String pakkage = clazz.getQualifiedName();
+ 
+             // check, whether the source class has a package
+             if (pakkage.lastIndexOf('.') < 0)
+                 pakkage = "";
+             else
+                 pakkage = pakkage.substring(0, pakkage.lastIndexOf('.'));
+ 
+             if ("".equals(pakkage))
+                 log.debug("The class " + clazz.getQualifiedName() + " does not specify a package in its @jdo.create-objectid-class tag and is in the default package (i.e. empty package). Will use the default package.");
+             else {
+                 log.debug("The class " + clazz.getQualifiedName() + " does not specify a package in its @jdo.create-objectid-class tag. Will use package of source class: " + pakkage);
+                 objectIDClassWithPackage = pakkage + '.' + objectIDClassWithPackage;
+             }
+         }
+ 
          String res = objectIDClassWithPackage.replace('.', File.separatorChar) + ".java";
  


-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642