You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openjpa.apache.org by st...@apache.org on 2016/09/05 21:11:01 UTC

svn commit: r1759356 - in /openjpa/trunk: openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/ openjpa-kernel/src/main/java/org/apache/openjpa/enhance/ openjpa-kernel/src/main/java/org/apache/openjpa/kernel/ openjpa-kernel/src/main/java/org/apache/...

Author: struberg
Date: Mon Sep  5 21:11:01 2016
New Revision: 1759356

URL: http://svn.apache.org/viewvc?rev=1759356&view=rev
Log:
OPENJPA-2662 remove serp.util.Strings.getPackageName

Modified:
    openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/MappingDefaultsImpl.java
    openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/MappingInfo.java
    openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/NoneMappingDefaults.java
    openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/enhance/ApplicationIdTool.java
    openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/enhance/CodeGenerator.java
    openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/enhance/PCEnhancer.java
    openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/QueryImpl.java
    openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/meta/AbstractCFMetaDataFactory.java
    openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/meta/FieldMetaData.java
    openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/meta/JavaTypes.java
    openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/meta/MetaDataRepository.java
    openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/util/ProxyManagerImpl.java
    openjpa/trunk/openjpa-lib/src/main/java/org/apache/openjpa/lib/meta/ClassMetaDataIterator.java
    openjpa/trunk/openjpa-lib/src/main/java/org/apache/openjpa/lib/util/ClassUtil.java
    openjpa/trunk/openjpa-lib/src/main/java/org/apache/openjpa/lib/util/Files.java
    openjpa/trunk/openjpa-lib/src/test/java/org/apache/openjpa/lib/util/ClassUtilTest.java
    openjpa/trunk/openjpa-persistence-jdbc/src/main/java/org/apache/openjpa/persistence/jdbc/AnnotationPersistenceMappingSerializer.java
    openjpa/trunk/openjpa-persistence-jdbc/src/main/java/org/apache/openjpa/persistence/jdbc/PersistenceMappingDefaults.java
    openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/XMLPersistenceMetaDataSerializer.java

Modified: openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/MappingDefaultsImpl.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/MappingDefaultsImpl.java?rev=1759356&r1=1759355&r2=1759356&view=diff
==============================================================================
--- openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/MappingDefaultsImpl.java (original)
+++ openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/MappingDefaultsImpl.java Mon Sep  5 21:11:01 2016
@@ -40,9 +40,7 @@ import org.apache.openjpa.lib.conf.Confi
 import org.apache.openjpa.lib.conf.Configurations;
 import org.apache.openjpa.lib.identifier.IdentifierUtil;
 import org.apache.openjpa.lib.util.ClassUtil;
-import org.apache.openjpa.lib.util.StringUtil;
 import org.apache.openjpa.meta.JavaTypes;
