You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-commits@db.apache.org by ka...@apache.org on 2012/09/26 11:18:13 UTC
svn commit: r1390342 - in
/db/derby/code/trunk/java/engine/org/apache/derby/impl/services/reflect:
DatabaseClasses.java GCInstanceFactory.java ReflectClassesJava2.java
ReflectGeneratedClass.java ReflectLoaderJava2.java
Author: kahatlen
Date: Wed Sep 26 09:18:13 2012
New Revision: 1390342
URL: http://svn.apache.org/viewvc?rev=1390342&view=rev
Log:
DERBY-5935: Remove unused code for factory classes in the reflection service
Removed:
db/derby/code/trunk/java/engine/org/apache/derby/impl/services/reflect/GCInstanceFactory.java
Modified:
db/derby/code/trunk/java/engine/org/apache/derby/impl/services/reflect/DatabaseClasses.java
db/derby/code/trunk/java/engine/org/apache/derby/impl/services/reflect/ReflectClassesJava2.java
db/derby/code/trunk/java/engine/org/apache/derby/impl/services/reflect/ReflectGeneratedClass.java
db/derby/code/trunk/java/engine/org/apache/derby/impl/services/reflect/ReflectLoaderJava2.java
Modified: db/derby/code/trunk/java/engine/org/apache/derby/impl/services/reflect/DatabaseClasses.java
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/engine/org/apache/derby/impl/services/reflect/DatabaseClasses.java?rev=1390342&r1=1390341&r2=1390342&view=diff
==============================================================================
--- db/derby/code/trunk/java/engine/org/apache/derby/impl/services/reflect/DatabaseClasses.java (original)
+++ db/derby/code/trunk/java/engine/org/apache/derby/impl/services/reflect/DatabaseClasses.java Wed Sep 26 09:18:13 2012
@@ -21,45 +21,28 @@
package org.apache.derby.impl.services.reflect;
-import org.apache.derby.iapi.services.sanity.SanityManager;
-
-import org.apache.derby.iapi.services.loader.ClassFactory;
-import org.apache.derby.iapi.services.loader.GeneratedClass;
-import org.apache.derby.iapi.services.loader.ClassInspector;
-
-import org.apache.derby.iapi.services.monitor.ModuleControl;
-import org.apache.derby.iapi.services.monitor.ModuleSupportable;
-import org.apache.derby.iapi.services.monitor.Monitor;
-
-import org.apache.derby.iapi.error.StandardException;
-import org.apache.derby.iapi.services.property.PropertyUtil;
-
-import org.apache.derby.iapi.services.stream.HeaderPrintWriter;
-import org.apache.derby.iapi.services.monitor.Monitor;
-
-import org.apache.derby.iapi.services.compiler.*;
-import java.lang.reflect.Modifier;
-import org.apache.derby.iapi.sql.compile.CodeGeneration;
-
-import org.apache.derby.iapi.util.ByteArray;
-import org.apache.derby.iapi.services.io.FileUtil;
-import org.apache.derby.iapi.services.i18n.MessageService;
-import org.apache.derby.iapi.reference.Property;
-import org.apache.derby.iapi.reference.SQLState;
-import org.apache.derby.iapi.reference.MessageId;
-import org.apache.derby.iapi.reference.ClassName;
-
-import java.util.Properties;
-import java.util.Hashtable;
-
-import java.io.ObjectStreamClass;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
-import java.io.Serializable;
+import java.io.ObjectStreamClass;
import java.security.AccessController;
import java.security.PrivilegedActionException;
import java.security.PrivilegedExceptionAction;
+import java.util.Properties;
+import org.apache.derby.iapi.error.StandardException;
+import org.apache.derby.iapi.reference.MessageId;
+import org.apache.derby.iapi.reference.Property;
+import org.apache.derby.iapi.reference.SQLState;
+import org.apache.derby.iapi.services.i18n.MessageService;
+import org.apache.derby.iapi.services.io.FileUtil;
+import org.apache.derby.iapi.services.loader.ClassFactory;
+import org.apache.derby.iapi.services.loader.ClassInspector;
+import org.apache.derby.iapi.services.loader.GeneratedClass;
+import org.apache.derby.iapi.services.monitor.ModuleControl;
+import org.apache.derby.iapi.services.monitor.Monitor;
+import org.apache.derby.iapi.services.sanity.SanityManager;
+import org.apache.derby.iapi.services.stream.HeaderPrintWriter;
+import org.apache.derby.iapi.util.ByteArray;
/**
@@ -88,7 +71,6 @@ abstract class DatabaseClasses
*/
private ClassInspector classInspector;
- private JavaFactory javaFactory;
private UpdateLoader applicationLoader;
@@ -125,8 +107,6 @@ abstract class DatabaseClasses
applicationLoader = new UpdateLoader(classpath, this, true,
true);
}
-
- javaFactory = (JavaFactory) org.apache.derby.iapi.services.monitor.Monitor.startSystemModule(org.apache.derby.iapi.reference.Module.JavaFactory);
}
@@ -317,29 +297,6 @@ abstract class DatabaseClasses
return -1;
}
- public ByteArray buildSpecificFactory(String className, String factoryName)
- throws StandardException {
-
- ClassBuilder cb = javaFactory.newClassBuilder(this, CodeGeneration.GENERATED_PACKAGE_PREFIX,
- Modifier.PUBLIC | Modifier.FINAL, factoryName, "org.apache.derby.impl.services.reflect.GCInstanceFactory");
-
- MethodBuilder constructor = cb.newConstructorBuilder(Modifier.PUBLIC);
-
- constructor.callSuper();
- constructor.methodReturn();
- constructor.complete();
- constructor = null;
-
- MethodBuilder noArg = cb.newMethodBuilder(Modifier.PUBLIC, ClassName.GeneratedByteCode, "getNewInstance");
- noArg.pushNewStart(className);
- noArg.pushNewComplete(0);
- noArg.methodReturn();
- noArg.complete();
- noArg = null;
-
- return cb.getClassBytecode();
- }
-
/*
** Class specific methods
*/
Modified: db/derby/code/trunk/java/engine/org/apache/derby/impl/services/reflect/ReflectClassesJava2.java
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/engine/org/apache/derby/impl/services/reflect/ReflectClassesJava2.java?rev=1390342&r1=1390341&r2=1390342&view=diff
==============================================================================
--- db/derby/code/trunk/java/engine/org/apache/derby/impl/services/reflect/ReflectClassesJava2.java (original)
+++ db/derby/code/trunk/java/engine/org/apache/derby/impl/services/reflect/ReflectClassesJava2.java Wed Sep 26 09:18:13 2012
@@ -50,7 +50,7 @@ public class ReflectClassesJava2 extends
// not a generated class, just load the class directly.
try {
Class jvmClass = Class.forName(fullyQualifiedName);
- ReflectGeneratedClass gc = new ReflectGeneratedClass(this, jvmClass, null);
+ ReflectGeneratedClass gc = new ReflectGeneratedClass(this, jvmClass);
preCompiled.put(fullyQualifiedName, gc);
return gc;
} catch (ClassNotFoundException cnfe) {
Modified: db/derby/code/trunk/java/engine/org/apache/derby/impl/services/reflect/ReflectGeneratedClass.java
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/engine/org/apache/derby/impl/services/reflect/ReflectGeneratedClass.java?rev=1390342&r1=1390341&r2=1390342&view=diff
==============================================================================
--- db/derby/code/trunk/java/engine/org/apache/derby/impl/services/reflect/ReflectGeneratedClass.java (original)
+++ db/derby/code/trunk/java/engine/org/apache/derby/impl/services/reflect/ReflectGeneratedClass.java Wed Sep 26 09:18:13 2012
@@ -28,8 +28,6 @@ import org.apache.derby.iapi.services.lo
import org.apache.derby.iapi.error.StandardException;
import org.apache.derby.iapi.reference.SQLState;
-import org.apache.derby.iapi.services.context.Context;
-
import java.lang.reflect.Method;
import java.util.Hashtable;
@@ -38,10 +36,6 @@ public final class ReflectGeneratedClass
private final Hashtable methodCache;
private static final GeneratedMethod[] directs;
-
- private final Class factoryClass;
- private GCInstanceFactory factory;
-
static {
directs = new GeneratedMethod[10];
for (int i = 0; i < directs.length; i++) {
@@ -49,41 +43,9 @@ public final class ReflectGeneratedClass
}
}
- public ReflectGeneratedClass(ClassFactory cf, Class jvmClass, Class factoryClass) {
+ public ReflectGeneratedClass(ClassFactory cf, Class jvmClass) {
super(cf, jvmClass);
methodCache = new Hashtable();
- this.factoryClass = factoryClass;
- }
-
- public Object newInstance(Context context) throws StandardException {
- if (factoryClass == null) {
- return super.newInstance(context);
- }
-
- if (factory == null) {
-
- Throwable t;
- try {
- factory = (GCInstanceFactory) factoryClass.newInstance();
- t = null;
- } catch (InstantiationException ie) {
- t = ie;
- } catch (IllegalAccessException iae) {
- t = iae;
- } catch (LinkageError le) {
- t = le;
- }
-
- if (t != null)
- throw StandardException.newException(SQLState.GENERATED_CLASS_INSTANCE_ERROR, t, getName());
- }
-
- GeneratedByteCode ni = factory.getNewInstance();
- ni.initFromContext(context);
- ni.setGC(this);
- ni.postConstructor();
- return ni;
-
}
public GeneratedMethod getMethod(String simpleName)
Modified: db/derby/code/trunk/java/engine/org/apache/derby/impl/services/reflect/ReflectLoaderJava2.java
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/engine/org/apache/derby/impl/services/reflect/ReflectLoaderJava2.java?rev=1390342&r1=1390341&r2=1390342&view=diff
==============================================================================
--- db/derby/code/trunk/java/engine/org/apache/derby/impl/services/reflect/ReflectLoaderJava2.java (original)
+++ db/derby/code/trunk/java/engine/org/apache/derby/impl/services/reflect/ReflectLoaderJava2.java Wed Sep 26 09:18:13 2012
@@ -62,23 +62,6 @@ final class ReflectLoaderJava2 extends C
resolveClass(jvmClass);
- /*
- DJD - not enabling this yet, need more memory testing, may only
- create a factory instance when a number of instances are created.
- This would avoid a factory instance for DDL
-
- // now generate a factory class that loads instances
- int lastDot = name.lastIndexOf('.');
- String factoryName = name.substring(lastDot + 1, name.length()).concat("_F");
-
- classData = cf.buildSpecificFactory(name, factoryName);
- Class factoryClass = defineClass(CodeGeneration.GENERATED_PACKAGE_PREFIX.concat(factoryName),
- classData.getArray(), classData.getOffset(), classData.getLength());
- resolveClass(factoryClass);
-
- */
- Class factoryClass = null;
-
- return new ReflectGeneratedClass(cf, jvmClass, factoryClass);
+ return new ReflectGeneratedClass(cf, jvmClass);
}
}