-import serp.util.Strings;
 
 /**
  * Default implementation of {@link MappingDefaults}.

Modified: openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/MappingInfo.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/MappingInfo.java?rev=1759356&r1=1759355&r2=1759356&view=diff
==============================================================================
--- openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/MappingInfo.java (original)
+++ openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/MappingInfo.java Mon Sep  5 21:11:01 2016
@@ -47,7 +47,6 @@ import org.apache.openjpa.lib.util.Local
 import org.apache.openjpa.meta.JavaTypes;
 import org.apache.openjpa.meta.MetaDataContext;
 import org.apache.openjpa.util.MetaDataException;
-import serp.util.Strings;
 
 /**
  * Base class storing raw mapping information; defines utility methods for

Modified: openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/NoneMappingDefaults.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/NoneMappingDefaults.java?rev=1759356&r1=1759355&r2=1759356&view=diff
==============================================================================
--- openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/NoneMappingDefaults.java (original)
+++ openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/NoneMappingDefaults.java Mon Sep  5 21:11:01 2016
@@ -27,7 +27,6 @@ import org.apache.openjpa.jdbc.schema.Ta
 import org.apache.openjpa.jdbc.schema.Unique;
 
 import org.apache.openjpa.lib.util.ClassUtil;
-import serp.util.Strings;
 
 /**
  * No-op mapping defaults.

Modified: openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/enhance/ApplicationIdTool.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/enhance/ApplicationIdTool.java?rev=1759356&r1=1759355&r2=1759356&view=diff
==============================================================================
--- openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/enhance/ApplicationIdTool.java (original)
+++ openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/enhance/ApplicationIdTool.java Mon Sep  5 21:11:01 2016
@@ -62,7 +62,6 @@ import org.apache.openjpa.util.UserExcep
 import serp.bytecode.BCClass;
 import serp.bytecode.BCClassLoader;
 import serp.bytecode.Project;
-import serp.util.Strings;
 
 /**
  * Generates a class appropriate for use as an application identity class.
@@ -319,7 +318,7 @@ public class ApplicationIdTool {
 
         // collect info on id type
         String className = getClassName();
-        String packageName = Strings.getPackageName(oidClass);
+        String packageName = ClassUtil.getPackageName(oidClass);
         String packageDec = "";
         if (packageName.length() > 0)
             packageDec = "package " + packageName + ";";
@@ -477,7 +476,7 @@ public class ApplicationIdTool {
         Set pkgs = getImportPackages();
 
         CodeFormat imports = newCodeFormat();
-        String base = Strings.getPackageName(_meta.getObjectIdType());
+        String base = ClassUtil.getPackageName(_meta.getObjectIdType());
         String pkg;
         for (Iterator itr = pkgs.iterator(); itr.hasNext();) {
             pkg = (String) itr.next();
@@ -496,13 +495,13 @@ public class ApplicationIdTool {
      */
     public Set getImportPackages() {
         Set pkgs = new TreeSet();
-        pkgs.add(Strings.getPackageName(_type));
+        pkgs.add(ClassUtil.getPackageName(_type));
 
         Class superOidClass = null;
         if (_meta != null && _meta.getPCSuperclassMetaData() != null)
             superOidClass = _meta.getPCSuperclassMetaData().getObjectIdType();
         if (superOidClass != null)
-            pkgs.add(Strings.getPackageName(superOidClass));
+            pkgs.add(ClassUtil.getPackageName(superOidClass));
 
         pkgs.add("java.io");
         pkgs.add("java.util");
@@ -511,7 +510,7 @@ public class ApplicationIdTool {
             type = _fields[i].getObjectIdFieldType();
             if (type != byte[].class && type != char[].class
                 && !type.getName().startsWith("java.sql.")) {
-                pkgs.add(Strings.getPackageName(type));
+                pkgs.add(ClassUtil.getPackageName(type));
             }
         }
         return pkgs;
@@ -1214,13 +1213,13 @@ public class ApplicationIdTool {
         if (_meta == null)
             return null;
 
-        String packageName = Strings.getPackageName(_meta.getObjectIdType());
+        String packageName = ClassUtil.getPackageName(_meta.getObjectIdType());
         String fileName = ClassUtil.getClassName(_meta.getObjectIdType())
             + ".java";
 
         // if pc class in same package as oid class, try to find pc .java file
         File dir = null;
-        if (_dir == null && Strings.getPackageName(_type).equals(packageName)) {
+        if (_dir == null && ClassUtil.getPackageName(_type).equals(packageName)) {
             dir = Files.getSourceFile(_type);
             if (dir != null)
                 dir = dir.getParentFile();
@@ -1424,7 +1423,7 @@ public class ApplicationIdTool {
         BCClassLoader bc)
         throws ClassNotFoundException {
         if (name.indexOf('.') == -1 && context.getName().indexOf('.') != -1)
-            name = Strings.getPackageName(context) + "." + name;
+            name = ClassUtil.getPackageName(context) + "." + name;
 
         // first try with regular class loader
         ClassLoader loader = AccessController.doPrivileged(

Modified: openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/enhance/CodeGenerator.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/enhance/CodeGenerator.java?rev=1759356&r1=1759355&r2=1759356&view=diff
==============================================================================
--- openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/enhance/CodeGenerator.java (original)
+++ openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/enhance/CodeGenerator.java Mon Sep  5 21:11:01 2016
@@ -35,7 +35,6 @@ import org.apache.openjpa.lib.util.Param
 import org.apache.openjpa.meta.ClassMetaData;
 import org.apache.openjpa.meta.FieldMetaData;
 import org.apache.openjpa.meta.JavaTypes;
-import serp.util.Strings;
 
 /**
  * Generates Java class code from metadata.
@@ -128,7 +127,7 @@ public class CodeGenerator {
     public void generateCode() {
         // setup parameters
         String className = ClassUtil.getClassName(_type);
-        String packageName = Strings.getPackageName(_type);
+        String packageName = ClassUtil.getPackageName(_type);
         String packageDec = "";
         if (packageName.length() > 0)
             packageDec = "package " + packageName + ";";
@@ -192,7 +191,7 @@ public class CodeGenerator {
         Set pkgs = getImportPackages();
 
         CodeFormat imports = newCodeFormat();
-        String base = Strings.getPackageName(_type);
+        String base = ClassUtil.getPackageName(_type);
         String pkg;
         for (Iterator itr = pkgs.iterator(); itr.hasNext();) {
             pkg = (String) itr.next();
@@ -211,15 +210,15 @@ public class CodeGenerator {
      */
     public Set getImportPackages() {
         Set pkgs = new TreeSet();
-        pkgs.add(Strings.getPackageName(_type.getSuperclass()));
+        pkgs.add(ClassUtil.getPackageName(_type.getSuperclass()));
 
         FieldMetaData[] fields = _meta.getDeclaredFields();
         for (int i = 0; i < fields.length; i++)
-            pkgs.add(Strings.getPackageName(fields[i].getDeclaredType()));
+            pkgs.add(ClassUtil.getPackageName(fields[i].getDeclaredType()));
 
         fields = _meta.getPrimaryKeyFields();
         for (int i = 0; i < fields.length; i++)
-            pkgs.add(Strings.getPackageName(fields[i].getDeclaredType()));
+            pkgs.add(ClassUtil.getPackageName(fields[i].getDeclaredType()));
 
         return pkgs;
     }
@@ -504,7 +503,7 @@ public class CodeGenerator {
      * Return Java file to write to.
      */
     public File getFile() {
-        String packageName = Strings.getPackageName(_type);
+        String packageName = ClassUtil.getPackageName(_type);
         String fileName = ClassUtil.getClassName(_type) + ".java";
 
         File dir = Files.getPackageFile(_dir, packageName, true);

Modified: openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/enhance/PCEnhancer.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/enhance/PCEnhancer.java?rev=1759356&r1=1759355&r2=1759356&view=diff
==============================================================================
--- openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/enhance/PCEnhancer.java (original)
+++ openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/enhance/PCEnhancer.java Mon Sep  5 21:11:01 2016
@@ -56,6 +56,7 @@ import org.apache.openjpa.lib.conf.Confi
 import org.apache.openjpa.lib.log.Log;
 import org.apache.openjpa.lib.meta.ClassArgParser;
 import org.apache.openjpa.lib.util.BytecodeWriter;
+import org.apache.openjpa.lib.util.ClassUtil;
 import org.apache.openjpa.lib.util.Files;
 import org.apache.openjpa.lib.util.J2DoPrivHelper;
 import org.apache.openjpa.lib.util.Localizer;
@@ -106,7 +107,6 @@ import serp.bytecode.Project;
 import serp.bytecode.PutFieldInstruction;
 import serp.bytecode.TableSwitchInstruction;
 import serp.bytecode.ClassInstruction;
-import serp.util.Strings;
 
 /**
  * Bytecode enhancer used to enhance persistent classes from metadata. The
@@ -319,7 +319,7 @@ public class PCEnhancer {
     }
 
     static String toPCSubclassName(Class cls) {
-        return Strings.getPackageName(PCEnhancer.class) + "."
+        return ClassUtil.getPackageName(PCEnhancer.class) + "."
             + cls.getName().replace('.', '$') + "$pcsubclass";
     }
 
@@ -330,7 +330,7 @@ public class PCEnhancer {
      * @since 1.1.0
      */
     public static boolean isPCSubclassName(String className) {
-        return className.startsWith(Strings.getPackageName(PCEnhancer.class))
+        return className.startsWith(ClassUtil.getPackageName(PCEnhancer.class))
             && className.endsWith("$pcsubclass");
     }
 
@@ -344,7 +344,7 @@ public class PCEnhancer {
     public static String toManagedTypeName(String className) {
         if (isPCSubclassName(className)) {
             className = className.substring(
-                Strings.getPackageName(PCEnhancer.class).length() + 1);
+                ClassUtil.getPackageName(PCEnhancer.class).length() + 1);
             className = className.substring(0, className.lastIndexOf("$"));
             // this is not correct for nested PCs
             className = className.replace('$', '.');

Modified: openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/QueryImpl.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/QueryImpl.java?rev=1759356&r1=1759355&r2=1759356&view=diff
==============================================================================
--- openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/QueryImpl.java (original)
+++ openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/QueryImpl.java Mon Sep  5 21:11:01 2016
@@ -70,7 +70,6 @@ import org.apache.openjpa.util.OpenJPAEx
 import org.apache.openjpa.util.UnsupportedException;
 import org.apache.openjpa.util.UserException;
 
-import serp.util.Strings;
 
 /**
  * Implementation of the {@link Query} interface.

Modified: openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/meta/AbstractCFMetaDataFactory.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/meta/AbstractCFMetaDataFactory.java?rev=1759356&r1=1759355&r2=1759356&view=diff
==============================================================================
--- openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/meta/AbstractCFMetaDataFactory.java (original)
+++ openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/meta/AbstractCFMetaDataFactory.java Mon Sep  5 21:11:01 2016
@@ -57,13 +57,13 @@ import org.apache.openjpa.lib.meta.Resou
 import org.apache.openjpa.lib.meta.URLMetaDataIterator;
 import org.apache.openjpa.lib.meta.ZipFileMetaDataIterator;
 import org.apache.openjpa.lib.meta.ZipStreamMetaDataIterator;
+import org.apache.openjpa.lib.util.ClassUtil;
 import org.apache.openjpa.lib.util.Files;
 import org.apache.openjpa.lib.util.J2DoPrivHelper;
 import org.apache.openjpa.lib.util.Localizer;
 import org.apache.openjpa.lib.util.StringUtil;
 import org.apache.openjpa.util.GeneralException;
 import org.apache.openjpa.util.UserException;
-import serp.util.Strings;
 
 /**
  * Base class for factory implementations built around XML metadata files
@@ -600,15 +600,14 @@ public abstract class AbstractCFMetaData
         String pkg;
         for (Iterator itr = clsNames.entrySet().iterator(); itr.hasNext();) {
             entry = (Map.Entry) itr.next();
-            pkg = Strings.getPackageName((String) entry.getKey());
+            pkg = ClassUtil.getPackageName((String) entry.getKey());
             if (pkg.length() == 0)
                 return (ClassMetaData) entry.getValue();
         }
         return null;
     }
 
-    public Set<String> getPersistentTypeNames(boolean devpath, 
-    	ClassLoader envLoader) {
+    public Set<String> getPersistentTypeNames(boolean devpath, ClassLoader envLoader) {
         // some configured locations might be implicit in spec, so return
         // null if we don't find any classes, rather than if we don't have
         // any locations

Modified: openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/meta/FieldMetaData.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/meta/FieldMetaData.java?rev=1759356&r1=1759355&r2=1759356&view=diff
==============================================================================
--- openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/meta/FieldMetaData.java (original)
+++ openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/meta/FieldMetaData.java Mon Sep  5 21:11:01 2016
@@ -68,7 +68,6 @@ import org.apache.openjpa.util.Unsupport
 import org.apache.openjpa.util.ImplHelper;
 import org.apache.openjpa.util.UserException;
 
-import serp.util.Strings;
 
 /**
  * Metadata for a managed class field.
@@ -1628,7 +1627,7 @@ public class FieldMetaData
         // get class name and get package name divide on the last '.', so the
         // names don't apply in this case, but the methods do what we want
         String methodName = ClassUtil.getClassName(method);
-        String clsName = Strings.getPackageName(method);
+        String clsName = ClassUtil.getPackageName(method);
 
         Class<?> cls = null;
         Class<?> owner = _owner.getDescribedType();

Modified: openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/meta/JavaTypes.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/meta/JavaTypes.java?rev=1759356&r1=1759355&r2=1759356&view=diff
==============================================================================
--- openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/meta/JavaTypes.java (original)
+++ openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/meta/JavaTypes.java Mon Sep  5 21:11:01 2016
@@ -38,9 +38,9 @@ import java.util.Properties;
 
 import org.apache.openjpa.enhance.PersistenceCapable;
 import org.apache.openjpa.lib.meta.CFMetaDataParser;
+import org.apache.openjpa.lib.util.ClassUtil;
 import org.apache.openjpa.lib.util.Localizer;
 import org.apache.openjpa.util.MetaDataException;
-import serp.util.Strings;
 
 /**
  * Type constants for managed fields.
@@ -261,11 +261,11 @@ public class JavaTypes {
                 getClassLoader(dec, meta.getEnvClassLoader());
 
         // try the owner's package
-        String pkg = Strings.getPackageName(dec);
+        String pkg = ClassUtil.getPackageName(dec);
         Class<?> cls = CFMetaDataParser.classForName(name, pkg, runtime, loader);
         if (cls == null && vmd != null) {
             // try against this value type's package too
-            pkg = Strings.getPackageName(vmd.getDeclaredType());
+            pkg = ClassUtil.getPackageName(vmd.getDeclaredType());
             cls = CFMetaDataParser.classForName(name, pkg, runtime, loader);
         }
 

Modified: openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/meta/MetaDataRepository.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/meta/MetaDataRepository.java?rev=1759356&r1=1759355&r2=1759356&view=diff
==============================================================================
--- openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/meta/MetaDataRepository.java (original)
+++ openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/meta/MetaDataRepository.java Mon Sep  5 21:11:01 2016
@@ -46,6 +46,7 @@ import org.apache.openjpa.lib.conf.Confi
 import org.apache.openjpa.lib.conf.Configuration;
 import org.apache.openjpa.lib.conf.Configurations;
 import org.apache.openjpa.lib.log.Log;
+import org.apache.openjpa.lib.util.ClassUtil;
 import org.apache.openjpa.lib.util.Closeable;
 import org.apache.openjpa.lib.util.J2DoPrivHelper;
 import org.apache.openjpa.lib.util.Localizer;
@@ -58,7 +59,6 @@ import org.apache.openjpa.util.InternalE
 import org.apache.openjpa.util.MetaDataException;
 import org.apache.openjpa.util.OpenJPAId;
 
-import serp.util.Strings;
 
 /**
  * Repository of and factory for persistent metadata.
@@ -2197,7 +2197,7 @@ public class MetaDataRepository implemen
         }
 
         // try with qualified name
-        name = Strings.getPackageName(context.getDescribedType()) + "." + name;
+        name = ClassUtil.getPackageName(context.getDescribedType()) + "." + name;
         try {
             return getSequenceMetaData(name, context.getEnvClassLoader(), mustExist);
         } catch (MetaDataException mde) {

Modified: openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/util/ProxyManagerImpl.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/util/ProxyManagerImpl.java?rev=1759356&r1=1759355&r2=1759356&view=diff
==============================================================================
--- openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/util/ProxyManagerImpl.java (original)
+++ openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/util/ProxyManagerImpl.java Mon Sep  5 21:11:01 2016
@@ -52,6 +52,7 @@ import java.util.Queue;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.openjpa.enhance.AsmAdaptor;
 import org.apache.openjpa.kernel.OpenJPAStateManager;
+import org.apache.openjpa.lib.util.ClassUtil;
 import org.apache.openjpa.lib.util.Files;
 import org.apache.openjpa.lib.util.J2DoPrivHelper;
 import org.apache.openjpa.lib.util.Localizer;
@@ -66,7 +67,6 @@ import serp.bytecode.BCMethod;
 import serp.bytecode.Code;
 import serp.bytecode.JumpInstruction;
 import serp.bytecode.Project;
-import serp.util.Strings;
 
 /**
  * Default implementation of the {@link ProxyManager} interface.
@@ -590,7 +590,7 @@ public class ProxyManagerImpl
      */
     private static String getProxyClassName(Class type, boolean runtime) {
         String id = (runtime) ? "$" + nextProxyId() : "";
-        return Strings.getPackageName(ProxyManagerImpl.class) + "." 
+        return ClassUtil.getPackageName(ProxyManagerImpl.class) + "."
             + type.getName().replace('.', '$') + id + PROXY_SUFFIX;
     }
 

Modified: openjpa/trunk/openjpa-lib/src/main/java/org/apache/openjpa/lib/meta/ClassMetaDataIterator.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-lib/src/main/java/org/apache/openjpa/lib/meta/ClassMetaDataIterator.java?rev=1759356&r1=1759355&r2=1759356&view=diff
==============================================================================
--- openjpa/trunk/openjpa-lib/src/main/java/org/apache/openjpa/lib/meta/ClassMetaDataIterator.java (original)
+++ openjpa/trunk/openjpa-lib/src/main/java/org/apache/openjpa/lib/meta/ClassMetaDataIterator.java Mon Sep  5 21:11:01 2016
@@ -34,7 +34,6 @@ import java.util.NoSuchElementException;
 import org.apache.openjpa.lib.util.ClassUtil;
 import org.apache.openjpa.lib.util.J2DoPrivHelper;
 import org.apache.openjpa.lib.util.MultiClassLoader;
-import serp.util.Strings;
 
 /**
  * Iterator over all metadata resources that might contain the
@@ -112,7 +111,7 @@ public class ClassMetaDataIterator imple
             // <path>/<package-name><suffix> (legacy support)
             // <path>/../<package-name><suffix> (legacy support)
             // 2. <path>/<class-name><suffix>
-            String pkg = Strings.getPackageName(cls).replace('.', '/');
+            String pkg = ClassUtil.getPackageName(cls).replace('.', '/');
             if (pkg.length() > 0) {
                 int idx, start = 0;
                 String pkgName, path, upPath = "";

Modified: openjpa/trunk/openjpa-lib/src/main/java/org/apache/openjpa/lib/util/ClassUtil.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-lib/src/main/java/org/apache/openjpa/lib/util/ClassUtil.java?rev=1759356&r1=1759355&r2=1759356&view=diff
==============================================================================
--- openjpa/trunk/openjpa-lib/src/main/java/org/apache/openjpa/lib/util/ClassUtil.java (original)
+++ openjpa/trunk/openjpa-lib/src/main/java/org/apache/openjpa/lib/util/ClassUtil.java Mon Sep  5 21:11:01 2016
@@ -133,10 +133,7 @@ public final class ClassUtil {
             return fullName;
         }
 
-        int dims = 0;
-        while (fullName.charAt(dims) == '[') {
-            dims++;
-        }
+        int dims = getArrayDimensions(fullName);
         if (dims > 0) {
             if (fullName.length() == dims + 1) {
                 String classCode = fullName.substring(dims);
@@ -170,4 +167,46 @@ public final class ClassUtil {
         }
         return simpleName;
     }
+
+    private static int getArrayDimensions(String fullClassName) {
+        int dims = 0;
+        while (fullClassName.charAt(dims) == '[') {
+            dims++;
+        }
+
+        return dims;
+    }
+
+    /**
+     * Return only the package, or empty string if none.
+     */
+    public static String getPackageName(Class cls) {
+        return (cls == null) ? null : getPackageName(cls.getName());
+    }
+
+    /**
+     * Return only the package, or empty string if none.
+     */
+    public static String getPackageName(String fullName) {
+        if (fullName == null) {
+            return null;
+        }
+        if (fullName.isEmpty()) {
+            return fullName;
+        }
+
+        int dims = getArrayDimensions(fullName);
+        if (dims > 0) {
+            if (fullName.length() == dims + 1) {
+                // don't care, it's a primitive
+                return "";
+            }
+            else {
+                fullName = fullName.substring(dims + 1);
+            }
+        }
+
+        int lastDot = fullName.lastIndexOf('.');
+        return lastDot > -1 ? fullName.substring(0, lastDot) : "";
+    }
 }

Modified: openjpa/trunk/openjpa-lib/src/main/java/org/apache/openjpa/lib/util/Files.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-lib/src/main/java/org/apache/openjpa/lib/util/Files.java?rev=1759356&r1=1759355&r2=1759356&view=diff
==============================================================================
--- openjpa/trunk/openjpa-lib/src/main/java/org/apache/openjpa/lib/util/Files.java (original)
+++ openjpa/trunk/openjpa-lib/src/main/java/org/apache/openjpa/lib/util/Files.java Mon Sep  5 21:11:01 2016
@@ -37,7 +37,6 @@ import java.security.AccessController;
 import java.security.PrivilegedActionException;
 
 import org.apache.commons.lang3.StringUtils;
-import serp.util.Strings;
 
 /**
  * Utility operations on files.

Modified: openjpa/trunk/openjpa-lib/src/test/java/org/apache/openjpa/lib/util/ClassUtilTest.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-lib/src/test/java/org/apache/openjpa/lib/util/ClassUtilTest.java?rev=1759356&r1=1759355&r2=1759356&view=diff
==============================================================================
--- openjpa/trunk/openjpa-lib/src/test/java/org/apache/openjpa/lib/util/ClassUtilTest.java (original)
+++ openjpa/trunk/openjpa-lib/src/test/java/org/apache/openjpa/lib/util/ClassUtilTest.java Mon Sep  5 21:11:01 2016
@@ -100,6 +100,16 @@ public class ClassUtilTest {
         System.out.println("took: " + TimeUnit.NANOSECONDS.toMillis(stop - start));
     }
 
+    @Test
+    public void testGetPackageName() {
+        Assert.assertEquals("org.apache.openjpa.lib.util", ClassUtil.getPackageName(ClassUtilTest.class));
+        Assert.assertEquals("org.apache.openjpa.lib.util", ClassUtil.getPackageName(MyInnerClass.class));
+        Assert.assertEquals("org.apache.openjpa.lib.util", ClassUtil.getPackageName(MyInnerClass[].class));
+        Assert.assertEquals("org.apache.openjpa.lib.util", ClassUtil.getPackageName(INSTANCE.getClass()));
+        Assert.assertEquals("", ClassUtil.getPackageName(long.class));
+        Assert.assertEquals("", ClassUtil.getPackageName(long[].class));
+    }
+
     private static abstract class MyInnerClass {
         // not needed
     }

Modified: openjpa/trunk/openjpa-persistence-jdbc/src/main/java/org/apache/openjpa/persistence/jdbc/AnnotationPersistenceMappingSerializer.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/main/java/org/apache/openjpa/persistence/jdbc/AnnotationPersistenceMappingSerializer.java?rev=1759356&r1=1759355&r2=1759356&view=diff
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/main/java/org/apache/openjpa/persistence/jdbc/AnnotationPersistenceMappingSerializer.java (original)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/main/java/org/apache/openjpa/persistence/jdbc/AnnotationPersistenceMappingSerializer.java Mon Sep  5 21:11:01 2016
@@ -56,8 +56,6 @@ import java.util.HashMap;
 import java.sql.Types;
 import java.lang.annotation.Annotation;
 
-import serp.util.Strings;
-
 import javax.persistence.TemporalType;
 import javax.persistence.EnumType;
 import javax.persistence.InheritanceType;

Modified: openjpa/trunk/openjpa-persistence-jdbc/src/main/java/org/apache/openjpa/persistence/jdbc/PersistenceMappingDefaults.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/main/java/org/apache/openjpa/persistence/jdbc/PersistenceMappingDefaults.java?rev=1759356&r1=1759355&r2=1759356&view=diff
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/main/java/org/apache/openjpa/persistence/jdbc/PersistenceMappingDefaults.java (original)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/main/java/org/apache/openjpa/persistence/jdbc/PersistenceMappingDefaults.java Mon Sep  5 21:11:01 2016
@@ -42,7 +42,6 @@ import org.apache.openjpa.jdbc.sql.JoinS
 import org.apache.openjpa.lib.util.ClassUtil;
 import org.apache.openjpa.meta.FieldMetaData;
 import org.apache.openjpa.meta.JavaTypes;
-import serp.util.Strings;
 
 /**
  * Supplies default mapping information in accordance with JPA spec.

Modified: openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/XMLPersistenceMetaDataSerializer.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/XMLPersistenceMetaDataSerializer.java?rev=1759356&r1=1759355&r2=1759356&view=diff
==============================================================================
--- openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/XMLPersistenceMetaDataSerializer.java (original)
+++ openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/XMLPersistenceMetaDataSerializer.java Mon Sep  5 21:11:01 2016
@@ -57,7 +57,6 @@ import org.apache.openjpa.meta.SequenceM
 import org.apache.openjpa.meta.ValueMetaData;
 import org.apache.openjpa.util.InternalException;
 import org.xml.sax.SAXException;
-import serp.util.Strings;
 
 /**
  * Serializes persistence metadata back to XML.
@@ -531,7 +530,7 @@ public class XMLPersistenceMetaDataSeria
         int type = type(obj);
         switch (type) {
             case TYPE_META:
-                return Strings.getPackageName(((ClassMetaData) obj).
+                return ClassUtil.getPackageName(((ClassMetaData) obj).
                     getDescribedType());
             case TYPE_QUERY:
             case TYPE_SEQ:
@@ -539,7 +538,7 @@ public class XMLPersistenceMetaDataSeria
             case TYPE_CLASS_SEQS:
                 SourceTracker st = (SourceTracker) obj;
                 if (st.getSourceScope() instanceof Class)
-                    return Strings.getPackageName((Class) st.getSourceScope());
+                    return ClassUtil.getPackageName((Class) st.getSourceScope());
                 return null;
             default:
                 return null;