- *
- * @param message the detail message
- * @param cause the cause
- */
- public RelProxyException(String message, Throwable cause)
- {
- super(message, cause);
- }
-
- /**
- * Constructs a new exception with the specified message.
- *
- *
Parameter is passed to the super constructor.
- *
- * @param message the detail message
- */
- public RelProxyException(String message)
- {
- super(message);
- }
-
- /**
- * Constructs a new exception with the specified cause.
- *
- *
Parameter is passed to the super constructor.
- *
- * @param cause the cause
- */
- public RelProxyException(Throwable cause)
- {
- super(cause);
- }
-}
+package com.innowhere.relproxy;
+
+/**
+ * Internal checked exceptions thrown by RelProxy and library specific errors are wrapped into this exception class.
+ *
+ * @author Jose Maria Arranz Santamaria
+ */
+public class RelProxyException extends RuntimeException
+{
+ /**
+ * Constructs a new exception with the specified message and cause.
+ *
+ *
Parameters are passed to the super constructor.
+ *
+ * @param message the detail message
+ * @param cause the cause
+ */
+ public RelProxyException(String message, Throwable cause)
+ {
+ super(message, cause);
+ }
+
+ /**
+ * Constructs a new exception with the specified message.
+ *
+ *
Parameter is passed to the super constructor.
+ *
+ * @param message the detail message
+ */
+ public RelProxyException(String message)
+ {
+ super(message);
+ }
+
+ /**
+ * Constructs a new exception with the specified cause.
+ *
+ *
Parameter is passed to the super constructor.
+ *
+ * @param cause the cause
+ */
+ public RelProxyException(Throwable cause)
+ {
+ super(cause);
+ }
+}
diff --git a/relproxy/src/main/java/com/innowhere/relproxy/RelProxyOnReloadListener.java b/src/main/java/com/innowhere/relproxy/RelProxyOnReloadListener.java
similarity index 97%
rename from relproxy/src/main/java/com/innowhere/relproxy/RelProxyOnReloadListener.java
rename to src/main/java/com/innowhere/relproxy/RelProxyOnReloadListener.java
index 2fc287d..faf1c62 100644
--- a/relproxy/src/main/java/com/innowhere/relproxy/RelProxyOnReloadListener.java
+++ b/src/main/java/com/innowhere/relproxy/RelProxyOnReloadListener.java
@@ -1,29 +1,29 @@
-package com.innowhere.relproxy;
-
-import java.lang.reflect.Method;
-
-/**
- * Is the interface needed to register a class reload listener.
- *
- *
An object implementing this interface can optionally be registered on RelProxy to listen when the method of a proxy object has been called
- * and the class of the original object associated has been reloaded (and a new "original" object based on the new class was created to replace it).
- *
- *
- *
- * @see com.innowhere.relproxy.jproxy.JProxyConfig#setRelProxyOnReloadListener(com.innowhere.relproxy.RelProxyOnReloadListener)
- * @see com.innowhere.relproxy.gproxy.GProxyConfig#setRelProxyOnReloadListener(com.innowhere.relproxy.RelProxyOnReloadListener)
- * @author Jose Maria Arranz Santamaria
- */
-public interface RelProxyOnReloadListener
-{
- /**
- * Called when some source code change has happened and a new class has been compiled and reloaded.
- *
- * @param objOld the old object before class reload.
- * @param objNew the new object based on the new class loaded by the new class loader.
- * @param proxy the proxy object created by {@link java.lang.reflect.Proxy} being used.
- * @param method the method being called through the proxy object.
- * @param args the parameters being used in the method call.
- */
- public void onReload(Object objOld,Object objNew,Object proxy, Method method, Object[] args);
-}
+package com.innowhere.relproxy;
+
+import java.lang.reflect.Method;
+
+/**
+ * Is the interface needed to register a class reload listener.
+ *
+ *
An object implementing this interface can optionally be registered on RelProxy to listen when the method of a proxy object has been called
+ * and the class of the original object associated has been reloaded (and a new "original" object based on the new class was created to replace it).
+ *
+ *
+ *
+ * @see com.innowhere.relproxy.jproxy.JProxyConfig#setRelProxyOnReloadListener(com.innowhere.relproxy.RelProxyOnReloadListener)
+ * @see com.innowhere.relproxy.gproxy.GProxyConfig#setRelProxyOnReloadListener(com.innowhere.relproxy.RelProxyOnReloadListener)
+ * @author Jose Maria Arranz Santamaria
+ */
+public interface RelProxyOnReloadListener
+{
+ /**
+ * Called when some source code change has happened and a new class has been compiled and reloaded.
+ *
+ * @param objOld the old object before class reload.
+ * @param objNew the new object based on the new class loaded by the new class loader.
+ * @param proxy the proxy object created by {@link java.lang.reflect.Proxy} being used.
+ * @param method the method being called through the proxy object.
+ * @param args the parameters being used in the method call.
+ */
+ public void onReload(Object objOld,Object objNew,Object proxy, Method method, Object[] args);
+}
diff --git a/relproxy/src/main/java/com/innowhere/relproxy/gproxy/GProxy.java b/src/main/java/com/innowhere/relproxy/gproxy/GProxy.java
similarity index 95%
rename from relproxy/src/main/java/com/innowhere/relproxy/gproxy/GProxy.java
rename to src/main/java/com/innowhere/relproxy/gproxy/GProxy.java
index 1ec80b2..942b56e 100644
--- a/relproxy/src/main/java/com/innowhere/relproxy/gproxy/GProxy.java
+++ b/src/main/java/com/innowhere/relproxy/gproxy/GProxy.java
@@ -1,68 +1,68 @@
-
-package com.innowhere.relproxy.gproxy;
-
-import com.innowhere.relproxy.impl.gproxy.GProxyConfigImpl;
-import com.innowhere.relproxy.impl.gproxy.GProxyDefaultImpl;
-
-/**
- * Is the class to create Java proxy objects based on Groovy objects and keep track of Groovy source code changes reloading Groovy classes when detected.
- *
- * @author Jose Maria Arranz Santamaria
- */
-public class GProxy
-{
- /**
- * Creates a {@link GProxyConfig} object to be used to configure GProxy.
- *
- * @return a new configuration object.
- * @see #init(GProxyConfig)
- */
- public static GProxyConfig createGProxyConfig()
- {
- return GProxyDefaultImpl.createGProxyConfig();
- }
-
- /**
- * Initializes GProxy with the provided configuration object.
- *
- * @param config
- */
- public static void init(GProxyConfig config)
- {
- GProxyDefaultImpl.initStatic((GProxyConfigImpl)config);
- }
-
- /**
- * Creates a proxy object using java.lang.reflect.Proxy based on the provided Groovy object and the class of the implemented Java interface.
- *
- *
This method is a simplification for a single interface (the most common case) of {@link #create(Object,Class>[])} .
- *
- * @param the interface implemented by the original object and proxy object returned.
- * @param obj the original object to proxy.
- * @param clasz the class of the interface implemented by the original object and proxy object returned.
- * @return the java.lang.reflect.Proxy object associated or the original object when GProxy is disabled.
- */
- public static T create(T obj,Class clasz)
- {
- return GProxyDefaultImpl.createStatic(obj, clasz);
- }
-
- /**
- * Creates a proxy object using java.lang.reflect.Proxy based on the provided Groovy object and the classes of the implemented Java interfaces.
- *
- *
If GProxy has been configured and is enabled this method returns a java.lang.reflect.Proxy object implementing instead of
- * the original object provided. Methods called in proxy object are received by GProxy and forwarded to the original object, if source code
- * managed by GProxy has been changed, the class of the original object is reloaded based on the new source and the original object
- * is recreated with the new class and fields are re-set in the new object, then the method is called on the new original object.
- *
- *
If GProxy is disabled returns the original object provided with no performance penalty.
- *
- * @param obj the original object to proxy.
- * @param classes the classes of the interfaces implemented by the original object and proxy object returned.
- * @return the java.lang.reflect.Proxy object associated or the original object when GProxy is disabled.
- */
- public static Object create(Object obj,Class>[] classes)
- {
- return GProxyDefaultImpl.createStatic(obj, classes);
- }
-}
+
+package com.innowhere.relproxy.gproxy;
+
+import com.innowhere.relproxy.impl.gproxy.GProxyConfigImpl;
+import com.innowhere.relproxy.impl.gproxy.GProxyDefaultImpl;
+
+/**
+ * Is the class to create Java proxy objects based on Groovy objects and keep track of Groovy source code changes reloading Groovy classes when detected.
+ *
+ * @author Jose Maria Arranz Santamaria
+ */
+public class GProxy
+{
+ /**
+ * Creates a {@link GProxyConfig} object to be used to configure GProxy.
+ *
+ * @return a new configuration object.
+ * @see #init(GProxyConfig)
+ */
+ public static GProxyConfig createGProxyConfig()
+ {
+ return GProxyDefaultImpl.createGProxyConfig();
+ }
+
+ /**
+ * Initializes GProxy with the provided configuration object.
+ *
+ * @param config config
+ */
+ public static void init(GProxyConfig config)
+ {
+ GProxyDefaultImpl.initStatic((GProxyConfigImpl)config);
+ }
+
+ /**
+ * Creates a proxy object using java.lang.reflect.Proxy based on the provided Groovy object and the class of the implemented Java interface.
+ *
+ *
This method is a simplification for a single interface (the most common case) of {@link #create(Object,Class[])} .
+ *
+ * @param the interface implemented by the original object and proxy object returned.
+ * @param obj the original object to proxy.
+ * @param clasz the class of the interface implemented by the original object and proxy object returned.
+ * @return the java.lang.reflect.Proxy object associated or the original object when GProxy is disabled.
+ */
+ public static T create(T obj,Class clasz)
+ {
+ return GProxyDefaultImpl.createStatic(obj, clasz);
+ }
+
+ /**
+ * Creates a proxy object using java.lang.reflect.Proxy based on the provided Groovy object and the classes of the implemented Java interfaces.
+ *
+ *
If GProxy has been configured and is enabled this method returns a java.lang.reflect.Proxy object implementing instead of
+ * the original object provided. Methods called in proxy object are received by GProxy and forwarded to the original object, if source code
+ * managed by GProxy has been changed, the class of the original object is reloaded based on the new source and the original object
+ * is recreated with the new class and fields are re-set in the new object, then the method is called on the new original object.
+ *
+ *
If GProxy is disabled returns the original object provided with no performance penalty.
+ *
+ * @param obj the original object to proxy.
+ * @param classes the classes of the interfaces implemented by the original object and proxy object returned.
+ * @return the java.lang.reflect.Proxy object associated or the original object when GProxy is disabled.
+ */
+ public static Object create(Object obj,Class>[] classes)
+ {
+ return GProxyDefaultImpl.createStatic(obj, classes);
+ }
+}
diff --git a/relproxy/src/main/java/com/innowhere/relproxy/gproxy/GProxyConfig.java b/src/main/java/com/innowhere/relproxy/gproxy/GProxyConfig.java
similarity index 97%
rename from relproxy/src/main/java/com/innowhere/relproxy/gproxy/GProxyConfig.java
rename to src/main/java/com/innowhere/relproxy/gproxy/GProxyConfig.java
index 0184f5f..4e517fa 100644
--- a/relproxy/src/main/java/com/innowhere/relproxy/gproxy/GProxyConfig.java
+++ b/src/main/java/com/innowhere/relproxy/gproxy/GProxyConfig.java
@@ -1,43 +1,43 @@
-
-package com.innowhere.relproxy.gproxy;
-
-import com.innowhere.relproxy.RelProxyOnReloadListener;
-
-/**
- * Interface implemented by the configuration object needed to initialize GProxy.
- *
- *
- * @see GProxy#init(GProxyConfig)
- * @author Jose Maria Arranz Santamaria
- */
-public interface GProxyConfig
-{
- /**
- * Sets whether automatic detection of source code changes is enabled.
- *
- *
If set to false other configuration parameters are ignored, there is no automatic source code change detection/reload and original objects are returned
- * instead of proxies, performance penalty is zero. Setting to false is recommended in production whether source code change detection/reload is not required.
- *
- * @param enabled whether automatic source code change detection and reload is enabled. By default is true.
- * @return this object for flow API use.
- */
- public GProxyConfig setEnabled(boolean enabled);
-
- /**
- * Sets the class reload listener.
- *
- * @param relListener the class reload listener. By default is null.
- * @return this object for flow API use.
- */
- public GProxyConfig setRelProxyOnReloadListener(RelProxyOnReloadListener relListener);
-
- /**
- * Sets the object implementing the GroovyScriptEngine wrapper used to reload Groovy classes.
- *
- *
This parameter is required otherwise there is no bridge between RelProxy and Groovy because there is no explicit Groovy dependency in RelProxy.
- *
- * @param engine the GroovyScriptEngine wrapper.
- * @return this object for flow API use.
- */
- public GProxyConfig setGProxyGroovyScriptEngine(GProxyGroovyScriptEngine engine);
-}
+
+package com.innowhere.relproxy.gproxy;
+
+import com.innowhere.relproxy.RelProxyOnReloadListener;
+
+/**
+ * Interface implemented by the configuration object needed to initialize GProxy.
+ *
+ *
+ * @see GProxy#init(GProxyConfig)
+ * @author Jose Maria Arranz Santamaria
+ */
+public interface GProxyConfig
+{
+ /**
+ * Sets whether automatic detection of source code changes is enabled.
+ *
+ *
If set to false other configuration parameters are ignored, there is no automatic source code change detection/reload and original objects are returned
+ * instead of proxies, performance penalty is zero. Setting to false is recommended in production whether source code change detection/reload is not required.
+ *
+ * @param enabled whether automatic source code change detection and reload is enabled. By default is true.
+ * @return this object for flow API use.
+ */
+ public GProxyConfig setEnabled(boolean enabled);
+
+ /**
+ * Sets the class reload listener.
+ *
+ * @param relListener the class reload listener. By default is null.
+ * @return this object for flow API use.
+ */
+ public GProxyConfig setRelProxyOnReloadListener(RelProxyOnReloadListener relListener);
+
+ /**
+ * Sets the object implementing the GroovyScriptEngine wrapper used to reload Groovy classes.
+ *
+ *
This parameter is required otherwise there is no bridge between RelProxy and Groovy because there is no explicit Groovy dependency in RelProxy.
+ *
+ * @param engine the GroovyScriptEngine wrapper.
+ * @return this object for flow API use.
+ */
+ public GProxyConfig setGProxyGroovyScriptEngine(GProxyGroovyScriptEngine engine);
+}
diff --git a/relproxy/src/main/java/com/innowhere/relproxy/gproxy/GProxyGroovyScriptEngine.java b/src/main/java/com/innowhere/relproxy/gproxy/GProxyGroovyScriptEngine.java
similarity index 90%
rename from relproxy/src/main/java/com/innowhere/relproxy/gproxy/GProxyGroovyScriptEngine.java
rename to src/main/java/com/innowhere/relproxy/gproxy/GProxyGroovyScriptEngine.java
index 7294bcd..47d09d7 100644
--- a/relproxy/src/main/java/com/innowhere/relproxy/gproxy/GProxyGroovyScriptEngine.java
+++ b/src/main/java/com/innowhere/relproxy/gproxy/GProxyGroovyScriptEngine.java
@@ -1,31 +1,31 @@
-package com.innowhere.relproxy.gproxy;
-
-/**
- * Interface to implement the object implementing the GroovyScriptEngine wrapper used to reload Groovy classes.
- *
- *
The following is a very simple example of the required implementation, groovyEngine is the groovy.util.GroovyScriptEngine
- * object:
-
- def gproxyGroovyEngine = {
- String scriptName -> return (java.lang.Class)groovyEngine.loadScriptByName(scriptName)
- } as GProxyGroovyScriptEngine;
-
- *
- *
- * @see GProxyConfig#setGProxyGroovyScriptEngine(GProxyGroovyScriptEngine)
- * @author Jose Maria Arranz Santamaria
- */
-public interface GProxyGroovyScriptEngine
-{
- /**
- * The class implementing this method must call the method groovy.util.GroovyScriptEngine.loadScriptByName(String scriptName) passing
- * the scriptName.
- *
- *
This method is called by GProxy when it needs to get the Class associated to the specified Groovy script/class to check if this class
- * has changed because Groovy has reloaded the class when a source code has been detected.
- *
- * @param scriptName the name of the Groovy script/class.
- * @return the class associated to the specified Groovy script.
- */
- public Class loadScriptByName(String scriptName);
-}
+package com.innowhere.relproxy.gproxy;
+
+/**
+ * Interface to implement the object implementing the GroovyScriptEngine wrapper used to reload Groovy classes.
+ *
+ *
The following is a very simple example of the required implementation, groovyEngine is the groovy.util.GroovyScriptEngine
+ * object:
+
+ def gproxyGroovyEngine = {
+ String scriptName -> return (java.lang.Class)groovyEngine.loadScriptByName(scriptName)
+ } as GProxyGroovyScriptEngine;
+
+ *
+ *
+ * @see GProxyConfig#setGProxyGroovyScriptEngine(GProxyGroovyScriptEngine)
+ * @author Jose Maria Arranz Santamaria
+ */
+public interface GProxyGroovyScriptEngine
+{
+ /**
+ * The class implementing this method must call the method groovy.util.GroovyScriptEngine.loadScriptByName(String scriptName) passing
+ * the scriptName.
+ *
+ *
This method is called by GProxy when it needs to get the Class associated to the specified Groovy script/class to check if this class
+ * has changed because Groovy has reloaded the class when a source code has been detected.
+ *
+ * @param scriptName the name of the Groovy script/class.
+ * @return the class associated to the specified Groovy script.
+ */
+ public Class loadScriptByName(String scriptName);
+}
diff --git a/relproxy/src/main/java/com/innowhere/relproxy/gproxy/package.html b/src/main/java/com/innowhere/relproxy/gproxy/package.html
similarity index 95%
rename from relproxy/src/main/java/com/innowhere/relproxy/gproxy/package.html
rename to src/main/java/com/innowhere/relproxy/gproxy/package.html
index 3cbf0dc..3edbfbf 100644
--- a/relproxy/src/main/java/com/innowhere/relproxy/gproxy/package.html
+++ b/src/main/java/com/innowhere/relproxy/gproxy/package.html
@@ -1,13 +1,13 @@
-
-
-
-
-
-
-
-Contains the classes related with Groovy support of RelProxy.
-
-
-
+
+
+
+
+
+
+
+Contains the classes related with Groovy support of RelProxy.
+
+
+
diff --git a/relproxy/src/main/java/com/innowhere/relproxy/impl/FileExt.java b/src/main/java/com/innowhere/relproxy/impl/FileExt.java
similarity index 96%
rename from relproxy/src/main/java/com/innowhere/relproxy/impl/FileExt.java
rename to src/main/java/com/innowhere/relproxy/impl/FileExt.java
index 0533f75..bc3fa3d 100644
--- a/relproxy/src/main/java/com/innowhere/relproxy/impl/FileExt.java
+++ b/src/main/java/com/innowhere/relproxy/impl/FileExt.java
@@ -1,32 +1,32 @@
-package com.innowhere.relproxy.impl;
-
-import com.innowhere.relproxy.RelProxyException;
-import java.io.File;
-import java.io.IOException;
-
-/**
- *
- * @author jmarranz
- */
-public class FileExt
-{
- protected final File file;
- protected final String cannonicalPath; // El obtener el cannonicalPath exige acceder al sistema de archivos, por eso nos inventamos esta clase, para evitar sucesivas llamadas a File.getCanonicalPath()
-
- public FileExt(File file)
- {
- this.file = file;
- try { this.cannonicalPath = file.getCanonicalPath(); }
- catch (IOException ex) { throw new RelProxyException(ex); }
- }
-
- public File getFile()
- {
- return file;
- }
-
- public String getCanonicalPath()
- {
- return cannonicalPath;
- }
-}
+package com.innowhere.relproxy.impl;
+
+import com.innowhere.relproxy.RelProxyException;
+import java.io.File;
+import java.io.IOException;
+
+/**
+ *
+ * @author jmarranz
+ */
+public class FileExt
+{
+ protected final File file;
+ protected final String cannonicalPath; // El obtener el cannonicalPath exige acceder al sistema de archivos, por eso nos inventamos esta clase, para evitar sucesivas llamadas a File.getCanonicalPath()
+
+ public FileExt(File file)
+ {
+ this.file = file;
+ try { this.cannonicalPath = file.getCanonicalPath(); }
+ catch (IOException ex) { throw new RelProxyException(ex); }
+ }
+
+ public File getFile()
+ {
+ return file;
+ }
+
+ public String getCanonicalPath()
+ {
+ return cannonicalPath;
+ }
+}
diff --git a/relproxy/src/main/java/com/innowhere/relproxy/impl/GenericProxyConfigBaseImpl.java b/src/main/java/com/innowhere/relproxy/impl/GenericProxyConfigBaseImpl.java
similarity index 94%
rename from relproxy/src/main/java/com/innowhere/relproxy/impl/GenericProxyConfigBaseImpl.java
rename to src/main/java/com/innowhere/relproxy/impl/GenericProxyConfigBaseImpl.java
index 72863e3..f1fda6d 100644
--- a/relproxy/src/main/java/com/innowhere/relproxy/impl/GenericProxyConfigBaseImpl.java
+++ b/src/main/java/com/innowhere/relproxy/impl/GenericProxyConfigBaseImpl.java
@@ -1,24 +1,24 @@
-package com.innowhere.relproxy.impl;
-
-import com.innowhere.relproxy.RelProxyOnReloadListener;
-
-/**
- *
- * @author jmarranz
- */
-public class GenericProxyConfigBaseImpl
-{
- protected boolean enabled = true;
- protected RelProxyOnReloadListener relListener;
-
- public boolean isEnabled()
- {
- return enabled;
- }
-
- public RelProxyOnReloadListener getRelProxyOnReloadListener()
- {
- return relListener;
- }
-
-}
+package com.innowhere.relproxy.impl;
+
+import com.innowhere.relproxy.RelProxyOnReloadListener;
+
+/**
+ *
+ * @author jmarranz
+ */
+public class GenericProxyConfigBaseImpl
+{
+ protected boolean enabled = true;
+ protected RelProxyOnReloadListener relListener;
+
+ public boolean isEnabled()
+ {
+ return enabled;
+ }
+
+ public RelProxyOnReloadListener getRelProxyOnReloadListener()
+ {
+ return relListener;
+ }
+
+}
diff --git a/relproxy/src/main/java/com/innowhere/relproxy/impl/GenericProxyImpl.java b/src/main/java/com/innowhere/relproxy/impl/GenericProxyImpl.java
similarity index 96%
rename from relproxy/src/main/java/com/innowhere/relproxy/impl/GenericProxyImpl.java
rename to src/main/java/com/innowhere/relproxy/impl/GenericProxyImpl.java
index 7a0afcf..a24ba38 100644
--- a/relproxy/src/main/java/com/innowhere/relproxy/impl/GenericProxyImpl.java
+++ b/src/main/java/com/innowhere/relproxy/impl/GenericProxyImpl.java
@@ -1,61 +1,61 @@
-package com.innowhere.relproxy.impl;
-
-import com.innowhere.relproxy.RelProxyException;
-import com.innowhere.relproxy.RelProxyOnReloadListener;
-import java.lang.reflect.InvocationHandler;
-import java.lang.reflect.Proxy;
-
-/**
- *
- * @author jmarranz
- */
-public abstract class GenericProxyImpl
-{
- protected RelProxyOnReloadListener reloadListener;
-
- public GenericProxyImpl()
- {
- }
-
- public static void checkSingletonNull(GenericProxyImpl singleton)
- {
- if (singleton != null)
- throw new RelProxyException("Already initialized");
- }
-
- protected static void checkSingletonExists(GenericProxyImpl singleton)
- {
- if (singleton == null)
- throw new RelProxyException("Execute first the init method");
- }
-
- protected void init(GenericProxyConfigBaseImpl config)
- {
- this.reloadListener = config.getRelProxyOnReloadListener();
- }
-
- public RelProxyOnReloadListener getRelProxyOnReloadListener()
- {
- return reloadListener;
- }
-
- public T create(T obj,Class clasz)
- {
- if (obj == null) return null;
-
- return (T)create(obj,new Class[] { clasz });
- }
-
- public Object create(Object obj,Class[] classes)
- {
- if (obj == null) return null;
-
- InvocationHandler handler = createGenericProxyInvocationHandler(obj);
-
- Object proxy = Proxy.newProxyInstance(obj.getClass().getClassLoader(),classes, handler);
- return proxy;
- }
-
-
- public abstract GenericProxyInvocationHandler createGenericProxyInvocationHandler(Object obj);
-}
+package com.innowhere.relproxy.impl;
+
+import com.innowhere.relproxy.RelProxyException;
+import com.innowhere.relproxy.RelProxyOnReloadListener;
+import java.lang.reflect.InvocationHandler;
+import java.lang.reflect.Proxy;
+
+/**
+ *
+ * @author jmarranz
+ */
+public abstract class GenericProxyImpl
+{
+ protected RelProxyOnReloadListener reloadListener;
+
+ public GenericProxyImpl()
+ {
+ }
+
+ public static void checkSingletonNull(GenericProxyImpl singleton)
+ {
+ if (singleton != null)
+ throw new RelProxyException("Already initialized");
+ }
+
+ protected static void checkSingletonExists(GenericProxyImpl singleton)
+ {
+ if (singleton == null)
+ throw new RelProxyException("Execute first the init method");
+ }
+
+ protected void init(GenericProxyConfigBaseImpl config)
+ {
+ this.reloadListener = config.getRelProxyOnReloadListener();
+ }
+
+ public RelProxyOnReloadListener getRelProxyOnReloadListener()
+ {
+ return reloadListener;
+ }
+
+ public T create(T obj,Class clasz)
+ {
+ if (obj == null) return null;
+
+ return (T)create(obj,new Class[] { clasz });
+ }
+
+ public Object create(Object obj,Class[] classes)
+ {
+ if (obj == null) return null;
+
+ InvocationHandler handler = createGenericProxyInvocationHandler(obj);
+
+ Object proxy = Proxy.newProxyInstance(obj.getClass().getClassLoader(),classes, handler);
+ return proxy;
+ }
+
+
+ public abstract GenericProxyInvocationHandler createGenericProxyInvocationHandler(Object obj);
+}
diff --git a/relproxy/src/main/java/com/innowhere/relproxy/impl/GenericProxyInvocationHandler.java b/src/main/java/com/innowhere/relproxy/impl/GenericProxyInvocationHandler.java
similarity index 100%
rename from relproxy/src/main/java/com/innowhere/relproxy/impl/GenericProxyInvocationHandler.java
rename to src/main/java/com/innowhere/relproxy/impl/GenericProxyInvocationHandler.java
diff --git a/relproxy/src/main/java/com/innowhere/relproxy/impl/GenericProxyVersionedObject.java b/src/main/java/com/innowhere/relproxy/impl/GenericProxyVersionedObject.java
similarity index 97%
rename from relproxy/src/main/java/com/innowhere/relproxy/impl/GenericProxyVersionedObject.java
rename to src/main/java/com/innowhere/relproxy/impl/GenericProxyVersionedObject.java
index 10dc262..f7165a6 100644
--- a/relproxy/src/main/java/com/innowhere/relproxy/impl/GenericProxyVersionedObject.java
+++ b/src/main/java/com/innowhere/relproxy/impl/GenericProxyVersionedObject.java
@@ -1,167 +1,167 @@
-package com.innowhere.relproxy.impl;
-
-import com.innowhere.relproxy.RelProxyException;
-import java.lang.reflect.Constructor;
-import java.lang.reflect.Field;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Modifier;
-import java.util.ArrayList;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-/**
- *
- * @author jmarranz
- */
-public abstract class GenericProxyVersionedObject
-{
- protected Object obj;
- protected GenericProxyInvocationHandler parent;
-
- public GenericProxyVersionedObject(Object obj,GenericProxyInvocationHandler parent)
- {
- this.obj = obj;
- this.parent = parent;
- }
-
- protected static void getTreeFields(Class clasz,Object obj,ArrayList fieldList,ArrayList
*
*
- * @see com.innowhere.relproxy.jproxy.JProxyConfig#setRelProxyOnReloadListener(com.innowhere.relproxy.RelProxyOnReloadListener)
- * @see com.innowhere.relproxy.gproxy.GProxyConfig#setRelProxyOnReloadListener(com.innowhere.relproxy.RelProxyOnReloadListener)
+ * @see com.sillelien.relproxy.jproxy.JProxyConfig#setRelProxyOnReloadListener(com.sillelien.relproxy.RelProxyOnReloadListener)
+ * @see com.sillelien.relproxy.gproxy.GProxyConfig#setRelProxyOnReloadListener(com.sillelien.relproxy.RelProxyOnReloadListener)
* @author Jose Maria Arranz Santamaria
*/
public interface RelProxyOnReloadListener
diff --git a/src/main/java/com/innowhere/relproxy/gproxy/GProxy.java b/src/main/java/com/sillelien/relproxy/gproxy/GProxy.java
similarity index 94%
rename from src/main/java/com/innowhere/relproxy/gproxy/GProxy.java
rename to src/main/java/com/sillelien/relproxy/gproxy/GProxy.java
index 942b56e..5c74686 100644
--- a/src/main/java/com/innowhere/relproxy/gproxy/GProxy.java
+++ b/src/main/java/com/sillelien/relproxy/gproxy/GProxy.java
@@ -1,8 +1,8 @@
-package com.innowhere.relproxy.gproxy;
+package com.sillelien.relproxy.gproxy;
-import com.innowhere.relproxy.impl.gproxy.GProxyConfigImpl;
-import com.innowhere.relproxy.impl.gproxy.GProxyDefaultImpl;
+import com.sillelien.relproxy.impl.gproxy.GProxyConfigImpl;
+import com.sillelien.relproxy.impl.gproxy.GProxyDefaultImpl;
/**
* Is the class to create Java proxy objects based on Groovy objects and keep track of Groovy source code changes reloading Groovy classes when detected.
diff --git a/src/main/java/com/innowhere/relproxy/gproxy/GProxyConfig.java b/src/main/java/com/sillelien/relproxy/gproxy/GProxyConfig.java
similarity index 94%
rename from src/main/java/com/innowhere/relproxy/gproxy/GProxyConfig.java
rename to src/main/java/com/sillelien/relproxy/gproxy/GProxyConfig.java
index 4e517fa..14cb90c 100644
--- a/src/main/java/com/innowhere/relproxy/gproxy/GProxyConfig.java
+++ b/src/main/java/com/sillelien/relproxy/gproxy/GProxyConfig.java
@@ -1,7 +1,7 @@
-package com.innowhere.relproxy.gproxy;
+package com.sillelien.relproxy.gproxy;
-import com.innowhere.relproxy.RelProxyOnReloadListener;
+import com.sillelien.relproxy.RelProxyOnReloadListener;
/**
* Interface implemented by the configuration object needed to initialize GProxy.
diff --git a/src/main/java/com/innowhere/relproxy/gproxy/GProxyGroovyScriptEngine.java b/src/main/java/com/sillelien/relproxy/gproxy/GProxyGroovyScriptEngine.java
similarity index 97%
rename from src/main/java/com/innowhere/relproxy/gproxy/GProxyGroovyScriptEngine.java
rename to src/main/java/com/sillelien/relproxy/gproxy/GProxyGroovyScriptEngine.java
index 47d09d7..4025e04 100644
--- a/src/main/java/com/innowhere/relproxy/gproxy/GProxyGroovyScriptEngine.java
+++ b/src/main/java/com/sillelien/relproxy/gproxy/GProxyGroovyScriptEngine.java
@@ -1,4 +1,4 @@
-package com.innowhere.relproxy.gproxy;
+package com.sillelien.relproxy.gproxy;
/**
* Interface to implement the object implementing the GroovyScriptEngine wrapper used to reload Groovy classes.
diff --git a/src/main/java/com/innowhere/relproxy/gproxy/package.html b/src/main/java/com/sillelien/relproxy/gproxy/package.html
similarity index 100%
rename from src/main/java/com/innowhere/relproxy/gproxy/package.html
rename to src/main/java/com/sillelien/relproxy/gproxy/package.html
diff --git a/src/main/java/com/innowhere/relproxy/impl/FileExt.java b/src/main/java/com/sillelien/relproxy/impl/FileExt.java
similarity index 89%
rename from src/main/java/com/innowhere/relproxy/impl/FileExt.java
rename to src/main/java/com/sillelien/relproxy/impl/FileExt.java
index bc3fa3d..d9d3d3c 100644
--- a/src/main/java/com/innowhere/relproxy/impl/FileExt.java
+++ b/src/main/java/com/sillelien/relproxy/impl/FileExt.java
@@ -1,6 +1,6 @@
-package com.innowhere.relproxy.impl;
+package com.sillelien.relproxy.impl;
-import com.innowhere.relproxy.RelProxyException;
+import com.sillelien.relproxy.RelProxyException;
import java.io.File;
import java.io.IOException;
diff --git a/src/main/java/com/innowhere/relproxy/impl/GenericProxyConfigBaseImpl.java b/src/main/java/com/sillelien/relproxy/impl/GenericProxyConfigBaseImpl.java
similarity index 78%
rename from src/main/java/com/innowhere/relproxy/impl/GenericProxyConfigBaseImpl.java
rename to src/main/java/com/sillelien/relproxy/impl/GenericProxyConfigBaseImpl.java
index f1fda6d..f46404e 100644
--- a/src/main/java/com/innowhere/relproxy/impl/GenericProxyConfigBaseImpl.java
+++ b/src/main/java/com/sillelien/relproxy/impl/GenericProxyConfigBaseImpl.java
@@ -1,6 +1,6 @@
-package com.innowhere.relproxy.impl;
+package com.sillelien.relproxy.impl;
-import com.innowhere.relproxy.RelProxyOnReloadListener;
+import com.sillelien.relproxy.RelProxyOnReloadListener;
/**
*
diff --git a/src/main/java/com/innowhere/relproxy/impl/GenericProxyImpl.java b/src/main/java/com/sillelien/relproxy/impl/GenericProxyImpl.java
similarity index 91%
rename from src/main/java/com/innowhere/relproxy/impl/GenericProxyImpl.java
rename to src/main/java/com/sillelien/relproxy/impl/GenericProxyImpl.java
index a24ba38..ca7a397 100644
--- a/src/main/java/com/innowhere/relproxy/impl/GenericProxyImpl.java
+++ b/src/main/java/com/sillelien/relproxy/impl/GenericProxyImpl.java
@@ -1,7 +1,7 @@
-package com.innowhere.relproxy.impl;
+package com.sillelien.relproxy.impl;
-import com.innowhere.relproxy.RelProxyException;
-import com.innowhere.relproxy.RelProxyOnReloadListener;
+import com.sillelien.relproxy.RelProxyException;
+import com.sillelien.relproxy.RelProxyOnReloadListener;
import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Proxy;
diff --git a/src/main/java/com/innowhere/relproxy/impl/GenericProxyInvocationHandler.java b/src/main/java/com/sillelien/relproxy/impl/GenericProxyInvocationHandler.java
similarity index 96%
rename from src/main/java/com/innowhere/relproxy/impl/GenericProxyInvocationHandler.java
rename to src/main/java/com/sillelien/relproxy/impl/GenericProxyInvocationHandler.java
index e9fba8c..ad6d6f9 100644
--- a/src/main/java/com/innowhere/relproxy/impl/GenericProxyInvocationHandler.java
+++ b/src/main/java/com/sillelien/relproxy/impl/GenericProxyInvocationHandler.java
@@ -1,6 +1,6 @@
-package com.innowhere.relproxy.impl;
+package com.sillelien.relproxy.impl;
-import com.innowhere.relproxy.RelProxyOnReloadListener;
+import com.sillelien.relproxy.RelProxyOnReloadListener;
import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
import java.lang.reflect.Proxy;
diff --git a/src/main/java/com/innowhere/relproxy/impl/GenericProxyVersionedObject.java b/src/main/java/com/sillelien/relproxy/impl/GenericProxyVersionedObject.java
similarity index 97%
rename from src/main/java/com/innowhere/relproxy/impl/GenericProxyVersionedObject.java
rename to src/main/java/com/sillelien/relproxy/impl/GenericProxyVersionedObject.java
index f7165a6..c23db15 100644
--- a/src/main/java/com/innowhere/relproxy/impl/GenericProxyVersionedObject.java
+++ b/src/main/java/com/sillelien/relproxy/impl/GenericProxyVersionedObject.java
@@ -1,13 +1,11 @@
-package com.innowhere.relproxy.impl;
+package com.sillelien.relproxy.impl;
-import com.innowhere.relproxy.RelProxyException;
+import com.sillelien.relproxy.RelProxyException;
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Modifier;
import java.util.ArrayList;
-import java.util.logging.Level;
-import java.util.logging.Logger;
/**
*
diff --git a/src/main/java/com/innowhere/relproxy/impl/gproxy/GProxyConfigImpl.java b/src/main/java/com/sillelien/relproxy/impl/gproxy/GProxyConfigImpl.java
similarity index 72%
rename from src/main/java/com/innowhere/relproxy/impl/gproxy/GProxyConfigImpl.java
rename to src/main/java/com/sillelien/relproxy/impl/gproxy/GProxyConfigImpl.java
index 247cc6d..d57bc86 100644
--- a/src/main/java/com/innowhere/relproxy/impl/gproxy/GProxyConfigImpl.java
+++ b/src/main/java/com/sillelien/relproxy/impl/gproxy/GProxyConfigImpl.java
@@ -1,9 +1,9 @@
-package com.innowhere.relproxy.impl.gproxy;
+package com.sillelien.relproxy.impl.gproxy;
-import com.innowhere.relproxy.RelProxyOnReloadListener;
-import com.innowhere.relproxy.gproxy.GProxyConfig;
-import com.innowhere.relproxy.gproxy.GProxyGroovyScriptEngine;
-import com.innowhere.relproxy.impl.GenericProxyConfigBaseImpl;
+import com.sillelien.relproxy.RelProxyOnReloadListener;
+import com.sillelien.relproxy.gproxy.GProxyConfig;
+import com.sillelien.relproxy.gproxy.GProxyGroovyScriptEngine;
+import com.sillelien.relproxy.impl.GenericProxyConfigBaseImpl;
/**
*
diff --git a/src/main/java/com/innowhere/relproxy/impl/gproxy/GProxyDefaultImpl.java b/src/main/java/com/sillelien/relproxy/impl/gproxy/GProxyDefaultImpl.java
similarity index 86%
rename from src/main/java/com/innowhere/relproxy/impl/gproxy/GProxyDefaultImpl.java
rename to src/main/java/com/sillelien/relproxy/impl/gproxy/GProxyDefaultImpl.java
index 2c8b0dd..6c8fe50 100644
--- a/src/main/java/com/innowhere/relproxy/impl/gproxy/GProxyDefaultImpl.java
+++ b/src/main/java/com/sillelien/relproxy/impl/gproxy/GProxyDefaultImpl.java
@@ -1,7 +1,7 @@
-package com.innowhere.relproxy.impl.gproxy;
+package com.sillelien.relproxy.impl.gproxy;
-import com.innowhere.relproxy.gproxy.GProxyConfig;
-import com.innowhere.relproxy.impl.gproxy.core.GProxyImpl;
+import com.sillelien.relproxy.gproxy.GProxyConfig;
+import com.sillelien.relproxy.impl.gproxy.core.GProxyImpl;
/**
*
diff --git a/src/main/java/com/innowhere/relproxy/impl/gproxy/core/GProxyImpl.java b/src/main/java/com/sillelien/relproxy/impl/gproxy/core/GProxyImpl.java
similarity index 68%
rename from src/main/java/com/innowhere/relproxy/impl/gproxy/core/GProxyImpl.java
rename to src/main/java/com/sillelien/relproxy/impl/gproxy/core/GProxyImpl.java
index c20285b..ca00943 100644
--- a/src/main/java/com/innowhere/relproxy/impl/gproxy/core/GProxyImpl.java
+++ b/src/main/java/com/sillelien/relproxy/impl/gproxy/core/GProxyImpl.java
@@ -1,9 +1,9 @@
-package com.innowhere.relproxy.impl.gproxy.core;
+package com.sillelien.relproxy.impl.gproxy.core;
-import com.innowhere.relproxy.impl.gproxy.GProxyConfigImpl;
-import com.innowhere.relproxy.gproxy.GProxyGroovyScriptEngine;
-import com.innowhere.relproxy.impl.GenericProxyImpl;
-import com.innowhere.relproxy.impl.GenericProxyInvocationHandler;
+import com.sillelien.relproxy.impl.gproxy.GProxyConfigImpl;
+import com.sillelien.relproxy.gproxy.GProxyGroovyScriptEngine;
+import com.sillelien.relproxy.impl.GenericProxyImpl;
+import com.sillelien.relproxy.impl.GenericProxyInvocationHandler;
/**
diff --git a/src/main/java/com/innowhere/relproxy/impl/gproxy/core/GProxyInvocationHandler.java b/src/main/java/com/sillelien/relproxy/impl/gproxy/core/GProxyInvocationHandler.java
similarity index 75%
rename from src/main/java/com/innowhere/relproxy/impl/gproxy/core/GProxyInvocationHandler.java
rename to src/main/java/com/sillelien/relproxy/impl/gproxy/core/GProxyInvocationHandler.java
index 6bacae7..f362a27 100644
--- a/src/main/java/com/innowhere/relproxy/impl/gproxy/core/GProxyInvocationHandler.java
+++ b/src/main/java/com/sillelien/relproxy/impl/gproxy/core/GProxyInvocationHandler.java
@@ -1,6 +1,6 @@
-package com.innowhere.relproxy.impl.gproxy.core;
+package com.sillelien.relproxy.impl.gproxy.core;
-import com.innowhere.relproxy.impl.GenericProxyInvocationHandler;
+import com.sillelien.relproxy.impl.GenericProxyInvocationHandler;
/**
*
@@ -19,4 +19,4 @@ public GProxyImpl getGProxyImpl()
return (GProxyImpl)root;
}
-}
\ No newline at end of file
+}
diff --git a/src/main/java/com/innowhere/relproxy/impl/gproxy/core/GProxyVersionedObject.java b/src/main/java/com/sillelien/relproxy/impl/gproxy/core/GProxyVersionedObject.java
similarity index 87%
rename from src/main/java/com/innowhere/relproxy/impl/gproxy/core/GProxyVersionedObject.java
rename to src/main/java/com/sillelien/relproxy/impl/gproxy/core/GProxyVersionedObject.java
index 38f574c..f57bf53 100644
--- a/src/main/java/com/innowhere/relproxy/impl/gproxy/core/GProxyVersionedObject.java
+++ b/src/main/java/com/sillelien/relproxy/impl/gproxy/core/GProxyVersionedObject.java
@@ -1,7 +1,7 @@
-package com.innowhere.relproxy.impl.gproxy.core;
+package com.sillelien.relproxy.impl.gproxy.core;
-import com.innowhere.relproxy.gproxy.GProxyGroovyScriptEngine;
-import com.innowhere.relproxy.impl.GenericProxyVersionedObject;
+import com.sillelien.relproxy.gproxy.GProxyGroovyScriptEngine;
+import com.sillelien.relproxy.impl.GenericProxyVersionedObject;
import java.lang.reflect.Field;
/**
diff --git a/src/main/java/com/innowhere/relproxy/impl/jproxy/JProxyConfigImpl.java b/src/main/java/com/sillelien/relproxy/impl/jproxy/JProxyConfigImpl.java
similarity index 88%
rename from src/main/java/com/innowhere/relproxy/impl/jproxy/JProxyConfigImpl.java
rename to src/main/java/com/sillelien/relproxy/impl/jproxy/JProxyConfigImpl.java
index 8dc72f0..cc095a2 100644
--- a/src/main/java/com/innowhere/relproxy/impl/jproxy/JProxyConfigImpl.java
+++ b/src/main/java/com/sillelien/relproxy/impl/jproxy/JProxyConfigImpl.java
@@ -1,13 +1,13 @@
-package com.innowhere.relproxy.impl.jproxy;
+package com.sillelien.relproxy.impl.jproxy;
-import com.innowhere.relproxy.RelProxyException;
-import com.innowhere.relproxy.RelProxyOnReloadListener;
-import com.innowhere.relproxy.impl.GenericProxyConfigBaseImpl;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.FolderSourceList;
-import com.innowhere.relproxy.jproxy.JProxyCompilerListener;
-import com.innowhere.relproxy.jproxy.JProxyConfig;
-import com.innowhere.relproxy.jproxy.JProxyDiagnosticsListener;
-import com.innowhere.relproxy.jproxy.JProxyInputSourceFileExcludedListener;
+import com.sillelien.relproxy.RelProxyException;
+import com.sillelien.relproxy.RelProxyOnReloadListener;
+import com.sillelien.relproxy.impl.GenericProxyConfigBaseImpl;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.FolderSourceList;
+import com.sillelien.relproxy.jproxy.JProxyCompilerListener;
+import com.sillelien.relproxy.jproxy.JProxyConfig;
+import com.sillelien.relproxy.jproxy.JProxyDiagnosticsListener;
+import com.sillelien.relproxy.jproxy.JProxyInputSourceFileExcludedListener;
import java.io.File;
/**
diff --git a/src/main/java/com/innowhere/relproxy/impl/jproxy/JProxyDefaultImpl.java b/src/main/java/com/sillelien/relproxy/impl/jproxy/JProxyDefaultImpl.java
similarity index 92%
rename from src/main/java/com/innowhere/relproxy/impl/jproxy/JProxyDefaultImpl.java
rename to src/main/java/com/sillelien/relproxy/impl/jproxy/JProxyDefaultImpl.java
index 5b9d6d0..92ab460 100644
--- a/src/main/java/com/innowhere/relproxy/impl/jproxy/JProxyDefaultImpl.java
+++ b/src/main/java/com/sillelien/relproxy/impl/jproxy/JProxyDefaultImpl.java
@@ -1,7 +1,7 @@
-package com.innowhere.relproxy.impl.jproxy;
+package com.sillelien.relproxy.impl.jproxy;
-import com.innowhere.relproxy.impl.jproxy.core.JProxyImpl;
-import com.innowhere.relproxy.jproxy.JProxyConfig;
+import com.sillelien.relproxy.impl.jproxy.core.JProxyImpl;
+import com.sillelien.relproxy.jproxy.JProxyConfig;
/**
*
diff --git a/src/main/java/com/innowhere/relproxy/impl/jproxy/JProxyUtil.java b/src/main/java/com/sillelien/relproxy/impl/jproxy/JProxyUtil.java
similarity index 97%
rename from src/main/java/com/innowhere/relproxy/impl/jproxy/JProxyUtil.java
rename to src/main/java/com/sillelien/relproxy/impl/jproxy/JProxyUtil.java
index d8e46e3..b63a961 100644
--- a/src/main/java/com/innowhere/relproxy/impl/jproxy/JProxyUtil.java
+++ b/src/main/java/com/sillelien/relproxy/impl/jproxy/JProxyUtil.java
@@ -1,6 +1,6 @@
-package com.innowhere.relproxy.impl.jproxy;
+package com.sillelien.relproxy.impl.jproxy;
-import com.innowhere.relproxy.RelProxyException;
+import com.sillelien.relproxy.RelProxyException;
import java.io.BufferedReader;
import java.io.ByteArrayOutputStream;
import java.io.File;
diff --git a/src/main/java/com/innowhere/relproxy/impl/jproxy/core/JProxyImpl.java b/src/main/java/com/sillelien/relproxy/impl/jproxy/core/JProxyImpl.java
similarity index 78%
rename from src/main/java/com/innowhere/relproxy/impl/jproxy/core/JProxyImpl.java
rename to src/main/java/com/sillelien/relproxy/impl/jproxy/core/JProxyImpl.java
index b9ea4da..1690794 100644
--- a/src/main/java/com/innowhere/relproxy/impl/jproxy/core/JProxyImpl.java
+++ b/src/main/java/com/sillelien/relproxy/impl/jproxy/core/JProxyImpl.java
@@ -1,15 +1,15 @@
-package com.innowhere.relproxy.impl.jproxy.core;
+package com.sillelien.relproxy.impl.jproxy.core;
-import com.innowhere.relproxy.impl.GenericProxyImpl;
-import com.innowhere.relproxy.impl.GenericProxyInvocationHandler;
-import com.innowhere.relproxy.impl.jproxy.JProxyConfigImpl;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptorSourceScript;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.FolderSourceList;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.JProxyEngine;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.srcunit.SourceScriptRoot;
-import com.innowhere.relproxy.jproxy.JProxyCompilerListener;
-import com.innowhere.relproxy.jproxy.JProxyDiagnosticsListener;
-import com.innowhere.relproxy.jproxy.JProxyInputSourceFileExcludedListener;
+import com.sillelien.relproxy.impl.GenericProxyImpl;
+import com.sillelien.relproxy.impl.GenericProxyInvocationHandler;
+import com.sillelien.relproxy.impl.jproxy.JProxyConfigImpl;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptorSourceScript;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.FolderSourceList;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.JProxyEngine;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.srcunit.SourceScriptRoot;
+import com.sillelien.relproxy.jproxy.JProxyCompilerListener;
+import com.sillelien.relproxy.jproxy.JProxyDiagnosticsListener;
+import com.sillelien.relproxy.jproxy.JProxyInputSourceFileExcludedListener;
/**
*
diff --git a/src/main/java/com/innowhere/relproxy/impl/jproxy/core/JProxyInvocationHandler.java b/src/main/java/com/sillelien/relproxy/impl/jproxy/core/JProxyInvocationHandler.java
similarity index 75%
rename from src/main/java/com/innowhere/relproxy/impl/jproxy/core/JProxyInvocationHandler.java
rename to src/main/java/com/sillelien/relproxy/impl/jproxy/core/JProxyInvocationHandler.java
index ebef741..ef748f4 100644
--- a/src/main/java/com/innowhere/relproxy/impl/jproxy/core/JProxyInvocationHandler.java
+++ b/src/main/java/com/sillelien/relproxy/impl/jproxy/core/JProxyInvocationHandler.java
@@ -1,7 +1,7 @@
-package com.innowhere.relproxy.impl.jproxy.core;
+package com.sillelien.relproxy.impl.jproxy.core;
-import com.innowhere.relproxy.impl.GenericProxyInvocationHandler;
+import com.sillelien.relproxy.impl.GenericProxyInvocationHandler;
/**
*
@@ -20,4 +20,4 @@ public JProxyImpl getJProxyImpl()
return (JProxyImpl)root;
}
-}
\ No newline at end of file
+}
diff --git a/src/main/java/com/innowhere/relproxy/impl/jproxy/core/JProxyVersionedObject.java b/src/main/java/com/sillelien/relproxy/impl/jproxy/core/JProxyVersionedObject.java
similarity index 83%
rename from src/main/java/com/innowhere/relproxy/impl/jproxy/core/JProxyVersionedObject.java
rename to src/main/java/com/sillelien/relproxy/impl/jproxy/core/JProxyVersionedObject.java
index ded542f..bb20998 100644
--- a/src/main/java/com/innowhere/relproxy/impl/jproxy/core/JProxyVersionedObject.java
+++ b/src/main/java/com/sillelien/relproxy/impl/jproxy/core/JProxyVersionedObject.java
@@ -1,7 +1,7 @@
-package com.innowhere.relproxy.impl.jproxy.core;
+package com.sillelien.relproxy.impl.jproxy.core;
-import com.innowhere.relproxy.impl.GenericProxyVersionedObject;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.JProxyEngine;
+import com.sillelien.relproxy.impl.GenericProxyVersionedObject;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.JProxyEngine;
import java.lang.reflect.Field;
/**
@@ -36,4 +36,4 @@ protected boolean ignoreField(Field field)
{
return false; // Todos cuentan (útil en Groovy no en Java)
}
-}
\ No newline at end of file
+}
diff --git a/src/main/java/com/innowhere/relproxy/impl/jproxy/core/clsmgr/FolderSourceList.java b/src/main/java/com/sillelien/relproxy/impl/jproxy/core/clsmgr/FolderSourceList.java
similarity index 95%
rename from src/main/java/com/innowhere/relproxy/impl/jproxy/core/clsmgr/FolderSourceList.java
rename to src/main/java/com/sillelien/relproxy/impl/jproxy/core/clsmgr/FolderSourceList.java
index 248a714..31c7dd7 100644
--- a/src/main/java/com/innowhere/relproxy/impl/jproxy/core/clsmgr/FolderSourceList.java
+++ b/src/main/java/com/sillelien/relproxy/impl/jproxy/core/clsmgr/FolderSourceList.java
@@ -1,7 +1,7 @@
-package com.innowhere.relproxy.impl.jproxy.core.clsmgr;
+package com.sillelien.relproxy.impl.jproxy.core.clsmgr;
-import com.innowhere.relproxy.RelProxyException;
-import com.innowhere.relproxy.impl.FileExt;
+import com.sillelien.relproxy.RelProxyException;
+import com.sillelien.relproxy.impl.FileExt;
import java.io.File;
/**
diff --git a/src/main/java/com/innowhere/relproxy/impl/jproxy/core/clsmgr/JProxyClassLoader.java b/src/main/java/com/sillelien/relproxy/impl/jproxy/core/clsmgr/JProxyClassLoader.java
similarity index 96%
rename from src/main/java/com/innowhere/relproxy/impl/jproxy/core/clsmgr/JProxyClassLoader.java
rename to src/main/java/com/sillelien/relproxy/impl/jproxy/core/clsmgr/JProxyClassLoader.java
index 19c7b33..b27dfb4 100644
--- a/src/main/java/com/innowhere/relproxy/impl/jproxy/core/clsmgr/JProxyClassLoader.java
+++ b/src/main/java/com/sillelien/relproxy/impl/jproxy/core/clsmgr/JProxyClassLoader.java
@@ -1,8 +1,8 @@
-package com.innowhere.relproxy.impl.jproxy.core.clsmgr;
+package com.sillelien.relproxy.impl.jproxy.core.clsmgr;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptorSourceUnit;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptor;
-import com.innowhere.relproxy.impl.jproxy.JProxyUtil;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptorSourceUnit;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptor;
+import com.sillelien.relproxy.impl.jproxy.JProxyUtil;
import java.net.URL;
/**
diff --git a/src/main/java/com/innowhere/relproxy/impl/jproxy/core/clsmgr/JProxyEngine.java b/src/main/java/com/sillelien/relproxy/impl/jproxy/core/clsmgr/JProxyEngine.java
similarity index 94%
rename from src/main/java/com/innowhere/relproxy/impl/jproxy/core/clsmgr/JProxyEngine.java
rename to src/main/java/com/sillelien/relproxy/impl/jproxy/core/clsmgr/JProxyEngine.java
index e662177..61fef71 100644
--- a/src/main/java/com/innowhere/relproxy/impl/jproxy/core/clsmgr/JProxyEngine.java
+++ b/src/main/java/com/sillelien/relproxy/impl/jproxy/core/clsmgr/JProxyEngine.java
@@ -1,15 +1,15 @@
-package com.innowhere.relproxy.impl.jproxy.core.clsmgr;
+package com.sillelien.relproxy.impl.jproxy.core.clsmgr;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.srcunit.SourceScriptRoot;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptorSourceUnit;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptor;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptorSourceFileRegistry;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptorInner;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptorSourceScript;
-import com.innowhere.relproxy.impl.jproxy.core.JProxyImpl;
-import com.innowhere.relproxy.jproxy.JProxyCompilerListener;
-import com.innowhere.relproxy.jproxy.JProxyDiagnosticsListener;
-import com.innowhere.relproxy.jproxy.JProxyInputSourceFileExcludedListener;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.srcunit.SourceScriptRoot;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptorSourceUnit;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptor;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptorSourceFileRegistry;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptorInner;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptorSourceScript;
+import com.sillelien.relproxy.impl.jproxy.core.JProxyImpl;
+import com.sillelien.relproxy.jproxy.JProxyCompilerListener;
+import com.sillelien.relproxy.jproxy.JProxyDiagnosticsListener;
+import com.sillelien.relproxy.jproxy.JProxyInputSourceFileExcludedListener;
import java.util.LinkedList;
import java.util.Timer;
import java.util.TimerTask;
diff --git a/src/main/java/com/innowhere/relproxy/impl/jproxy/core/clsmgr/JProxyEngineChangeDetectorAndCompiler.java b/src/main/java/com/sillelien/relproxy/impl/jproxy/core/clsmgr/JProxyEngineChangeDetectorAndCompiler.java
similarity index 93%
rename from src/main/java/com/innowhere/relproxy/impl/jproxy/core/clsmgr/JProxyEngineChangeDetectorAndCompiler.java
rename to src/main/java/com/sillelien/relproxy/impl/jproxy/core/clsmgr/JProxyEngineChangeDetectorAndCompiler.java
index e58b76b..1cd6537 100644
--- a/src/main/java/com/innowhere/relproxy/impl/jproxy/core/clsmgr/JProxyEngineChangeDetectorAndCompiler.java
+++ b/src/main/java/com/sillelien/relproxy/impl/jproxy/core/clsmgr/JProxyEngineChangeDetectorAndCompiler.java
@@ -1,21 +1,21 @@
-package com.innowhere.relproxy.impl.jproxy.core.clsmgr;
+package com.sillelien.relproxy.impl.jproxy.core.clsmgr;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.srcunit.SourceScriptRootInMemory;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.srcunit.SourceScriptRoot;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.srcunit.SourceUnit;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.srcunit.SourceScriptRootFile;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.srcunit.SourceFileJavaNormal;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptorSourceUnit;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptor;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptorSourceFileRegistry;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptorInner;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptorSourceScript;
-import com.innowhere.relproxy.impl.jproxy.JProxyUtil;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.comp.JProxyCompilerContext;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.comp.JProxyCompilerInMemory;
-import com.innowhere.relproxy.jproxy.JProxyCompilerListener;
-import com.innowhere.relproxy.jproxy.JProxyDiagnosticsListener;
-import com.innowhere.relproxy.jproxy.JProxyInputSourceFileExcludedListener;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.srcunit.SourceScriptRootInMemory;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.srcunit.SourceScriptRoot;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.srcunit.SourceUnit;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.srcunit.SourceScriptRootFile;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.srcunit.SourceFileJavaNormal;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptorSourceUnit;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptor;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptorSourceFileRegistry;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptorInner;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptorSourceScript;
+import com.sillelien.relproxy.impl.jproxy.JProxyUtil;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.comp.JProxyCompilerContext;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.comp.JProxyCompilerInMemory;
+import com.sillelien.relproxy.jproxy.JProxyCompilerListener;
+import com.sillelien.relproxy.jproxy.JProxyDiagnosticsListener;
+import com.sillelien.relproxy.jproxy.JProxyInputSourceFileExcludedListener;
import java.io.File;
import java.util.ArrayList;
import java.util.LinkedList;
diff --git a/src/main/java/com/innowhere/relproxy/impl/jproxy/core/clsmgr/JavaSourcesSearch.java b/src/main/java/com/sillelien/relproxy/impl/jproxy/core/clsmgr/JavaSourcesSearch.java
similarity index 92%
rename from src/main/java/com/innowhere/relproxy/impl/jproxy/core/clsmgr/JavaSourcesSearch.java
rename to src/main/java/com/sillelien/relproxy/impl/jproxy/core/clsmgr/JavaSourcesSearch.java
index d6d8a6a..d680220 100644
--- a/src/main/java/com/innowhere/relproxy/impl/jproxy/core/clsmgr/JavaSourcesSearch.java
+++ b/src/main/java/com/sillelien/relproxy/impl/jproxy/core/clsmgr/JavaSourcesSearch.java
@@ -1,18 +1,18 @@
-package com.innowhere.relproxy.impl.jproxy.core.clsmgr;
+package com.sillelien.relproxy.impl.jproxy.core.clsmgr;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.srcunit.SourceScriptRootFileJavaExt;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.srcunit.SourceScriptRoot;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.srcunit.SourceUnit;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.srcunit.SourceFileJavaNormal;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptorSourceUnit;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptor;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptorSourceFileRegistry;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptorSourceFileJava;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptorSourceScript;
-import com.innowhere.relproxy.RelProxyException;
-import com.innowhere.relproxy.impl.FileExt;
-import com.innowhere.relproxy.impl.jproxy.JProxyUtil;
-import com.innowhere.relproxy.jproxy.JProxyInputSourceFileExcludedListener;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.srcunit.SourceScriptRootFileJavaExt;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.srcunit.SourceScriptRoot;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.srcunit.SourceUnit;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.srcunit.SourceFileJavaNormal;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptorSourceUnit;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptor;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptorSourceFileRegistry;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptorSourceFileJava;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptorSourceScript;
+import com.sillelien.relproxy.RelProxyException;
+import com.sillelien.relproxy.impl.FileExt;
+import com.sillelien.relproxy.impl.jproxy.JProxyUtil;
+import com.sillelien.relproxy.jproxy.JProxyInputSourceFileExcludedListener;
import java.io.File;
import java.net.URL;
import java.util.LinkedList;
diff --git a/src/main/java/com/innowhere/relproxy/impl/jproxy/core/clsmgr/cldesc/ClassDescriptor.java b/src/main/java/com/sillelien/relproxy/impl/jproxy/core/clsmgr/cldesc/ClassDescriptor.java
similarity index 98%
rename from src/main/java/com/innowhere/relproxy/impl/jproxy/core/clsmgr/cldesc/ClassDescriptor.java
rename to src/main/java/com/sillelien/relproxy/impl/jproxy/core/clsmgr/cldesc/ClassDescriptor.java
index 11c443d..659a846 100644
--- a/src/main/java/com/innowhere/relproxy/impl/jproxy/core/clsmgr/cldesc/ClassDescriptor.java
+++ b/src/main/java/com/sillelien/relproxy/impl/jproxy/core/clsmgr/cldesc/ClassDescriptor.java
@@ -1,4 +1,4 @@
-package com.innowhere.relproxy.impl.jproxy.core.clsmgr.cldesc;
+package com.sillelien.relproxy.impl.jproxy.core.clsmgr.cldesc;
import java.io.File;
diff --git a/src/main/java/com/innowhere/relproxy/impl/jproxy/core/clsmgr/cldesc/ClassDescriptorInner.java b/src/main/java/com/sillelien/relproxy/impl/jproxy/core/clsmgr/cldesc/ClassDescriptorInner.java
similarity index 89%
rename from src/main/java/com/innowhere/relproxy/impl/jproxy/core/clsmgr/cldesc/ClassDescriptorInner.java
rename to src/main/java/com/sillelien/relproxy/impl/jproxy/core/clsmgr/cldesc/ClassDescriptorInner.java
index d78d72b..30d5f23 100644
--- a/src/main/java/com/innowhere/relproxy/impl/jproxy/core/clsmgr/cldesc/ClassDescriptorInner.java
+++ b/src/main/java/com/sillelien/relproxy/impl/jproxy/core/clsmgr/cldesc/ClassDescriptorInner.java
@@ -1,4 +1,4 @@
-package com.innowhere.relproxy.impl.jproxy.core.clsmgr.cldesc;
+package com.sillelien.relproxy.impl.jproxy.core.clsmgr.cldesc;
/**
*
diff --git a/src/main/java/com/innowhere/relproxy/impl/jproxy/core/clsmgr/cldesc/ClassDescriptorSourceFileJava.java b/src/main/java/com/sillelien/relproxy/impl/jproxy/core/clsmgr/cldesc/ClassDescriptorSourceFileJava.java
similarity index 70%
rename from src/main/java/com/innowhere/relproxy/impl/jproxy/core/clsmgr/cldesc/ClassDescriptorSourceFileJava.java
rename to src/main/java/com/sillelien/relproxy/impl/jproxy/core/clsmgr/cldesc/ClassDescriptorSourceFileJava.java
index 0586c19..3fe12c8 100644
--- a/src/main/java/com/innowhere/relproxy/impl/jproxy/core/clsmgr/cldesc/ClassDescriptorSourceFileJava.java
+++ b/src/main/java/com/sillelien/relproxy/impl/jproxy/core/clsmgr/cldesc/ClassDescriptorSourceFileJava.java
@@ -1,8 +1,8 @@
-package com.innowhere.relproxy.impl.jproxy.core.clsmgr.cldesc;
+package com.sillelien.relproxy.impl.jproxy.core.clsmgr.cldesc;
-import com.innowhere.relproxy.impl.FileExt;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.JProxyEngine;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.srcunit.SourceFileJavaNormal;
+import com.sillelien.relproxy.impl.FileExt;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.JProxyEngine;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.srcunit.SourceFileJavaNormal;
/**
*
diff --git a/src/main/java/com/innowhere/relproxy/impl/jproxy/core/clsmgr/cldesc/ClassDescriptorSourceFileRegistry.java b/src/main/java/com/sillelien/relproxy/impl/jproxy/core/clsmgr/cldesc/ClassDescriptorSourceFileRegistry.java
similarity index 98%
rename from src/main/java/com/innowhere/relproxy/impl/jproxy/core/clsmgr/cldesc/ClassDescriptorSourceFileRegistry.java
rename to src/main/java/com/sillelien/relproxy/impl/jproxy/core/clsmgr/cldesc/ClassDescriptorSourceFileRegistry.java
index ba2e1d7..6728995 100644
--- a/src/main/java/com/innowhere/relproxy/impl/jproxy/core/clsmgr/cldesc/ClassDescriptorSourceFileRegistry.java
+++ b/src/main/java/com/sillelien/relproxy/impl/jproxy/core/clsmgr/cldesc/ClassDescriptorSourceFileRegistry.java
@@ -1,4 +1,4 @@
-package com.innowhere.relproxy.impl.jproxy.core.clsmgr.cldesc;
+package com.sillelien.relproxy.impl.jproxy.core.clsmgr.cldesc;
import java.util.Collection;
import java.util.HashMap;
diff --git a/src/main/java/com/innowhere/relproxy/impl/jproxy/core/clsmgr/cldesc/ClassDescriptorSourceScript.java b/src/main/java/com/sillelien/relproxy/impl/jproxy/core/clsmgr/cldesc/ClassDescriptorSourceScript.java
similarity index 96%
rename from src/main/java/com/innowhere/relproxy/impl/jproxy/core/clsmgr/cldesc/ClassDescriptorSourceScript.java
rename to src/main/java/com/sillelien/relproxy/impl/jproxy/core/clsmgr/cldesc/ClassDescriptorSourceScript.java
index 780c575..2a69b59 100644
--- a/src/main/java/com/innowhere/relproxy/impl/jproxy/core/clsmgr/cldesc/ClassDescriptorSourceScript.java
+++ b/src/main/java/com/sillelien/relproxy/impl/jproxy/core/clsmgr/cldesc/ClassDescriptorSourceScript.java
@@ -1,9 +1,9 @@
-package com.innowhere.relproxy.impl.jproxy.core.clsmgr.cldesc;
+package com.sillelien.relproxy.impl.jproxy.core.clsmgr.cldesc;
-import com.innowhere.relproxy.RelProxyException;
-import com.innowhere.relproxy.impl.jproxy.core.JProxyImpl;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.JProxyEngine;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.srcunit.SourceScriptRoot;
+import com.sillelien.relproxy.RelProxyException;
+import com.sillelien.relproxy.impl.jproxy.core.JProxyImpl;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.JProxyEngine;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.srcunit.SourceScriptRoot;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.LinkedList;
diff --git a/src/main/java/com/innowhere/relproxy/impl/jproxy/core/clsmgr/cldesc/ClassDescriptorSourceUnit.java b/src/main/java/com/sillelien/relproxy/impl/jproxy/core/clsmgr/cldesc/ClassDescriptorSourceUnit.java
similarity index 92%
rename from src/main/java/com/innowhere/relproxy/impl/jproxy/core/clsmgr/cldesc/ClassDescriptorSourceUnit.java
rename to src/main/java/com/sillelien/relproxy/impl/jproxy/core/clsmgr/cldesc/ClassDescriptorSourceUnit.java
index 3e2c858..931378f 100644
--- a/src/main/java/com/innowhere/relproxy/impl/jproxy/core/clsmgr/cldesc/ClassDescriptorSourceUnit.java
+++ b/src/main/java/com/sillelien/relproxy/impl/jproxy/core/clsmgr/cldesc/ClassDescriptorSourceUnit.java
@@ -1,9 +1,9 @@
-package com.innowhere.relproxy.impl.jproxy.core.clsmgr.cldesc;
+package com.sillelien.relproxy.impl.jproxy.core.clsmgr.cldesc;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.JProxyEngine;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.srcunit.SourceFileJavaNormal;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.srcunit.SourceScriptRoot;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.srcunit.SourceUnit;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.JProxyEngine;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.srcunit.SourceFileJavaNormal;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.srcunit.SourceScriptRoot;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.srcunit.SourceUnit;
import java.util.LinkedList;
/**
diff --git a/src/main/java/com/innowhere/relproxy/impl/jproxy/core/clsmgr/comp/JProxyCompilationException.java b/src/main/java/com/sillelien/relproxy/impl/jproxy/core/clsmgr/comp/JProxyCompilationException.java
similarity index 72%
rename from src/main/java/com/innowhere/relproxy/impl/jproxy/core/clsmgr/comp/JProxyCompilationException.java
rename to src/main/java/com/sillelien/relproxy/impl/jproxy/core/clsmgr/comp/JProxyCompilationException.java
index 7bf171a..90c2d23 100644
--- a/src/main/java/com/innowhere/relproxy/impl/jproxy/core/clsmgr/comp/JProxyCompilationException.java
+++ b/src/main/java/com/sillelien/relproxy/impl/jproxy/core/clsmgr/comp/JProxyCompilationException.java
@@ -1,8 +1,8 @@
-package com.innowhere.relproxy.impl.jproxy.core.clsmgr.comp;
+package com.sillelien.relproxy.impl.jproxy.core.clsmgr.comp;
-import com.innowhere.relproxy.RelProxyException;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptorSourceUnit;
+import com.sillelien.relproxy.RelProxyException;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptorSourceUnit;
/**
*
diff --git a/src/main/java/com/innowhere/relproxy/impl/jproxy/core/clsmgr/comp/JProxyCompilerContext.java b/src/main/java/com/sillelien/relproxy/impl/jproxy/core/clsmgr/comp/JProxyCompilerContext.java
similarity index 93%
rename from src/main/java/com/innowhere/relproxy/impl/jproxy/core/clsmgr/comp/JProxyCompilerContext.java
rename to src/main/java/com/sillelien/relproxy/impl/jproxy/core/clsmgr/comp/JProxyCompilerContext.java
index ab483ec..9b9d9b3 100644
--- a/src/main/java/com/innowhere/relproxy/impl/jproxy/core/clsmgr/comp/JProxyCompilerContext.java
+++ b/src/main/java/com/sillelien/relproxy/impl/jproxy/core/clsmgr/comp/JProxyCompilerContext.java
@@ -1,7 +1,7 @@
-package com.innowhere.relproxy.impl.jproxy.core.clsmgr.comp;
+package com.sillelien.relproxy.impl.jproxy.core.clsmgr.comp;
-import com.innowhere.relproxy.RelProxyException;
-import com.innowhere.relproxy.jproxy.JProxyDiagnosticsListener;
+import com.sillelien.relproxy.RelProxyException;
+import com.sillelien.relproxy.jproxy.JProxyDiagnosticsListener;
import java.io.IOException;
import java.util.List;
import javax.tools.Diagnostic;
diff --git a/src/main/java/com/innowhere/relproxy/impl/jproxy/core/clsmgr/comp/JProxyCompilerInMemory.java b/src/main/java/com/sillelien/relproxy/impl/jproxy/core/clsmgr/comp/JProxyCompilerInMemory.java
similarity index 92%
rename from src/main/java/com/innowhere/relproxy/impl/jproxy/core/clsmgr/comp/JProxyCompilerInMemory.java
rename to src/main/java/com/sillelien/relproxy/impl/jproxy/core/clsmgr/comp/JProxyCompilerInMemory.java
index b00df77..90a3946 100644
--- a/src/main/java/com/innowhere/relproxy/impl/jproxy/core/clsmgr/comp/JProxyCompilerInMemory.java
+++ b/src/main/java/com/sillelien/relproxy/impl/jproxy/core/clsmgr/comp/JProxyCompilerInMemory.java
@@ -1,17 +1,17 @@
-package com.innowhere.relproxy.impl.jproxy.core.clsmgr.comp;
+package com.sillelien.relproxy.impl.jproxy.core.clsmgr.comp;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.comp.jfo.JavaFileObjectInputSourceInMemory;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.comp.jfo.JavaFileObjectOutputClass;
-import com.innowhere.relproxy.RelProxyException;
-import com.innowhere.relproxy.impl.FileExt;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptor;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptorInner;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptorSourceUnit;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptorSourceFileJava;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptorSourceFileRegistry;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptorSourceScript;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.JProxyEngineChangeDetectorAndCompiler;
-import com.innowhere.relproxy.jproxy.JProxyDiagnosticsListener;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.comp.jfo.JavaFileObjectInputSourceInMemory;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.comp.jfo.JavaFileObjectOutputClass;
+import com.sillelien.relproxy.RelProxyException;
+import com.sillelien.relproxy.impl.FileExt;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptor;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptorInner;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptorSourceUnit;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptorSourceFileJava;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptorSourceFileRegistry;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptorSourceScript;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.JProxyEngineChangeDetectorAndCompiler;
+import com.sillelien.relproxy.jproxy.JProxyDiagnosticsListener;
import java.io.File;
import java.util.ArrayList;
import java.util.LinkedList;
diff --git a/src/main/java/com/innowhere/relproxy/impl/jproxy/core/clsmgr/comp/JavaFileManagerInMemory.java b/src/main/java/com/sillelien/relproxy/impl/jproxy/core/clsmgr/comp/JavaFileManagerInMemory.java
similarity index 92%
rename from src/main/java/com/innowhere/relproxy/impl/jproxy/core/clsmgr/comp/JavaFileManagerInMemory.java
rename to src/main/java/com/sillelien/relproxy/impl/jproxy/core/clsmgr/comp/JavaFileManagerInMemory.java
index d1f39bd..46c6e43 100644
--- a/src/main/java/com/innowhere/relproxy/impl/jproxy/core/clsmgr/comp/JavaFileManagerInMemory.java
+++ b/src/main/java/com/sillelien/relproxy/impl/jproxy/core/clsmgr/comp/JavaFileManagerInMemory.java
@@ -1,12 +1,12 @@
-package com.innowhere.relproxy.impl.jproxy.core.clsmgr.comp;
+package com.sillelien.relproxy.impl.jproxy.core.clsmgr.comp;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.comp.jfo.JProxyJavaFileObjectInput;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.comp.jfo.JavaFileObjectInputClassInMemory;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.comp.jfo.JavaFileObjectInputClassInFileSystem;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.comp.jfo.JavaFileObjectOutputClass;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptorSourceUnit;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptorSourceFileRegistry;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.FolderSourceList;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.comp.jfo.JProxyJavaFileObjectInput;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.comp.jfo.JavaFileObjectInputClassInMemory;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.comp.jfo.JavaFileObjectInputClassInFileSystem;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.comp.jfo.JavaFileObjectOutputClass;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptorSourceUnit;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptorSourceFileRegistry;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.FolderSourceList;
import java.io.IOException;
import java.util.Collection;
import java.util.Collections;
@@ -126,4 +126,4 @@ public String inferBinaryName(Location location, JavaFileObject file)
return super.inferBinaryName(location, file);
}
-}
\ No newline at end of file
+}
diff --git a/src/main/java/com/innowhere/relproxy/impl/jproxy/core/clsmgr/comp/JavaFileObjectInputClassFinderByClassLoader.java b/src/main/java/com/sillelien/relproxy/impl/jproxy/core/clsmgr/comp/JavaFileObjectInputClassFinderByClassLoader.java
similarity index 95%
rename from src/main/java/com/innowhere/relproxy/impl/jproxy/core/clsmgr/comp/JavaFileObjectInputClassFinderByClassLoader.java
rename to src/main/java/com/sillelien/relproxy/impl/jproxy/core/clsmgr/comp/JavaFileObjectInputClassFinderByClassLoader.java
index fab17f4..e88c91e 100644
--- a/src/main/java/com/innowhere/relproxy/impl/jproxy/core/clsmgr/comp/JavaFileObjectInputClassFinderByClassLoader.java
+++ b/src/main/java/com/sillelien/relproxy/impl/jproxy/core/clsmgr/comp/JavaFileObjectInputClassFinderByClassLoader.java
@@ -1,12 +1,12 @@
-package com.innowhere.relproxy.impl.jproxy.core.clsmgr.comp;
-
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.comp.jfo.JavaFileObjectInputClassInFile;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.comp.jfo.JavaFileObjectInputClassInFileSystem;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.comp.jfo.JavaFileObjectInputClassInJar;
-import com.innowhere.relproxy.RelProxyException;
-import com.innowhere.relproxy.impl.FileExt;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptor;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.FolderSourceList;
+package com.sillelien.relproxy.impl.jproxy.core.clsmgr.comp;
+
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.comp.jfo.JavaFileObjectInputClassInFile;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.comp.jfo.JavaFileObjectInputClassInFileSystem;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.comp.jfo.JavaFileObjectInputClassInJar;
+import com.sillelien.relproxy.RelProxyException;
+import com.sillelien.relproxy.impl.FileExt;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptor;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.FolderSourceList;
import java.io.File;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
@@ -211,4 +211,4 @@ private void listUnderJarCustom(String packagePath,FileExt jarFile,CollectionJProxy and {@link JProxyScriptEngineFactory}.
diff --git a/src/main/java/com/innowhere/relproxy/jproxy/JProxyDiagnosticsListener.java b/src/main/java/com/sillelien/relproxy/jproxy/JProxyDiagnosticsListener.java
similarity index 93%
rename from src/main/java/com/innowhere/relproxy/jproxy/JProxyDiagnosticsListener.java
rename to src/main/java/com/sillelien/relproxy/jproxy/JProxyDiagnosticsListener.java
index bfc6663..563ebf5 100644
--- a/src/main/java/com/innowhere/relproxy/jproxy/JProxyDiagnosticsListener.java
+++ b/src/main/java/com/sillelien/relproxy/jproxy/JProxyDiagnosticsListener.java
@@ -1,4 +1,4 @@
-package com.innowhere.relproxy.jproxy;
+package com.sillelien.relproxy.jproxy;
import javax.tools.DiagnosticCollector;
import javax.tools.JavaFileObject;
diff --git a/src/main/java/com/innowhere/relproxy/jproxy/JProxyInputSourceFileExcludedListener.java b/src/main/java/com/sillelien/relproxy/jproxy/JProxyInputSourceFileExcludedListener.java
similarity index 95%
rename from src/main/java/com/innowhere/relproxy/jproxy/JProxyInputSourceFileExcludedListener.java
rename to src/main/java/com/sillelien/relproxy/jproxy/JProxyInputSourceFileExcludedListener.java
index 2602645..0fb92d4 100644
--- a/src/main/java/com/innowhere/relproxy/jproxy/JProxyInputSourceFileExcludedListener.java
+++ b/src/main/java/com/sillelien/relproxy/jproxy/JProxyInputSourceFileExcludedListener.java
@@ -1,4 +1,4 @@
-package com.innowhere.relproxy.jproxy;
+package com.sillelien.relproxy.jproxy;
import java.io.File;
diff --git a/src/main/java/com/innowhere/relproxy/jproxy/JProxyScriptEngine.java b/src/main/java/com/sillelien/relproxy/jproxy/JProxyScriptEngine.java
similarity index 98%
rename from src/main/java/com/innowhere/relproxy/jproxy/JProxyScriptEngine.java
rename to src/main/java/com/sillelien/relproxy/jproxy/JProxyScriptEngine.java
index 10a5ef7..3fd5806 100644
--- a/src/main/java/com/innowhere/relproxy/jproxy/JProxyScriptEngine.java
+++ b/src/main/java/com/sillelien/relproxy/jproxy/JProxyScriptEngine.java
@@ -1,4 +1,4 @@
-package com.innowhere.relproxy.jproxy;
+package com.sillelien.relproxy.jproxy;
import javax.script.ScriptEngine;
diff --git a/src/main/java/com/innowhere/relproxy/jproxy/JProxyScriptEngineFactory.java b/src/main/java/com/sillelien/relproxy/jproxy/JProxyScriptEngineFactory.java
similarity index 84%
rename from src/main/java/com/innowhere/relproxy/jproxy/JProxyScriptEngineFactory.java
rename to src/main/java/com/sillelien/relproxy/jproxy/JProxyScriptEngineFactory.java
index 434aad9..036f218 100644
--- a/src/main/java/com/innowhere/relproxy/jproxy/JProxyScriptEngineFactory.java
+++ b/src/main/java/com/sillelien/relproxy/jproxy/JProxyScriptEngineFactory.java
@@ -1,6 +1,6 @@
-package com.innowhere.relproxy.jproxy;
+package com.sillelien.relproxy.jproxy;
-import com.innowhere.relproxy.impl.jproxy.screngine.JProxyScriptEngineFactoryImpl;
+import com.sillelien.relproxy.impl.jproxy.screngine.JProxyScriptEngineFactoryImpl;
import javax.script.ScriptEngineFactory;
/**
diff --git a/src/main/java/com/innowhere/relproxy/jproxy/JProxyShell.java b/src/main/java/com/sillelien/relproxy/jproxy/JProxyShell.java
similarity index 83%
rename from src/main/java/com/innowhere/relproxy/jproxy/JProxyShell.java
rename to src/main/java/com/sillelien/relproxy/jproxy/JProxyShell.java
index baa3a66..d0e1024 100644
--- a/src/main/java/com/innowhere/relproxy/jproxy/JProxyShell.java
+++ b/src/main/java/com/sillelien/relproxy/jproxy/JProxyShell.java
@@ -1,6 +1,6 @@
-package com.innowhere.relproxy.jproxy;
+package com.sillelien.relproxy.jproxy;
-import com.innowhere.relproxy.impl.jproxy.shell.JProxyShellImpl;
+import com.sillelien.relproxy.impl.jproxy.shell.JProxyShellImpl;
/**
* Is the main class to execute shell scripting based on Java.
diff --git a/src/main/java/com/innowhere/relproxy/jproxy/package.html b/src/main/java/com/sillelien/relproxy/jproxy/package.html
similarity index 100%
rename from src/main/java/com/innowhere/relproxy/jproxy/package.html
rename to src/main/java/com/sillelien/relproxy/jproxy/package.html
diff --git a/src/main/java/com/innowhere/relproxy/package.html b/src/main/java/com/sillelien/relproxy/package.html
similarity index 100%
rename from src/main/java/com/innowhere/relproxy/package.html
rename to src/main/java/com/sillelien/relproxy/package.html
From 9a870a471ac0fac5d9bcbab3ed760e3930528110 Mon Sep 17 00:00:00 2001
From: Neil Ellis
Date: Fri, 7 Jul 2017 16:05:24 +0100
Subject: [PATCH 006/135] Create README.md
---
README.md | 2 ++
1 file changed, 2 insertions(+)
create mode 100644 README.md
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..3681ee6
--- /dev/null
+++ b/README.md
@@ -0,0 +1,2 @@
+# relproxy
+Simple Java and Groovy hot class reloader and Java based shell and scripting
From 894505520d5956c9efbc3694834d88149b123258 Mon Sep 17 00:00:00 2001
From: neilellis
Date: Fri, 7 Jul 2017 16:03:53 +0100
Subject: [PATCH 007/135] Refactoring for Dollar project
---
pom.xml | 71 ++++++++++++++++---
relproxy/pom.xml | 2 +-
relproxy/src/main/asciidoc/manual.asciidoc | 56 +++++++--------
.../JProxyCodeSnippetCompleteClassTest.java | 2 +-
.../jproxy/JProxyCodeSnippetTest.java | 2 +-
.../JProxyJavaScriptEngineNoManagerTest.java | 8 +--
.../jproxy/JProxyJavaScriptEngineTest.java | 8 +--
.../JProxyJavaShellCompleteClassTest.java | 4 +-
.../JProxyJavaShellInteractiveTest.java | 2 +-
.../JProxyJavaShellNormalClassTest.java | 4 +-
.../relproxy/jproxy/JProxyJavaShellTest.java | 7 +-
.../relproxy/jproxy/util/JProxyTestUtil.java | 4 +-
.../javashellex/JProxyShellExample.java | 2 +-
.../example/groovyex/ItsNatGroovyServlet.java | 6 +-
.../example/javaex/JProxyExampleServlet.java | 2 +-
.../javaex/JProxyServletContextListener.java | 21 +++---
.../groovyex/groovy_servlet_init.groovy | 12 ++--
.../example/javaex/JProxyExampleDocument.java | 3 +-
.../relproxy/RelProxy.java | 2 +-
.../relproxy/RelProxyException.java | 2 +-
.../relproxy/RelProxyOnReloadListener.java | 6 +-
.../relproxy/gproxy/GProxy.java | 6 +-
.../relproxy/gproxy/GProxyConfig.java | 4 +-
.../gproxy/GProxyGroovyScriptEngine.java | 2 +-
.../relproxy/gproxy/package.html | 0
.../relproxy/impl/FileExt.java | 4 +-
.../impl/GenericProxyConfigBaseImpl.java | 4 +-
.../relproxy/impl/GenericProxyImpl.java | 6 +-
.../impl/GenericProxyInvocationHandler.java | 4 +-
.../impl/GenericProxyVersionedObject.java | 6 +-
.../impl/gproxy/GProxyConfigImpl.java | 10 +--
.../impl/gproxy/GProxyDefaultImpl.java | 6 +-
.../relproxy/impl/gproxy/core/GProxyImpl.java | 10 +--
.../gproxy/core/GProxyInvocationHandler.java | 6 +-
.../gproxy/core/GProxyVersionedObject.java | 6 +-
.../impl/jproxy/JProxyConfigImpl.java | 18 ++---
.../impl/jproxy/JProxyDefaultImpl.java | 6 +-
.../relproxy/impl/jproxy/JProxyUtil.java | 4 +-
.../relproxy/impl/jproxy/core/JProxyImpl.java | 22 +++---
.../jproxy/core/JProxyInvocationHandler.java | 6 +-
.../jproxy/core/JProxyVersionedObject.java | 8 +--
.../jproxy/core/clsmgr/FolderSourceList.java | 6 +-
.../jproxy/core/clsmgr/JProxyClassLoader.java | 8 +--
.../impl/jproxy/core/clsmgr/JProxyEngine.java | 22 +++---
...JProxyEngineChangeDetectorAndCompiler.java | 34 ++++-----
.../jproxy/core/clsmgr/JavaSourcesSearch.java | 28 ++++----
.../core/clsmgr/cldesc/ClassDescriptor.java | 2 +-
.../clsmgr/cldesc/ClassDescriptorInner.java | 2 +-
.../cldesc/ClassDescriptorSourceFileJava.java | 8 +--
.../ClassDescriptorSourceFileRegistry.java | 2 +-
.../cldesc/ClassDescriptorSourceScript.java | 10 +--
.../cldesc/ClassDescriptorSourceUnit.java | 10 +--
.../comp/JProxyCompilationException.java | 6 +-
.../clsmgr/comp/JProxyCompilerContext.java | 6 +-
.../clsmgr/comp/JProxyCompilerInMemory.java | 26 +++----
.../clsmgr/comp/JavaFileManagerInMemory.java | 18 ++---
...leObjectInputClassFinderByClassLoader.java | 20 +++---
.../comp/jfo/JProxyJavaFileObjectInput.java | 2 +-
.../jfo/JavaFileObjectInputClassInFile.java | 5 +-
.../JavaFileObjectInputClassInFileSystem.java | 2 +-
.../jfo/JavaFileObjectInputClassInJar.java | 4 +-
.../jfo/JavaFileObjectInputClassInMemory.java | 2 +-
.../jfo/JavaFileObjectInputSourceBase.java | 4 +-
.../jfo/JavaFileObjectInputSourceInFile.java | 4 +-
.../JavaFileObjectInputSourceInMemory.java | 2 +-
.../comp/jfo/JavaFileObjectOutputClass.java | 4 +-
.../clsmgr/srcunit/SourceFileJavaNormal.java | 4 +-
.../core/clsmgr/srcunit/SourceScriptRoot.java | 2 +-
.../clsmgr/srcunit/SourceScriptRootFile.java | 8 +--
.../srcunit/SourceScriptRootFileJavaExt.java | 8 +--
.../srcunit/SourceScriptRootFileOtherExt.java | 8 +--
.../srcunit/SourceScriptRootInMemory.java | 2 +-
.../core/clsmgr/srcunit/SourceUnit.java | 6 +-
.../impl/jproxy/screngine/BindingsImpl.java | 2 +-
.../JProxyScriptEngineDelegateImpl.java | 20 +++---
.../JProxyScriptEngineFactoryImpl.java | 6 +-
.../screngine/JProxyScriptEngineImpl.java | 14 ++--
.../jproxy/shell/JProxyShellClassLoader.java | 6 +-
.../shell/JProxyShellCodeSnippetImpl.java | 14 ++--
.../impl/jproxy/shell/JProxyShellImpl.java | 18 ++---
.../shell/JProxyShellInteractiveImpl.java | 16 ++---
.../shell/JProxyShellScriptFileImpl.java | 18 ++---
.../impl/jproxy/shell/inter/Command.java | 2 +-
.../shell/inter/CommandCodeChangerBase.java | 2 +-
.../jproxy/shell/inter/CommandDelete.java | 2 +-
.../impl/jproxy/shell/inter/CommandEdit.java | 2 +-
.../impl/jproxy/shell/inter/CommandError.java | 2 +-
.../jproxy/shell/inter/CommandInsert.java | 2 +-
.../impl/jproxy/shell/inter/CommandLoad.java | 4 +-
.../impl/jproxy/shell/inter/CommandOther.java | 4 +-
.../impl/jproxy/shell/inter/CommandSave.java | 4 +-
.../shell/inter/JProxyShellProcessor.java | 14 ++--
.../impl/jproxy/shell/inter/Keyboard.java | 2 +-
.../inter/KeyboardNotUsingClipboard.java | 4 +-
.../shell/inter/KeyboardUsingClipboard.java | 4 +-
.../shell/inter/LinuxUnicodeKeyboard.java | 4 +-
.../shell/inter/MacOSXUnicodeKeyboard.java | 4 +-
.../shell/inter/WindowUnicodeKeyboard.java | 4 +-
.../relproxy/jproxy/JProxy.java | 6 +-
.../jproxy/JProxyCompilerListener.java | 2 +-
.../relproxy/jproxy/JProxyConfig.java | 4 +-
.../jproxy/JProxyDiagnosticsListener.java | 2 +-
...JProxyInputSourceFileExcludedListener.java | 2 +-
.../relproxy/jproxy/JProxyScriptEngine.java | 2 +-
.../jproxy/JProxyScriptEngineFactory.java | 4 +-
.../relproxy/jproxy/JProxyShell.java | 4 +-
.../relproxy/jproxy/package.html | 0
.../relproxy/package.html | 0
108 files changed, 442 insertions(+), 397 deletions(-)
rename src/main/java/com/{innowhere => sillelien}/relproxy/RelProxy.java (90%)
rename src/main/java/com/{innowhere => sillelien}/relproxy/RelProxyException.java (97%)
rename src/main/java/com/{innowhere => sillelien}/relproxy/RelProxyOnReloadListener.java (79%)
rename src/main/java/com/{innowhere => sillelien}/relproxy/gproxy/GProxy.java (94%)
rename src/main/java/com/{innowhere => sillelien}/relproxy/gproxy/GProxyConfig.java (94%)
rename src/main/java/com/{innowhere => sillelien}/relproxy/gproxy/GProxyGroovyScriptEngine.java (97%)
rename src/main/java/com/{innowhere => sillelien}/relproxy/gproxy/package.html (100%)
rename src/main/java/com/{innowhere => sillelien}/relproxy/impl/FileExt.java (89%)
rename src/main/java/com/{innowhere => sillelien}/relproxy/impl/GenericProxyConfigBaseImpl.java (78%)
rename src/main/java/com/{innowhere => sillelien}/relproxy/impl/GenericProxyImpl.java (91%)
rename src/main/java/com/{innowhere => sillelien}/relproxy/impl/GenericProxyInvocationHandler.java (96%)
rename src/main/java/com/{innowhere => sillelien}/relproxy/impl/GenericProxyVersionedObject.java (97%)
rename src/main/java/com/{innowhere => sillelien}/relproxy/impl/gproxy/GProxyConfigImpl.java (72%)
rename src/main/java/com/{innowhere => sillelien}/relproxy/impl/gproxy/GProxyDefaultImpl.java (86%)
rename src/main/java/com/{innowhere => sillelien}/relproxy/impl/gproxy/core/GProxyImpl.java (68%)
rename src/main/java/com/{innowhere => sillelien}/relproxy/impl/gproxy/core/GProxyInvocationHandler.java (75%)
rename src/main/java/com/{innowhere => sillelien}/relproxy/impl/gproxy/core/GProxyVersionedObject.java (87%)
rename src/main/java/com/{innowhere => sillelien}/relproxy/impl/jproxy/JProxyConfigImpl.java (88%)
rename src/main/java/com/{innowhere => sillelien}/relproxy/impl/jproxy/JProxyDefaultImpl.java (92%)
rename src/main/java/com/{innowhere => sillelien}/relproxy/impl/jproxy/JProxyUtil.java (97%)
rename src/main/java/com/{innowhere => sillelien}/relproxy/impl/jproxy/core/JProxyImpl.java (78%)
rename src/main/java/com/{innowhere => sillelien}/relproxy/impl/jproxy/core/JProxyInvocationHandler.java (75%)
rename src/main/java/com/{innowhere => sillelien}/relproxy/impl/jproxy/core/JProxyVersionedObject.java (83%)
rename src/main/java/com/{innowhere => sillelien}/relproxy/impl/jproxy/core/clsmgr/FolderSourceList.java (95%)
rename src/main/java/com/{innowhere => sillelien}/relproxy/impl/jproxy/core/clsmgr/JProxyClassLoader.java (96%)
rename src/main/java/com/{innowhere => sillelien}/relproxy/impl/jproxy/core/clsmgr/JProxyEngine.java (94%)
rename src/main/java/com/{innowhere => sillelien}/relproxy/impl/jproxy/core/clsmgr/JProxyEngineChangeDetectorAndCompiler.java (93%)
rename src/main/java/com/{innowhere => sillelien}/relproxy/impl/jproxy/core/clsmgr/JavaSourcesSearch.java (92%)
rename src/main/java/com/{innowhere => sillelien}/relproxy/impl/jproxy/core/clsmgr/cldesc/ClassDescriptor.java (98%)
rename src/main/java/com/{innowhere => sillelien}/relproxy/impl/jproxy/core/clsmgr/cldesc/ClassDescriptorInner.java (89%)
rename src/main/java/com/{innowhere => sillelien}/relproxy/impl/jproxy/core/clsmgr/cldesc/ClassDescriptorSourceFileJava.java (70%)
rename src/main/java/com/{innowhere => sillelien}/relproxy/impl/jproxy/core/clsmgr/cldesc/ClassDescriptorSourceFileRegistry.java (98%)
rename src/main/java/com/{innowhere => sillelien}/relproxy/impl/jproxy/core/clsmgr/cldesc/ClassDescriptorSourceScript.java (96%)
rename src/main/java/com/{innowhere => sillelien}/relproxy/impl/jproxy/core/clsmgr/cldesc/ClassDescriptorSourceUnit.java (92%)
rename src/main/java/com/{innowhere => sillelien}/relproxy/impl/jproxy/core/clsmgr/comp/JProxyCompilationException.java (72%)
rename src/main/java/com/{innowhere => sillelien}/relproxy/impl/jproxy/core/clsmgr/comp/JProxyCompilerContext.java (93%)
rename src/main/java/com/{innowhere => sillelien}/relproxy/impl/jproxy/core/clsmgr/comp/JProxyCompilerInMemory.java (92%)
rename src/main/java/com/{innowhere => sillelien}/relproxy/impl/jproxy/core/clsmgr/comp/JavaFileManagerInMemory.java (92%)
rename src/main/java/com/{innowhere => sillelien}/relproxy/impl/jproxy/core/clsmgr/comp/JavaFileObjectInputClassFinderByClassLoader.java (95%)
rename src/main/java/com/{innowhere => sillelien}/relproxy/impl/jproxy/core/clsmgr/comp/jfo/JProxyJavaFileObjectInput.java (64%)
rename src/main/java/com/{innowhere => sillelien}/relproxy/impl/jproxy/core/clsmgr/comp/jfo/JavaFileObjectInputClassInFile.java (85%)
rename src/main/java/com/{innowhere => sillelien}/relproxy/impl/jproxy/core/clsmgr/comp/jfo/JavaFileObjectInputClassInFileSystem.java (97%)
rename src/main/java/com/{innowhere => sillelien}/relproxy/impl/jproxy/core/clsmgr/comp/jfo/JavaFileObjectInputClassInJar.java (92%)
rename src/main/java/com/{innowhere => sillelien}/relproxy/impl/jproxy/core/clsmgr/comp/jfo/JavaFileObjectInputClassInMemory.java (95%)
rename src/main/java/com/{innowhere => sillelien}/relproxy/impl/jproxy/core/clsmgr/comp/jfo/JavaFileObjectInputSourceBase.java (93%)
rename src/main/java/com/{innowhere => sillelien}/relproxy/impl/jproxy/core/clsmgr/comp/jfo/JavaFileObjectInputSourceInFile.java (86%)
rename src/main/java/com/{innowhere => sillelien}/relproxy/impl/jproxy/core/clsmgr/comp/jfo/JavaFileObjectInputSourceInMemory.java (91%)
rename src/main/java/com/{innowhere => sillelien}/relproxy/impl/jproxy/core/clsmgr/comp/jfo/JavaFileObjectOutputClass.java (92%)
rename src/main/java/com/{innowhere => sillelien}/relproxy/impl/jproxy/core/clsmgr/srcunit/SourceFileJavaNormal.java (83%)
rename src/main/java/com/{innowhere => sillelien}/relproxy/impl/jproxy/core/clsmgr/srcunit/SourceScriptRoot.java (80%)
rename src/main/java/com/{innowhere => sillelien}/relproxy/impl/jproxy/core/clsmgr/srcunit/SourceScriptRootFile.java (82%)
rename src/main/java/com/{innowhere => sillelien}/relproxy/impl/jproxy/core/clsmgr/srcunit/SourceScriptRootFileJavaExt.java (68%)
rename src/main/java/com/{innowhere => sillelien}/relproxy/impl/jproxy/core/clsmgr/srcunit/SourceScriptRootFileOtherExt.java (80%)
rename src/main/java/com/{innowhere => sillelien}/relproxy/impl/jproxy/core/clsmgr/srcunit/SourceScriptRootInMemory.java (96%)
rename src/main/java/com/{innowhere => sillelien}/relproxy/impl/jproxy/core/clsmgr/srcunit/SourceUnit.java (81%)
rename src/main/java/com/{innowhere => sillelien}/relproxy/impl/jproxy/screngine/BindingsImpl.java (76%)
rename src/main/java/com/{innowhere => sillelien}/relproxy/impl/jproxy/screngine/JProxyScriptEngineDelegateImpl.java (85%)
rename src/main/java/com/{innowhere => sillelien}/relproxy/impl/jproxy/screngine/JProxyScriptEngineFactoryImpl.java (96%)
rename src/main/java/com/{innowhere => sillelien}/relproxy/impl/jproxy/screngine/JProxyScriptEngineImpl.java (87%)
rename src/main/java/com/{innowhere => sillelien}/relproxy/impl/jproxy/shell/JProxyShellClassLoader.java (88%)
rename src/main/java/com/{innowhere => sillelien}/relproxy/impl/jproxy/shell/JProxyShellCodeSnippetImpl.java (81%)
rename src/main/java/com/{innowhere => sillelien}/relproxy/impl/jproxy/shell/JProxyShellImpl.java (91%)
rename src/main/java/com/{innowhere => sillelien}/relproxy/impl/jproxy/shell/JProxyShellInteractiveImpl.java (84%)
rename src/main/java/com/{innowhere => sillelien}/relproxy/impl/jproxy/shell/JProxyShellScriptFileImpl.java (83%)
rename src/main/java/com/{innowhere => sillelien}/relproxy/impl/jproxy/shell/inter/Command.java (98%)
rename src/main/java/com/{innowhere => sillelien}/relproxy/impl/jproxy/shell/inter/CommandCodeChangerBase.java (97%)
rename src/main/java/com/{innowhere => sillelien}/relproxy/impl/jproxy/shell/inter/CommandDelete.java (97%)
rename src/main/java/com/{innowhere => sillelien}/relproxy/impl/jproxy/shell/inter/CommandEdit.java (97%)
rename src/main/java/com/{innowhere => sillelien}/relproxy/impl/jproxy/shell/inter/CommandError.java (84%)
rename src/main/java/com/{innowhere => sillelien}/relproxy/impl/jproxy/shell/inter/CommandInsert.java (97%)
rename src/main/java/com/{innowhere => sillelien}/relproxy/impl/jproxy/shell/inter/CommandLoad.java (94%)
rename src/main/java/com/{innowhere => sillelien}/relproxy/impl/jproxy/shell/inter/CommandOther.java (97%)
rename src/main/java/com/{innowhere => sillelien}/relproxy/impl/jproxy/shell/inter/CommandSave.java (92%)
rename src/main/java/com/{innowhere => sillelien}/relproxy/impl/jproxy/shell/inter/JProxyShellProcessor.java (94%)
rename src/main/java/com/{innowhere => sillelien}/relproxy/impl/jproxy/shell/inter/Keyboard.java (90%)
rename src/main/java/com/{innowhere => sillelien}/relproxy/impl/jproxy/shell/inter/KeyboardNotUsingClipboard.java (99%)
rename src/main/java/com/{innowhere => sillelien}/relproxy/impl/jproxy/shell/inter/KeyboardUsingClipboard.java (94%)
rename src/main/java/com/{innowhere => sillelien}/relproxy/impl/jproxy/shell/inter/LinuxUnicodeKeyboard.java (96%)
rename src/main/java/com/{innowhere => sillelien}/relproxy/impl/jproxy/shell/inter/MacOSXUnicodeKeyboard.java (95%)
rename src/main/java/com/{innowhere => sillelien}/relproxy/impl/jproxy/shell/inter/WindowUnicodeKeyboard.java (95%)
rename src/main/java/com/{innowhere => sillelien}/relproxy/jproxy/JProxy.java (96%)
rename src/main/java/com/{innowhere => sillelien}/relproxy/jproxy/JProxyCompilerListener.java (89%)
rename src/main/java/com/{innowhere => sillelien}/relproxy/jproxy/JProxyConfig.java (98%)
rename src/main/java/com/{innowhere => sillelien}/relproxy/jproxy/JProxyDiagnosticsListener.java (93%)
rename src/main/java/com/{innowhere => sillelien}/relproxy/jproxy/JProxyInputSourceFileExcludedListener.java (95%)
rename src/main/java/com/{innowhere => sillelien}/relproxy/jproxy/JProxyScriptEngine.java (98%)
rename src/main/java/com/{innowhere => sillelien}/relproxy/jproxy/JProxyScriptEngineFactory.java (84%)
rename src/main/java/com/{innowhere => sillelien}/relproxy/jproxy/JProxyShell.java (83%)
rename src/main/java/com/{innowhere => sillelien}/relproxy/jproxy/package.html (100%)
rename src/main/java/com/{innowhere => sillelien}/relproxy/package.html (100%)
diff --git a/pom.xml b/pom.xml
index edd1d18..e1e5557 100644
--- a/pom.xml
+++ b/pom.xml
@@ -8,6 +8,57 @@
relproxy0
+ relproxy
+
+ Simple Java and Groovy hot class reloader,and Java based shell and scripting used by Dollar project, original project is https://github.com/jmarranz/relproxy
+
+ https://github.com/dollar-org/relproxy
+
+
+ The Apache License, Version 2.0
+ http://www.apache.org/licenses/LICENSE-2.0.txt
+
+
+
+
+ Jose Maria Arranz
+ jmarranz@innowhere.com
+ Innowhere Software
+ http://www.innowhere.com
+
+ Original Author
+
+
+
+
+
+
+ Daniel López (greeneyed)
+
+
+ https://github.com/Verdoso
+
+ Original Contributor
+
+
+
+ Michael Vorburger
+ mike@vorburger.ch
+ Vorburger.CH
+ http://www.vorburger.ch
+
+ Original Contributor
+
+
+
+
+
+ scm:git:git@github.com:dollar-org/relproxy.git
+ scm:git:git@github.com:dollar-org/relproxy.git
+ git@github.com:dollar-org/relproxy.git
+
+
+
2.0.22.4
@@ -22,16 +73,16 @@
-
- com.versioneye
- versioneye-maven-plugin
- 3.11.4
-
- 0c797be864338a3649f0
- neilellis_orga
- Owners
-
-
+
+
+
+
+
+
+
+
+
+
org.apache.rat
diff --git a/relproxy/pom.xml b/relproxy/pom.xml
index 369a555..9ca34a3 100644
--- a/relproxy/pom.xml
+++ b/relproxy/pom.xml
@@ -147,7 +147,7 @@
RelProxy v${project.version}RelProxy v${project.version}
- com.innowhere.relproxy.impl
+ com.sillelien.relproxy.impl
diff --git a/relproxy/src/main/asciidoc/manual.asciidoc b/relproxy/src/main/asciidoc/manual.asciidoc
index 3552f6a..005049c 100644
--- a/relproxy/src/main/asciidoc/manual.asciidoc
+++ b/relproxy/src/main/asciidoc/manual.asciidoc
@@ -630,7 +630,7 @@ Both types of web applications, publishing source code to war and direct access
== GProxy or how to be able to reload Groovy classes on the Java environment
-`com.innowhere.relproxy.gproxy.GProxy` is the main Java class of RelProxy to provide this feature, with `GProxy` you can create Java proxies for Groovy objects because
+`GProxy` is the main Java class of RelProxy to provide this feature, with `GProxy` you can create Java proxies for Groovy objects because
a `java.lang.reflect.Proxy` wrapper is passed instead of the original Groovy object, the original Groovy object is retained under the hood and method calls to the proxy
are redirected to the real object calling the corresponding method using reflection. When the source code of the Groovy class changes GProxy automatically reloads the Groovy
class and creates a new object to replace the old one, the fields of the original object are got and re-set to the new object to keep the state (number of fields and types
@@ -651,10 +651,10 @@ import org.itsnat.core.tmpl.ItsNatDocumentTemplate;
import org.itsnat.core.event.ItsNatServletRequestListener;
import groovy.util.GroovyScriptEngine;
import java.lang.reflect.Method;
-import com.innowhere.relproxy.RelProxyOnReloadListener;
-import com.innowhere.relproxy.gproxy.GProxy;
-import com.innowhere.relproxy.gproxy.GProxyGroovyScriptEngine;
-import com.innowhere.relproxy.gproxy.GProxyConfig;
+import RelProxyOnReloadListener;
+import GProxy;
+import GProxyGroovyScriptEngine;
+import GProxyConfig;
GroovyScriptEngine groovyEngine = servlet.getGroovyScriptEngine();
@@ -825,7 +825,7 @@ Finally we have been able to reload Groovy classes mixed in a Java environment.
Java hot reloadable proxies are very similar to Groovy support of RelProxy, in this case the task of detecting source changes, recompiling and reloading is fully done by RelProxy
(in case of Groovy provided `groovy.util.GroovyScriptEngine` does most of this work).
-`com.innowhere.relproxy.jproxy.JProxy` is the main Java class of RelProxy for hot reload of pure Java, with `JProxy` you can create Java `java.lang.reflect.Proxy` proxies wrapping
+`JProxy` is the main Java class of RelProxy for hot reload of pure Java, with `JProxy` you can create Java `java.lang.reflect.Proxy` proxies wrapping
your original objects to be passed to listeners, the original object is retained under the hood and method calls to the proxy are redirected to the real object calling the
corresponding method using reflection. When the source code of a monitored Java file is changed, it is automatically recompiled in memory. When the `processRequest` method of
the proxied `JProxyExampleLoadListener` object is called because an end user is reloading the related web page, `JProxy` detects something has changed and reload all monitored
@@ -860,12 +860,12 @@ import javax.tools.JavaFileObject;
import org.itsnat.core.event.ItsNatServletRequestListener;
import org.itsnat.core.http.HttpServletWrapper;
import org.itsnat.core.tmpl.ItsNatDocumentTemplate;
-import com.innowhere.relproxy.RelProxyOnReloadListener;
-import com.innowhere.relproxy.jproxy.JProxy;
-import com.innowhere.relproxy.jproxy.JProxyCompilerListener;
-import com.innowhere.relproxy.jproxy.JProxyConfig;
-import com.innowhere.relproxy.jproxy.JProxyDiagnosticsListener;
-import com.innowhere.relproxy.jproxy.JProxyInputSourceFileExcludedListener;
+import RelProxyOnReloadListener;
+import JProxy;
+import JProxyCompilerListener;
+import JProxyConfig;
+import JProxyDiagnosticsListener;
+import JProxyInputSourceFileExcludedListener;
/**
@@ -1304,12 +1304,12 @@ import javax.tools.DiagnosticCollector;
import javax.tools.JavaFileObject;
import com.google.gwt.user.server.rpc.RemoteServiceServlet;
-import com.innowhere.relproxy.RelProxyOnReloadListener;
-import com.innowhere.relproxy.jproxy.JProxy;
-import com.innowhere.relproxy.jproxy.JProxyConfig;
-import com.innowhere.relproxy.jproxy.JProxyDiagnosticsListener;
-import com.innowhere.relproxy.jproxy.JProxyInputSourceFileExcludedListener;
-import com.innowhere.relproxy.jproxy.JProxyCompilerListener;
+import RelProxyOnReloadListener;
+import JProxy;
+import JProxyConfig;
+import JProxyDiagnosticsListener;
+import JProxyInputSourceFileExcludedListener;
+import JProxyCompilerListener;
import com.innowhere.relproxyexgwt.client.GreetingService;
/**
@@ -2121,7 +2121,7 @@ public class RelProxyBuiltinRoot
----
package com.innowhere.relproxy_builtin_ex;
-import com.innowhere.relproxy.jproxy.JProxyScriptEngine;
+import JProxyScriptEngine;
import java.io.InputStream;
import java.io.PrintStream;
@@ -2174,8 +2174,8 @@ Now the implementation details, this class shows how simple is to built-in RelPr
----
package com.innowhere.relproxy_builtin_ex.impl;
-import com.innowhere.relproxy.jproxy.JProxyScriptEngine;
-import com.innowhere.relproxy.jproxy.JProxyScriptEngineFactory;
+import JProxyScriptEngine;
+import JProxyScriptEngineFactory;
import com.innowhere.relproxy_builtin_ex.CommandListener;
import com.innowhere.relproxy_builtin_ex.OutputListener;
import com.innowhere.relproxy_builtin_ex.RelProxyBuiltin;
@@ -2332,13 +2332,13 @@ This is the example code of this console based program (names are inspired on JU
----
package com.innowhere.relproxy_builtin_ex_main;
-import com.innowhere.relproxy.RelProxyOnReloadListener;
-import com.innowhere.relproxy.jproxy.JProxy;
-import com.innowhere.relproxy.jproxy.JProxyCompilerListener;
-import com.innowhere.relproxy.jproxy.JProxyConfig;
-import com.innowhere.relproxy.jproxy.JProxyDiagnosticsListener;
-import com.innowhere.relproxy.jproxy.JProxyInputSourceFileExcludedListener;
-import com.innowhere.relproxy.jproxy.JProxyScriptEngine;
+import RelProxyOnReloadListener;
+import JProxy;
+import JProxyCompilerListener;
+import JProxyConfig;
+import JProxyDiagnosticsListener;
+import JProxyInputSourceFileExcludedListener;
+import JProxyScriptEngine;
import com.innowhere.relproxy_builtin_ex.CommandListener;
import com.innowhere.relproxy_builtin_ex.RelProxyBuiltin;
import com.innowhere.relproxy_builtin_ex.RelProxyBuiltinRoot;
diff --git a/relproxy/src/test/java/com/innowhere/relproxy/jproxy/JProxyCodeSnippetCompleteClassTest.java b/relproxy/src/test/java/com/innowhere/relproxy/jproxy/JProxyCodeSnippetCompleteClassTest.java
index 2dd7a06..4f40057 100644
--- a/relproxy/src/test/java/com/innowhere/relproxy/jproxy/JProxyCodeSnippetCompleteClassTest.java
+++ b/relproxy/src/test/java/com/innowhere/relproxy/jproxy/JProxyCodeSnippetCompleteClassTest.java
@@ -4,7 +4,7 @@
* and open the template in the editor.
*/
-package com.innowhere.relproxy.jproxy;
+package com.sillelien.relproxy.jproxy;
import org.junit.After;
import org.junit.AfterClass;
diff --git a/relproxy/src/test/java/com/innowhere/relproxy/jproxy/JProxyCodeSnippetTest.java b/relproxy/src/test/java/com/innowhere/relproxy/jproxy/JProxyCodeSnippetTest.java
index b692a63..5435fff 100644
--- a/relproxy/src/test/java/com/innowhere/relproxy/jproxy/JProxyCodeSnippetTest.java
+++ b/relproxy/src/test/java/com/innowhere/relproxy/jproxy/JProxyCodeSnippetTest.java
@@ -4,7 +4,7 @@
* and open the template in the editor.
*/
-package com.innowhere.relproxy.jproxy;
+package com.sillelien.relproxy.jproxy;
import org.junit.After;
import org.junit.AfterClass;
diff --git a/relproxy/src/test/java/com/innowhere/relproxy/jproxy/JProxyJavaScriptEngineNoManagerTest.java b/relproxy/src/test/java/com/innowhere/relproxy/jproxy/JProxyJavaScriptEngineNoManagerTest.java
index 9ad97a7..dcddcfe 100644
--- a/relproxy/src/test/java/com/innowhere/relproxy/jproxy/JProxyJavaScriptEngineNoManagerTest.java
+++ b/relproxy/src/test/java/com/innowhere/relproxy/jproxy/JProxyJavaScriptEngineNoManagerTest.java
@@ -1,8 +1,8 @@
-package com.innowhere.relproxy.jproxy;
+package com.sillelien.relproxy.jproxy;
-import com.innowhere.relproxy.RelProxyOnReloadListener;
-import static com.innowhere.relproxy.jproxy.util.JProxyTestUtil.RESOURCES_FOLDER;
-import static com.innowhere.relproxy.jproxy.util.JProxyTestUtil.getProjectFolder;
+import com.sillelien.relproxy.RelProxyOnReloadListener;
+import static com.sillelien.relproxy.jproxy.util.JProxyTestUtil.RESOURCES_FOLDER;
+import static com.sillelien.relproxy.jproxy.util.JProxyTestUtil.getProjectFolder;
import java.io.File;
diff --git a/relproxy/src/test/java/com/innowhere/relproxy/jproxy/JProxyJavaScriptEngineTest.java b/relproxy/src/test/java/com/innowhere/relproxy/jproxy/JProxyJavaScriptEngineTest.java
index d9812b6..6ff0c01 100644
--- a/relproxy/src/test/java/com/innowhere/relproxy/jproxy/JProxyJavaScriptEngineTest.java
+++ b/relproxy/src/test/java/com/innowhere/relproxy/jproxy/JProxyJavaScriptEngineTest.java
@@ -1,8 +1,8 @@
-package com.innowhere.relproxy.jproxy;
+package com.sillelien.relproxy.jproxy;
-import com.innowhere.relproxy.RelProxyOnReloadListener;
-import static com.innowhere.relproxy.jproxy.util.JProxyTestUtil.RESOURCES_FOLDER;
-import static com.innowhere.relproxy.jproxy.util.JProxyTestUtil.getProjectFolder;
+import com.sillelien.relproxy.RelProxyOnReloadListener;
+import static com.sillelien.relproxy.jproxy.util.JProxyTestUtil.RESOURCES_FOLDER;
+import static com.sillelien.relproxy.jproxy.util.JProxyTestUtil.getProjectFolder;
import java.io.File;
diff --git a/relproxy/src/test/java/com/innowhere/relproxy/jproxy/JProxyJavaShellCompleteClassTest.java b/relproxy/src/test/java/com/innowhere/relproxy/jproxy/JProxyJavaShellCompleteClassTest.java
index 91fdbbe..d0de94b 100644
--- a/relproxy/src/test/java/com/innowhere/relproxy/jproxy/JProxyJavaShellCompleteClassTest.java
+++ b/relproxy/src/test/java/com/innowhere/relproxy/jproxy/JProxyJavaShellCompleteClassTest.java
@@ -1,6 +1,6 @@
-package com.innowhere.relproxy.jproxy;
+package com.sillelien.relproxy.jproxy;
-import com.innowhere.relproxy.jproxy.util.JProxyTestUtil;
+import com.sillelien.relproxy.jproxy.util.JProxyTestUtil;
import java.io.File;
import org.junit.After;
import org.junit.AfterClass;
diff --git a/relproxy/src/test/java/com/innowhere/relproxy/jproxy/JProxyJavaShellInteractiveTest.java b/relproxy/src/test/java/com/innowhere/relproxy/jproxy/JProxyJavaShellInteractiveTest.java
index 92fc5d9..5d18b4b 100644
--- a/relproxy/src/test/java/com/innowhere/relproxy/jproxy/JProxyJavaShellInteractiveTest.java
+++ b/relproxy/src/test/java/com/innowhere/relproxy/jproxy/JProxyJavaShellInteractiveTest.java
@@ -4,7 +4,7 @@
* and open the template in the editor.
*/
-package com.innowhere.relproxy.jproxy;
+package com.sillelien.relproxy.jproxy;
import org.junit.After;
import org.junit.AfterClass;
diff --git a/relproxy/src/test/java/com/innowhere/relproxy/jproxy/JProxyJavaShellNormalClassTest.java b/relproxy/src/test/java/com/innowhere/relproxy/jproxy/JProxyJavaShellNormalClassTest.java
index 31c819c..1673a26 100644
--- a/relproxy/src/test/java/com/innowhere/relproxy/jproxy/JProxyJavaShellNormalClassTest.java
+++ b/relproxy/src/test/java/com/innowhere/relproxy/jproxy/JProxyJavaShellNormalClassTest.java
@@ -1,6 +1,6 @@
-package com.innowhere.relproxy.jproxy;
+package com.sillelien.relproxy.jproxy;
-import com.innowhere.relproxy.jproxy.util.JProxyTestUtil;
+import com.sillelien.relproxy.jproxy.util.JProxyTestUtil;
import java.io.File;
import org.junit.After;
import org.junit.AfterClass;
diff --git a/relproxy/src/test/java/com/innowhere/relproxy/jproxy/JProxyJavaShellTest.java b/relproxy/src/test/java/com/innowhere/relproxy/jproxy/JProxyJavaShellTest.java
index 05b8f11..4461b7c 100644
--- a/relproxy/src/test/java/com/innowhere/relproxy/jproxy/JProxyJavaShellTest.java
+++ b/relproxy/src/test/java/com/innowhere/relproxy/jproxy/JProxyJavaShellTest.java
@@ -1,13 +1,14 @@
-package com.innowhere.relproxy.jproxy;
+package com.sillelien.relproxy.jproxy;
-import com.innowhere.relproxy.jproxy.util.JProxyTestUtil;
-import java.io.File;
+import com.sillelien.relproxy.jproxy.util.JProxyTestUtil;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
+import java.io.File;
+
/**
*
* @author jmarranz
diff --git a/relproxy/src/test/java/com/innowhere/relproxy/jproxy/util/JProxyTestUtil.java b/relproxy/src/test/java/com/innowhere/relproxy/jproxy/util/JProxyTestUtil.java
index 51dc64d..eed55b9 100644
--- a/relproxy/src/test/java/com/innowhere/relproxy/jproxy/util/JProxyTestUtil.java
+++ b/relproxy/src/test/java/com/innowhere/relproxy/jproxy/util/JProxyTestUtil.java
@@ -1,5 +1,5 @@
-package com.innowhere.relproxy.jproxy.util;
+package com.sillelien.relproxy.jproxy.util;
import java.io.File;
import java.net.URL;
@@ -15,7 +15,7 @@ public class JProxyTestUtil
public static File getProjectFolder()
{
- String className = JProxyTestUtil.class.getName(); // com.innowhere.relproxy.jproxy.util.JProxyTestUtil
+ String className = JProxyTestUtil.class.getName(); // com.sillelien.relproxy.jproxy.util.JProxyTestUtil
URL urlClass = JProxyTestUtil.class.getClassLoader().getResource(className.replace('.','/') + ".class");
File fileClass = new File(urlClass.getPath());
File projectFolder = fileClass.getParentFile();
diff --git a/relproxy/src/test/resources/example/javashellex/JProxyShellExample.java b/relproxy/src/test/resources/example/javashellex/JProxyShellExample.java
index f538370..92de1f4 100644
--- a/relproxy/src/test/resources/example/javashellex/JProxyShellExample.java
+++ b/relproxy/src/test/resources/example/javashellex/JProxyShellExample.java
@@ -1,7 +1,7 @@
package example.javashellex;
import javax.script.ScriptEngine;
-import com.innowhere.relproxy.jproxy.JProxyScriptEngine;
+import com.sillelien.relproxy.jproxy.JProxyScriptEngine;
/**
*
diff --git a/relproxy_test_itsnat/src/main/java/example/groovyex/ItsNatGroovyServlet.java b/relproxy_test_itsnat/src/main/java/example/groovyex/ItsNatGroovyServlet.java
index 3d84c78..c8216b0 100644
--- a/relproxy_test_itsnat/src/main/java/example/groovyex/ItsNatGroovyServlet.java
+++ b/relproxy_test_itsnat/src/main/java/example/groovyex/ItsNatGroovyServlet.java
@@ -82,9 +82,9 @@ public void init(ServletConfig config) throws ServletException
binding.setVariable("context", getServletContext());
binding.setVariable("application", getServletContext());
- com.innowhere.relproxy.gproxy.GProxyGroovyScriptEngine.class.getName();
- com.innowhere.relproxy.gproxy.GProxyConfig.class.getName();
- com.innowhere.relproxy.gproxy.GProxy.class.getName();
+ com.sillelien.relproxy.gproxy.GProxyGroovyScriptEngine.class.getName();
+ com.sillelien.relproxy.gproxy.GProxyConfig.class.getName();
+ com.sillelien.relproxy.gproxy.GProxy.class.getName();
execGroovyScript(initScript,binding);
}
diff --git a/relproxy_test_itsnat/src/main/java/example/javaex/JProxyExampleServlet.java b/relproxy_test_itsnat/src/main/java/example/javaex/JProxyExampleServlet.java
index 9bc7397..e845d30 100644
--- a/relproxy_test_itsnat/src/main/java/example/javaex/JProxyExampleServlet.java
+++ b/relproxy_test_itsnat/src/main/java/example/javaex/JProxyExampleServlet.java
@@ -1,7 +1,7 @@
package example.javaex;
-import com.innowhere.relproxy.jproxy.JProxy;
+import com.sillelien.relproxy.jproxy.JProxy;
import javax.servlet.ServletConfig;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
diff --git a/relproxy_test_itsnat/src/main/java/example/javaex/JProxyServletContextListener.java b/relproxy_test_itsnat/src/main/java/example/javaex/JProxyServletContextListener.java
index e8b00f3..58fadd2 100644
--- a/relproxy_test_itsnat/src/main/java/example/javaex/JProxyServletContextListener.java
+++ b/relproxy_test_itsnat/src/main/java/example/javaex/JProxyServletContextListener.java
@@ -1,21 +1,22 @@
package example.javaex;
-import com.innowhere.relproxy.RelProxyOnReloadListener;
-import com.innowhere.relproxy.jproxy.JProxy;
-import com.innowhere.relproxy.jproxy.JProxyCompilerListener;
-import com.innowhere.relproxy.jproxy.JProxyConfig;
-import com.innowhere.relproxy.jproxy.JProxyDiagnosticsListener;
-import com.innowhere.relproxy.jproxy.JProxyInputSourceFileExcludedListener;
-import java.io.File;
-import java.lang.reflect.Method;
-import java.util.Arrays;
-import java.util.List;
+import com.sillelien.relproxy.RelProxyOnReloadListener;
+import com.sillelien.relproxy.jproxy.JProxy;
+import com.sillelien.relproxy.jproxy.JProxyCompilerListener;
+import com.sillelien.relproxy.jproxy.JProxyConfig;
+import com.sillelien.relproxy.jproxy.JProxyDiagnosticsListener;
+import com.sillelien.relproxy.jproxy.JProxyInputSourceFileExcludedListener;
+
import javax.servlet.ServletContext;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import javax.tools.Diagnostic;
import javax.tools.DiagnosticCollector;
import javax.tools.JavaFileObject;
+import java.io.File;
+import java.lang.reflect.Method;
+import java.util.Arrays;
+import java.util.List;
/**
*
diff --git a/relproxy_test_itsnat/src/main/webapp/WEB-INF/groovyex/code/example/groovyex/groovy_servlet_init.groovy b/relproxy_test_itsnat/src/main/webapp/WEB-INF/groovyex/code/example/groovyex/groovy_servlet_init.groovy
index c0b94bb..cdf3128 100644
--- a/relproxy_test_itsnat/src/main/webapp/WEB-INF/groovyex/code/example/groovyex/groovy_servlet_init.groovy
+++ b/relproxy_test_itsnat/src/main/webapp/WEB-INF/groovyex/code/example/groovyex/groovy_servlet_init.groovy
@@ -1,16 +1,12 @@
-package example.groovyex;
+package example.groovyex
-import org.itsnat.core.http.ItsNatHttpServlet;
-import org.itsnat.core.tmpl.ItsNatDocumentTemplate;
import org.itsnat.core.event.ItsNatServletRequestListener;
import groovy.util.GroovyScriptEngine;
import java.lang.reflect.Method;
-import com.innowhere.relproxy.RelProxyOnReloadListener;
-import com.innowhere.relproxy.gproxy.GProxy;
-import com.innowhere.relproxy.gproxy.GProxyGroovyScriptEngine;
-import com.innowhere.relproxy.gproxy.GProxyConfig;
-
+import com.sillelien.relproxy.RelProxyOnReloadListener;
+import com.sillelien.relproxy.gproxy.GProxy;
+import com.sillelien.relproxy.gproxy.GProxyGroovyScriptEngine
GroovyScriptEngine groovyEngine = servlet.getGroovyScriptEngine();
diff --git a/relproxy_test_itsnat/src/main/webapp/WEB-INF/javaex/code/example/javaex/JProxyExampleDocument.java b/relproxy_test_itsnat/src/main/webapp/WEB-INF/javaex/code/example/javaex/JProxyExampleDocument.java
index 903e65a..221a465 100644
--- a/relproxy_test_itsnat/src/main/webapp/WEB-INF/javaex/code/example/javaex/JProxyExampleDocument.java
+++ b/relproxy_test_itsnat/src/main/webapp/WEB-INF/javaex/code/example/javaex/JProxyExampleDocument.java
@@ -1,13 +1,12 @@
package example.javaex;
-import com.innowhere.relproxy.jproxy.JProxy;
+import com.sillelien.relproxy.jproxy.JProxy;
import example.javaex.hotreload.JProxyExampleAux2;
import example.javaex.nothotreload.JProxyExampleAuxIgnored2;
import example.javaex.nothotreload.JProxyExampleAuxIgnored3;
import org.itsnat.comp.ItsNatComponentManager;
import org.itsnat.comp.text.ItsNatHTMLInputText;
import org.itsnat.core.ItsNatServletRequest;
-import org.itsnat.core.event.ItsNatServletRequestListener;
import org.itsnat.core.html.ItsNatHTMLDocument;
import org.w3c.dom.Element;
import org.w3c.dom.events.Event;
diff --git a/src/main/java/com/innowhere/relproxy/RelProxy.java b/src/main/java/com/sillelien/relproxy/RelProxy.java
similarity index 90%
rename from src/main/java/com/innowhere/relproxy/RelProxy.java
rename to src/main/java/com/sillelien/relproxy/RelProxy.java
index 2209333..c63cea3 100644
--- a/src/main/java/com/innowhere/relproxy/RelProxy.java
+++ b/src/main/java/com/sillelien/relproxy/RelProxy.java
@@ -1,4 +1,4 @@
-package com.innowhere.relproxy;
+package com.sillelien.relproxy;
/**
* Is the root of RelProxy
diff --git a/src/main/java/com/innowhere/relproxy/RelProxyException.java b/src/main/java/com/sillelien/relproxy/RelProxyException.java
similarity index 97%
rename from src/main/java/com/innowhere/relproxy/RelProxyException.java
rename to src/main/java/com/sillelien/relproxy/RelProxyException.java
index aeafaad..8b16207 100644
--- a/src/main/java/com/innowhere/relproxy/RelProxyException.java
+++ b/src/main/java/com/sillelien/relproxy/RelProxyException.java
@@ -1,4 +1,4 @@
-package com.innowhere.relproxy;
+package com.sillelien.relproxy;
/**
* Internal checked exceptions thrown by RelProxy and library specific errors are wrapped into this exception class.
diff --git a/src/main/java/com/innowhere/relproxy/RelProxyOnReloadListener.java b/src/main/java/com/sillelien/relproxy/RelProxyOnReloadListener.java
similarity index 79%
rename from src/main/java/com/innowhere/relproxy/RelProxyOnReloadListener.java
rename to src/main/java/com/sillelien/relproxy/RelProxyOnReloadListener.java
index faf1c62..acad475 100644
--- a/src/main/java/com/innowhere/relproxy/RelProxyOnReloadListener.java
+++ b/src/main/java/com/sillelien/relproxy/RelProxyOnReloadListener.java
@@ -1,4 +1,4 @@
-package com.innowhere.relproxy;
+package com.sillelien.relproxy;
import java.lang.reflect.Method;
@@ -10,8 +10,8 @@
*
*
*
- * @see com.innowhere.relproxy.jproxy.JProxyConfig#setRelProxyOnReloadListener(com.innowhere.relproxy.RelProxyOnReloadListener)
- * @see com.innowhere.relproxy.gproxy.GProxyConfig#setRelProxyOnReloadListener(com.innowhere.relproxy.RelProxyOnReloadListener)
+ * @see com.sillelien.relproxy.jproxy.JProxyConfig#setRelProxyOnReloadListener(com.sillelien.relproxy.RelProxyOnReloadListener)
+ * @see com.sillelien.relproxy.gproxy.GProxyConfig#setRelProxyOnReloadListener(com.sillelien.relproxy.RelProxyOnReloadListener)
* @author Jose Maria Arranz Santamaria
*/
public interface RelProxyOnReloadListener
diff --git a/src/main/java/com/innowhere/relproxy/gproxy/GProxy.java b/src/main/java/com/sillelien/relproxy/gproxy/GProxy.java
similarity index 94%
rename from src/main/java/com/innowhere/relproxy/gproxy/GProxy.java
rename to src/main/java/com/sillelien/relproxy/gproxy/GProxy.java
index 942b56e..5c74686 100644
--- a/src/main/java/com/innowhere/relproxy/gproxy/GProxy.java
+++ b/src/main/java/com/sillelien/relproxy/gproxy/GProxy.java
@@ -1,8 +1,8 @@
-package com.innowhere.relproxy.gproxy;
+package com.sillelien.relproxy.gproxy;
-import com.innowhere.relproxy.impl.gproxy.GProxyConfigImpl;
-import com.innowhere.relproxy.impl.gproxy.GProxyDefaultImpl;
+import com.sillelien.relproxy.impl.gproxy.GProxyConfigImpl;
+import com.sillelien.relproxy.impl.gproxy.GProxyDefaultImpl;
/**
* Is the class to create Java proxy objects based on Groovy objects and keep track of Groovy source code changes reloading Groovy classes when detected.
diff --git a/src/main/java/com/innowhere/relproxy/gproxy/GProxyConfig.java b/src/main/java/com/sillelien/relproxy/gproxy/GProxyConfig.java
similarity index 94%
rename from src/main/java/com/innowhere/relproxy/gproxy/GProxyConfig.java
rename to src/main/java/com/sillelien/relproxy/gproxy/GProxyConfig.java
index 4e517fa..14cb90c 100644
--- a/src/main/java/com/innowhere/relproxy/gproxy/GProxyConfig.java
+++ b/src/main/java/com/sillelien/relproxy/gproxy/GProxyConfig.java
@@ -1,7 +1,7 @@
-package com.innowhere.relproxy.gproxy;
+package com.sillelien.relproxy.gproxy;
-import com.innowhere.relproxy.RelProxyOnReloadListener;
+import com.sillelien.relproxy.RelProxyOnReloadListener;
/**
* Interface implemented by the configuration object needed to initialize GProxy.
diff --git a/src/main/java/com/innowhere/relproxy/gproxy/GProxyGroovyScriptEngine.java b/src/main/java/com/sillelien/relproxy/gproxy/GProxyGroovyScriptEngine.java
similarity index 97%
rename from src/main/java/com/innowhere/relproxy/gproxy/GProxyGroovyScriptEngine.java
rename to src/main/java/com/sillelien/relproxy/gproxy/GProxyGroovyScriptEngine.java
index 47d09d7..4025e04 100644
--- a/src/main/java/com/innowhere/relproxy/gproxy/GProxyGroovyScriptEngine.java
+++ b/src/main/java/com/sillelien/relproxy/gproxy/GProxyGroovyScriptEngine.java
@@ -1,4 +1,4 @@
-package com.innowhere.relproxy.gproxy;
+package com.sillelien.relproxy.gproxy;
/**
* Interface to implement the object implementing the GroovyScriptEngine wrapper used to reload Groovy classes.
diff --git a/src/main/java/com/innowhere/relproxy/gproxy/package.html b/src/main/java/com/sillelien/relproxy/gproxy/package.html
similarity index 100%
rename from src/main/java/com/innowhere/relproxy/gproxy/package.html
rename to src/main/java/com/sillelien/relproxy/gproxy/package.html
diff --git a/src/main/java/com/innowhere/relproxy/impl/FileExt.java b/src/main/java/com/sillelien/relproxy/impl/FileExt.java
similarity index 89%
rename from src/main/java/com/innowhere/relproxy/impl/FileExt.java
rename to src/main/java/com/sillelien/relproxy/impl/FileExt.java
index bc3fa3d..d9d3d3c 100644
--- a/src/main/java/com/innowhere/relproxy/impl/FileExt.java
+++ b/src/main/java/com/sillelien/relproxy/impl/FileExt.java
@@ -1,6 +1,6 @@
-package com.innowhere.relproxy.impl;
+package com.sillelien.relproxy.impl;
-import com.innowhere.relproxy.RelProxyException;
+import com.sillelien.relproxy.RelProxyException;
import java.io.File;
import java.io.IOException;
diff --git a/src/main/java/com/innowhere/relproxy/impl/GenericProxyConfigBaseImpl.java b/src/main/java/com/sillelien/relproxy/impl/GenericProxyConfigBaseImpl.java
similarity index 78%
rename from src/main/java/com/innowhere/relproxy/impl/GenericProxyConfigBaseImpl.java
rename to src/main/java/com/sillelien/relproxy/impl/GenericProxyConfigBaseImpl.java
index f1fda6d..f46404e 100644
--- a/src/main/java/com/innowhere/relproxy/impl/GenericProxyConfigBaseImpl.java
+++ b/src/main/java/com/sillelien/relproxy/impl/GenericProxyConfigBaseImpl.java
@@ -1,6 +1,6 @@
-package com.innowhere.relproxy.impl;
+package com.sillelien.relproxy.impl;
-import com.innowhere.relproxy.RelProxyOnReloadListener;
+import com.sillelien.relproxy.RelProxyOnReloadListener;
/**
*
diff --git a/src/main/java/com/innowhere/relproxy/impl/GenericProxyImpl.java b/src/main/java/com/sillelien/relproxy/impl/GenericProxyImpl.java
similarity index 91%
rename from src/main/java/com/innowhere/relproxy/impl/GenericProxyImpl.java
rename to src/main/java/com/sillelien/relproxy/impl/GenericProxyImpl.java
index a24ba38..ca7a397 100644
--- a/src/main/java/com/innowhere/relproxy/impl/GenericProxyImpl.java
+++ b/src/main/java/com/sillelien/relproxy/impl/GenericProxyImpl.java
@@ -1,7 +1,7 @@
-package com.innowhere.relproxy.impl;
+package com.sillelien.relproxy.impl;
-import com.innowhere.relproxy.RelProxyException;
-import com.innowhere.relproxy.RelProxyOnReloadListener;
+import com.sillelien.relproxy.RelProxyException;
+import com.sillelien.relproxy.RelProxyOnReloadListener;
import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Proxy;
diff --git a/src/main/java/com/innowhere/relproxy/impl/GenericProxyInvocationHandler.java b/src/main/java/com/sillelien/relproxy/impl/GenericProxyInvocationHandler.java
similarity index 96%
rename from src/main/java/com/innowhere/relproxy/impl/GenericProxyInvocationHandler.java
rename to src/main/java/com/sillelien/relproxy/impl/GenericProxyInvocationHandler.java
index e9fba8c..ad6d6f9 100644
--- a/src/main/java/com/innowhere/relproxy/impl/GenericProxyInvocationHandler.java
+++ b/src/main/java/com/sillelien/relproxy/impl/GenericProxyInvocationHandler.java
@@ -1,6 +1,6 @@
-package com.innowhere.relproxy.impl;
+package com.sillelien.relproxy.impl;
-import com.innowhere.relproxy.RelProxyOnReloadListener;
+import com.sillelien.relproxy.RelProxyOnReloadListener;
import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
import java.lang.reflect.Proxy;
diff --git a/src/main/java/com/innowhere/relproxy/impl/GenericProxyVersionedObject.java b/src/main/java/com/sillelien/relproxy/impl/GenericProxyVersionedObject.java
similarity index 97%
rename from src/main/java/com/innowhere/relproxy/impl/GenericProxyVersionedObject.java
rename to src/main/java/com/sillelien/relproxy/impl/GenericProxyVersionedObject.java
index f7165a6..c23db15 100644
--- a/src/main/java/com/innowhere/relproxy/impl/GenericProxyVersionedObject.java
+++ b/src/main/java/com/sillelien/relproxy/impl/GenericProxyVersionedObject.java
@@ -1,13 +1,11 @@
-package com.innowhere.relproxy.impl;
+package com.sillelien.relproxy.impl;
-import com.innowhere.relproxy.RelProxyException;
+import com.sillelien.relproxy.RelProxyException;
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Modifier;
import java.util.ArrayList;
-import java.util.logging.Level;
-import java.util.logging.Logger;
/**
*
diff --git a/src/main/java/com/innowhere/relproxy/impl/gproxy/GProxyConfigImpl.java b/src/main/java/com/sillelien/relproxy/impl/gproxy/GProxyConfigImpl.java
similarity index 72%
rename from src/main/java/com/innowhere/relproxy/impl/gproxy/GProxyConfigImpl.java
rename to src/main/java/com/sillelien/relproxy/impl/gproxy/GProxyConfigImpl.java
index 247cc6d..d57bc86 100644
--- a/src/main/java/com/innowhere/relproxy/impl/gproxy/GProxyConfigImpl.java
+++ b/src/main/java/com/sillelien/relproxy/impl/gproxy/GProxyConfigImpl.java
@@ -1,9 +1,9 @@
-package com.innowhere.relproxy.impl.gproxy;
+package com.sillelien.relproxy.impl.gproxy;
-import com.innowhere.relproxy.RelProxyOnReloadListener;
-import com.innowhere.relproxy.gproxy.GProxyConfig;
-import com.innowhere.relproxy.gproxy.GProxyGroovyScriptEngine;
-import com.innowhere.relproxy.impl.GenericProxyConfigBaseImpl;
+import com.sillelien.relproxy.RelProxyOnReloadListener;
+import com.sillelien.relproxy.gproxy.GProxyConfig;
+import com.sillelien.relproxy.gproxy.GProxyGroovyScriptEngine;
+import com.sillelien.relproxy.impl.GenericProxyConfigBaseImpl;
/**
*
diff --git a/src/main/java/com/innowhere/relproxy/impl/gproxy/GProxyDefaultImpl.java b/src/main/java/com/sillelien/relproxy/impl/gproxy/GProxyDefaultImpl.java
similarity index 86%
rename from src/main/java/com/innowhere/relproxy/impl/gproxy/GProxyDefaultImpl.java
rename to src/main/java/com/sillelien/relproxy/impl/gproxy/GProxyDefaultImpl.java
index 2c8b0dd..6c8fe50 100644
--- a/src/main/java/com/innowhere/relproxy/impl/gproxy/GProxyDefaultImpl.java
+++ b/src/main/java/com/sillelien/relproxy/impl/gproxy/GProxyDefaultImpl.java
@@ -1,7 +1,7 @@
-package com.innowhere.relproxy.impl.gproxy;
+package com.sillelien.relproxy.impl.gproxy;
-import com.innowhere.relproxy.gproxy.GProxyConfig;
-import com.innowhere.relproxy.impl.gproxy.core.GProxyImpl;
+import com.sillelien.relproxy.gproxy.GProxyConfig;
+import com.sillelien.relproxy.impl.gproxy.core.GProxyImpl;
/**
*
diff --git a/src/main/java/com/innowhere/relproxy/impl/gproxy/core/GProxyImpl.java b/src/main/java/com/sillelien/relproxy/impl/gproxy/core/GProxyImpl.java
similarity index 68%
rename from src/main/java/com/innowhere/relproxy/impl/gproxy/core/GProxyImpl.java
rename to src/main/java/com/sillelien/relproxy/impl/gproxy/core/GProxyImpl.java
index c20285b..ca00943 100644
--- a/src/main/java/com/innowhere/relproxy/impl/gproxy/core/GProxyImpl.java
+++ b/src/main/java/com/sillelien/relproxy/impl/gproxy/core/GProxyImpl.java
@@ -1,9 +1,9 @@
-package com.innowhere.relproxy.impl.gproxy.core;
+package com.sillelien.relproxy.impl.gproxy.core;
-import com.innowhere.relproxy.impl.gproxy.GProxyConfigImpl;
-import com.innowhere.relproxy.gproxy.GProxyGroovyScriptEngine;
-import com.innowhere.relproxy.impl.GenericProxyImpl;
-import com.innowhere.relproxy.impl.GenericProxyInvocationHandler;
+import com.sillelien.relproxy.impl.gproxy.GProxyConfigImpl;
+import com.sillelien.relproxy.gproxy.GProxyGroovyScriptEngine;
+import com.sillelien.relproxy.impl.GenericProxyImpl;
+import com.sillelien.relproxy.impl.GenericProxyInvocationHandler;
/**
diff --git a/src/main/java/com/innowhere/relproxy/impl/gproxy/core/GProxyInvocationHandler.java b/src/main/java/com/sillelien/relproxy/impl/gproxy/core/GProxyInvocationHandler.java
similarity index 75%
rename from src/main/java/com/innowhere/relproxy/impl/gproxy/core/GProxyInvocationHandler.java
rename to src/main/java/com/sillelien/relproxy/impl/gproxy/core/GProxyInvocationHandler.java
index 6bacae7..f362a27 100644
--- a/src/main/java/com/innowhere/relproxy/impl/gproxy/core/GProxyInvocationHandler.java
+++ b/src/main/java/com/sillelien/relproxy/impl/gproxy/core/GProxyInvocationHandler.java
@@ -1,6 +1,6 @@
-package com.innowhere.relproxy.impl.gproxy.core;
+package com.sillelien.relproxy.impl.gproxy.core;
-import com.innowhere.relproxy.impl.GenericProxyInvocationHandler;
+import com.sillelien.relproxy.impl.GenericProxyInvocationHandler;
/**
*
@@ -19,4 +19,4 @@ public GProxyImpl getGProxyImpl()
return (GProxyImpl)root;
}
-}
\ No newline at end of file
+}
diff --git a/src/main/java/com/innowhere/relproxy/impl/gproxy/core/GProxyVersionedObject.java b/src/main/java/com/sillelien/relproxy/impl/gproxy/core/GProxyVersionedObject.java
similarity index 87%
rename from src/main/java/com/innowhere/relproxy/impl/gproxy/core/GProxyVersionedObject.java
rename to src/main/java/com/sillelien/relproxy/impl/gproxy/core/GProxyVersionedObject.java
index 38f574c..f57bf53 100644
--- a/src/main/java/com/innowhere/relproxy/impl/gproxy/core/GProxyVersionedObject.java
+++ b/src/main/java/com/sillelien/relproxy/impl/gproxy/core/GProxyVersionedObject.java
@@ -1,7 +1,7 @@
-package com.innowhere.relproxy.impl.gproxy.core;
+package com.sillelien.relproxy.impl.gproxy.core;
-import com.innowhere.relproxy.gproxy.GProxyGroovyScriptEngine;
-import com.innowhere.relproxy.impl.GenericProxyVersionedObject;
+import com.sillelien.relproxy.gproxy.GProxyGroovyScriptEngine;
+import com.sillelien.relproxy.impl.GenericProxyVersionedObject;
import java.lang.reflect.Field;
/**
diff --git a/src/main/java/com/innowhere/relproxy/impl/jproxy/JProxyConfigImpl.java b/src/main/java/com/sillelien/relproxy/impl/jproxy/JProxyConfigImpl.java
similarity index 88%
rename from src/main/java/com/innowhere/relproxy/impl/jproxy/JProxyConfigImpl.java
rename to src/main/java/com/sillelien/relproxy/impl/jproxy/JProxyConfigImpl.java
index 8dc72f0..cc095a2 100644
--- a/src/main/java/com/innowhere/relproxy/impl/jproxy/JProxyConfigImpl.java
+++ b/src/main/java/com/sillelien/relproxy/impl/jproxy/JProxyConfigImpl.java
@@ -1,13 +1,13 @@
-package com.innowhere.relproxy.impl.jproxy;
+package com.sillelien.relproxy.impl.jproxy;
-import com.innowhere.relproxy.RelProxyException;
-import com.innowhere.relproxy.RelProxyOnReloadListener;
-import com.innowhere.relproxy.impl.GenericProxyConfigBaseImpl;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.FolderSourceList;
-import com.innowhere.relproxy.jproxy.JProxyCompilerListener;
-import com.innowhere.relproxy.jproxy.JProxyConfig;
-import com.innowhere.relproxy.jproxy.JProxyDiagnosticsListener;
-import com.innowhere.relproxy.jproxy.JProxyInputSourceFileExcludedListener;
+import com.sillelien.relproxy.RelProxyException;
+import com.sillelien.relproxy.RelProxyOnReloadListener;
+import com.sillelien.relproxy.impl.GenericProxyConfigBaseImpl;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.FolderSourceList;
+import com.sillelien.relproxy.jproxy.JProxyCompilerListener;
+import com.sillelien.relproxy.jproxy.JProxyConfig;
+import com.sillelien.relproxy.jproxy.JProxyDiagnosticsListener;
+import com.sillelien.relproxy.jproxy.JProxyInputSourceFileExcludedListener;
import java.io.File;
/**
diff --git a/src/main/java/com/innowhere/relproxy/impl/jproxy/JProxyDefaultImpl.java b/src/main/java/com/sillelien/relproxy/impl/jproxy/JProxyDefaultImpl.java
similarity index 92%
rename from src/main/java/com/innowhere/relproxy/impl/jproxy/JProxyDefaultImpl.java
rename to src/main/java/com/sillelien/relproxy/impl/jproxy/JProxyDefaultImpl.java
index 5b9d6d0..92ab460 100644
--- a/src/main/java/com/innowhere/relproxy/impl/jproxy/JProxyDefaultImpl.java
+++ b/src/main/java/com/sillelien/relproxy/impl/jproxy/JProxyDefaultImpl.java
@@ -1,7 +1,7 @@
-package com.innowhere.relproxy.impl.jproxy;
+package com.sillelien.relproxy.impl.jproxy;
-import com.innowhere.relproxy.impl.jproxy.core.JProxyImpl;
-import com.innowhere.relproxy.jproxy.JProxyConfig;
+import com.sillelien.relproxy.impl.jproxy.core.JProxyImpl;
+import com.sillelien.relproxy.jproxy.JProxyConfig;
/**
*
diff --git a/src/main/java/com/innowhere/relproxy/impl/jproxy/JProxyUtil.java b/src/main/java/com/sillelien/relproxy/impl/jproxy/JProxyUtil.java
similarity index 97%
rename from src/main/java/com/innowhere/relproxy/impl/jproxy/JProxyUtil.java
rename to src/main/java/com/sillelien/relproxy/impl/jproxy/JProxyUtil.java
index d8e46e3..b63a961 100644
--- a/src/main/java/com/innowhere/relproxy/impl/jproxy/JProxyUtil.java
+++ b/src/main/java/com/sillelien/relproxy/impl/jproxy/JProxyUtil.java
@@ -1,6 +1,6 @@
-package com.innowhere.relproxy.impl.jproxy;
+package com.sillelien.relproxy.impl.jproxy;
-import com.innowhere.relproxy.RelProxyException;
+import com.sillelien.relproxy.RelProxyException;
import java.io.BufferedReader;
import java.io.ByteArrayOutputStream;
import java.io.File;
diff --git a/src/main/java/com/innowhere/relproxy/impl/jproxy/core/JProxyImpl.java b/src/main/java/com/sillelien/relproxy/impl/jproxy/core/JProxyImpl.java
similarity index 78%
rename from src/main/java/com/innowhere/relproxy/impl/jproxy/core/JProxyImpl.java
rename to src/main/java/com/sillelien/relproxy/impl/jproxy/core/JProxyImpl.java
index b9ea4da..1690794 100644
--- a/src/main/java/com/innowhere/relproxy/impl/jproxy/core/JProxyImpl.java
+++ b/src/main/java/com/sillelien/relproxy/impl/jproxy/core/JProxyImpl.java
@@ -1,15 +1,15 @@
-package com.innowhere.relproxy.impl.jproxy.core;
+package com.sillelien.relproxy.impl.jproxy.core;
-import com.innowhere.relproxy.impl.GenericProxyImpl;
-import com.innowhere.relproxy.impl.GenericProxyInvocationHandler;
-import com.innowhere.relproxy.impl.jproxy.JProxyConfigImpl;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptorSourceScript;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.FolderSourceList;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.JProxyEngine;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.srcunit.SourceScriptRoot;
-import com.innowhere.relproxy.jproxy.JProxyCompilerListener;
-import com.innowhere.relproxy.jproxy.JProxyDiagnosticsListener;
-import com.innowhere.relproxy.jproxy.JProxyInputSourceFileExcludedListener;
+import com.sillelien.relproxy.impl.GenericProxyImpl;
+import com.sillelien.relproxy.impl.GenericProxyInvocationHandler;
+import com.sillelien.relproxy.impl.jproxy.JProxyConfigImpl;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptorSourceScript;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.FolderSourceList;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.JProxyEngine;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.srcunit.SourceScriptRoot;
+import com.sillelien.relproxy.jproxy.JProxyCompilerListener;
+import com.sillelien.relproxy.jproxy.JProxyDiagnosticsListener;
+import com.sillelien.relproxy.jproxy.JProxyInputSourceFileExcludedListener;
/**
*
diff --git a/src/main/java/com/innowhere/relproxy/impl/jproxy/core/JProxyInvocationHandler.java b/src/main/java/com/sillelien/relproxy/impl/jproxy/core/JProxyInvocationHandler.java
similarity index 75%
rename from src/main/java/com/innowhere/relproxy/impl/jproxy/core/JProxyInvocationHandler.java
rename to src/main/java/com/sillelien/relproxy/impl/jproxy/core/JProxyInvocationHandler.java
index ebef741..ef748f4 100644
--- a/src/main/java/com/innowhere/relproxy/impl/jproxy/core/JProxyInvocationHandler.java
+++ b/src/main/java/com/sillelien/relproxy/impl/jproxy/core/JProxyInvocationHandler.java
@@ -1,7 +1,7 @@
-package com.innowhere.relproxy.impl.jproxy.core;
+package com.sillelien.relproxy.impl.jproxy.core;
-import com.innowhere.relproxy.impl.GenericProxyInvocationHandler;
+import com.sillelien.relproxy.impl.GenericProxyInvocationHandler;
/**
*
@@ -20,4 +20,4 @@ public JProxyImpl getJProxyImpl()
return (JProxyImpl)root;
}
-}
\ No newline at end of file
+}
diff --git a/src/main/java/com/innowhere/relproxy/impl/jproxy/core/JProxyVersionedObject.java b/src/main/java/com/sillelien/relproxy/impl/jproxy/core/JProxyVersionedObject.java
similarity index 83%
rename from src/main/java/com/innowhere/relproxy/impl/jproxy/core/JProxyVersionedObject.java
rename to src/main/java/com/sillelien/relproxy/impl/jproxy/core/JProxyVersionedObject.java
index ded542f..bb20998 100644
--- a/src/main/java/com/innowhere/relproxy/impl/jproxy/core/JProxyVersionedObject.java
+++ b/src/main/java/com/sillelien/relproxy/impl/jproxy/core/JProxyVersionedObject.java
@@ -1,7 +1,7 @@
-package com.innowhere.relproxy.impl.jproxy.core;
+package com.sillelien.relproxy.impl.jproxy.core;
-import com.innowhere.relproxy.impl.GenericProxyVersionedObject;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.JProxyEngine;
+import com.sillelien.relproxy.impl.GenericProxyVersionedObject;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.JProxyEngine;
import java.lang.reflect.Field;
/**
@@ -36,4 +36,4 @@ protected boolean ignoreField(Field field)
{
return false; // Todos cuentan (útil en Groovy no en Java)
}
-}
\ No newline at end of file
+}
diff --git a/src/main/java/com/innowhere/relproxy/impl/jproxy/core/clsmgr/FolderSourceList.java b/src/main/java/com/sillelien/relproxy/impl/jproxy/core/clsmgr/FolderSourceList.java
similarity index 95%
rename from src/main/java/com/innowhere/relproxy/impl/jproxy/core/clsmgr/FolderSourceList.java
rename to src/main/java/com/sillelien/relproxy/impl/jproxy/core/clsmgr/FolderSourceList.java
index 248a714..31c7dd7 100644
--- a/src/main/java/com/innowhere/relproxy/impl/jproxy/core/clsmgr/FolderSourceList.java
+++ b/src/main/java/com/sillelien/relproxy/impl/jproxy/core/clsmgr/FolderSourceList.java
@@ -1,7 +1,7 @@
-package com.innowhere.relproxy.impl.jproxy.core.clsmgr;
+package com.sillelien.relproxy.impl.jproxy.core.clsmgr;
-import com.innowhere.relproxy.RelProxyException;
-import com.innowhere.relproxy.impl.FileExt;
+import com.sillelien.relproxy.RelProxyException;
+import com.sillelien.relproxy.impl.FileExt;
import java.io.File;
/**
diff --git a/src/main/java/com/innowhere/relproxy/impl/jproxy/core/clsmgr/JProxyClassLoader.java b/src/main/java/com/sillelien/relproxy/impl/jproxy/core/clsmgr/JProxyClassLoader.java
similarity index 96%
rename from src/main/java/com/innowhere/relproxy/impl/jproxy/core/clsmgr/JProxyClassLoader.java
rename to src/main/java/com/sillelien/relproxy/impl/jproxy/core/clsmgr/JProxyClassLoader.java
index 19c7b33..b27dfb4 100644
--- a/src/main/java/com/innowhere/relproxy/impl/jproxy/core/clsmgr/JProxyClassLoader.java
+++ b/src/main/java/com/sillelien/relproxy/impl/jproxy/core/clsmgr/JProxyClassLoader.java
@@ -1,8 +1,8 @@
-package com.innowhere.relproxy.impl.jproxy.core.clsmgr;
+package com.sillelien.relproxy.impl.jproxy.core.clsmgr;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptorSourceUnit;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptor;
-import com.innowhere.relproxy.impl.jproxy.JProxyUtil;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptorSourceUnit;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptor;
+import com.sillelien.relproxy.impl.jproxy.JProxyUtil;
import java.net.URL;
/**
diff --git a/src/main/java/com/innowhere/relproxy/impl/jproxy/core/clsmgr/JProxyEngine.java b/src/main/java/com/sillelien/relproxy/impl/jproxy/core/clsmgr/JProxyEngine.java
similarity index 94%
rename from src/main/java/com/innowhere/relproxy/impl/jproxy/core/clsmgr/JProxyEngine.java
rename to src/main/java/com/sillelien/relproxy/impl/jproxy/core/clsmgr/JProxyEngine.java
index e662177..61fef71 100644
--- a/src/main/java/com/innowhere/relproxy/impl/jproxy/core/clsmgr/JProxyEngine.java
+++ b/src/main/java/com/sillelien/relproxy/impl/jproxy/core/clsmgr/JProxyEngine.java
@@ -1,15 +1,15 @@
-package com.innowhere.relproxy.impl.jproxy.core.clsmgr;
+package com.sillelien.relproxy.impl.jproxy.core.clsmgr;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.srcunit.SourceScriptRoot;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptorSourceUnit;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptor;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptorSourceFileRegistry;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptorInner;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptorSourceScript;
-import com.innowhere.relproxy.impl.jproxy.core.JProxyImpl;
-import com.innowhere.relproxy.jproxy.JProxyCompilerListener;
-import com.innowhere.relproxy.jproxy.JProxyDiagnosticsListener;
-import com.innowhere.relproxy.jproxy.JProxyInputSourceFileExcludedListener;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.srcunit.SourceScriptRoot;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptorSourceUnit;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptor;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptorSourceFileRegistry;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptorInner;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptorSourceScript;
+import com.sillelien.relproxy.impl.jproxy.core.JProxyImpl;
+import com.sillelien.relproxy.jproxy.JProxyCompilerListener;
+import com.sillelien.relproxy.jproxy.JProxyDiagnosticsListener;
+import com.sillelien.relproxy.jproxy.JProxyInputSourceFileExcludedListener;
import java.util.LinkedList;
import java.util.Timer;
import java.util.TimerTask;
diff --git a/src/main/java/com/innowhere/relproxy/impl/jproxy/core/clsmgr/JProxyEngineChangeDetectorAndCompiler.java b/src/main/java/com/sillelien/relproxy/impl/jproxy/core/clsmgr/JProxyEngineChangeDetectorAndCompiler.java
similarity index 93%
rename from src/main/java/com/innowhere/relproxy/impl/jproxy/core/clsmgr/JProxyEngineChangeDetectorAndCompiler.java
rename to src/main/java/com/sillelien/relproxy/impl/jproxy/core/clsmgr/JProxyEngineChangeDetectorAndCompiler.java
index e58b76b..1cd6537 100644
--- a/src/main/java/com/innowhere/relproxy/impl/jproxy/core/clsmgr/JProxyEngineChangeDetectorAndCompiler.java
+++ b/src/main/java/com/sillelien/relproxy/impl/jproxy/core/clsmgr/JProxyEngineChangeDetectorAndCompiler.java
@@ -1,21 +1,21 @@
-package com.innowhere.relproxy.impl.jproxy.core.clsmgr;
+package com.sillelien.relproxy.impl.jproxy.core.clsmgr;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.srcunit.SourceScriptRootInMemory;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.srcunit.SourceScriptRoot;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.srcunit.SourceUnit;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.srcunit.SourceScriptRootFile;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.srcunit.SourceFileJavaNormal;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptorSourceUnit;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptor;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptorSourceFileRegistry;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptorInner;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptorSourceScript;
-import com.innowhere.relproxy.impl.jproxy.JProxyUtil;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.comp.JProxyCompilerContext;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.comp.JProxyCompilerInMemory;
-import com.innowhere.relproxy.jproxy.JProxyCompilerListener;
-import com.innowhere.relproxy.jproxy.JProxyDiagnosticsListener;
-import com.innowhere.relproxy.jproxy.JProxyInputSourceFileExcludedListener;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.srcunit.SourceScriptRootInMemory;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.srcunit.SourceScriptRoot;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.srcunit.SourceUnit;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.srcunit.SourceScriptRootFile;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.srcunit.SourceFileJavaNormal;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptorSourceUnit;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptor;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptorSourceFileRegistry;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptorInner;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptorSourceScript;
+import com.sillelien.relproxy.impl.jproxy.JProxyUtil;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.comp.JProxyCompilerContext;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.comp.JProxyCompilerInMemory;
+import com.sillelien.relproxy.jproxy.JProxyCompilerListener;
+import com.sillelien.relproxy.jproxy.JProxyDiagnosticsListener;
+import com.sillelien.relproxy.jproxy.JProxyInputSourceFileExcludedListener;
import java.io.File;
import java.util.ArrayList;
import java.util.LinkedList;
diff --git a/src/main/java/com/innowhere/relproxy/impl/jproxy/core/clsmgr/JavaSourcesSearch.java b/src/main/java/com/sillelien/relproxy/impl/jproxy/core/clsmgr/JavaSourcesSearch.java
similarity index 92%
rename from src/main/java/com/innowhere/relproxy/impl/jproxy/core/clsmgr/JavaSourcesSearch.java
rename to src/main/java/com/sillelien/relproxy/impl/jproxy/core/clsmgr/JavaSourcesSearch.java
index d6d8a6a..d680220 100644
--- a/src/main/java/com/innowhere/relproxy/impl/jproxy/core/clsmgr/JavaSourcesSearch.java
+++ b/src/main/java/com/sillelien/relproxy/impl/jproxy/core/clsmgr/JavaSourcesSearch.java
@@ -1,18 +1,18 @@
-package com.innowhere.relproxy.impl.jproxy.core.clsmgr;
+package com.sillelien.relproxy.impl.jproxy.core.clsmgr;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.srcunit.SourceScriptRootFileJavaExt;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.srcunit.SourceScriptRoot;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.srcunit.SourceUnit;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.srcunit.SourceFileJavaNormal;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptorSourceUnit;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptor;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptorSourceFileRegistry;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptorSourceFileJava;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptorSourceScript;
-import com.innowhere.relproxy.RelProxyException;
-import com.innowhere.relproxy.impl.FileExt;
-import com.innowhere.relproxy.impl.jproxy.JProxyUtil;
-import com.innowhere.relproxy.jproxy.JProxyInputSourceFileExcludedListener;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.srcunit.SourceScriptRootFileJavaExt;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.srcunit.SourceScriptRoot;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.srcunit.SourceUnit;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.srcunit.SourceFileJavaNormal;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptorSourceUnit;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptor;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptorSourceFileRegistry;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptorSourceFileJava;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptorSourceScript;
+import com.sillelien.relproxy.RelProxyException;
+import com.sillelien.relproxy.impl.FileExt;
+import com.sillelien.relproxy.impl.jproxy.JProxyUtil;
+import com.sillelien.relproxy.jproxy.JProxyInputSourceFileExcludedListener;
import java.io.File;
import java.net.URL;
import java.util.LinkedList;
diff --git a/src/main/java/com/innowhere/relproxy/impl/jproxy/core/clsmgr/cldesc/ClassDescriptor.java b/src/main/java/com/sillelien/relproxy/impl/jproxy/core/clsmgr/cldesc/ClassDescriptor.java
similarity index 98%
rename from src/main/java/com/innowhere/relproxy/impl/jproxy/core/clsmgr/cldesc/ClassDescriptor.java
rename to src/main/java/com/sillelien/relproxy/impl/jproxy/core/clsmgr/cldesc/ClassDescriptor.java
index 11c443d..659a846 100644
--- a/src/main/java/com/innowhere/relproxy/impl/jproxy/core/clsmgr/cldesc/ClassDescriptor.java
+++ b/src/main/java/com/sillelien/relproxy/impl/jproxy/core/clsmgr/cldesc/ClassDescriptor.java
@@ -1,4 +1,4 @@
-package com.innowhere.relproxy.impl.jproxy.core.clsmgr.cldesc;
+package com.sillelien.relproxy.impl.jproxy.core.clsmgr.cldesc;
import java.io.File;
diff --git a/src/main/java/com/innowhere/relproxy/impl/jproxy/core/clsmgr/cldesc/ClassDescriptorInner.java b/src/main/java/com/sillelien/relproxy/impl/jproxy/core/clsmgr/cldesc/ClassDescriptorInner.java
similarity index 89%
rename from src/main/java/com/innowhere/relproxy/impl/jproxy/core/clsmgr/cldesc/ClassDescriptorInner.java
rename to src/main/java/com/sillelien/relproxy/impl/jproxy/core/clsmgr/cldesc/ClassDescriptorInner.java
index d78d72b..30d5f23 100644
--- a/src/main/java/com/innowhere/relproxy/impl/jproxy/core/clsmgr/cldesc/ClassDescriptorInner.java
+++ b/src/main/java/com/sillelien/relproxy/impl/jproxy/core/clsmgr/cldesc/ClassDescriptorInner.java
@@ -1,4 +1,4 @@
-package com.innowhere.relproxy.impl.jproxy.core.clsmgr.cldesc;
+package com.sillelien.relproxy.impl.jproxy.core.clsmgr.cldesc;
/**
*
diff --git a/src/main/java/com/innowhere/relproxy/impl/jproxy/core/clsmgr/cldesc/ClassDescriptorSourceFileJava.java b/src/main/java/com/sillelien/relproxy/impl/jproxy/core/clsmgr/cldesc/ClassDescriptorSourceFileJava.java
similarity index 70%
rename from src/main/java/com/innowhere/relproxy/impl/jproxy/core/clsmgr/cldesc/ClassDescriptorSourceFileJava.java
rename to src/main/java/com/sillelien/relproxy/impl/jproxy/core/clsmgr/cldesc/ClassDescriptorSourceFileJava.java
index 0586c19..3fe12c8 100644
--- a/src/main/java/com/innowhere/relproxy/impl/jproxy/core/clsmgr/cldesc/ClassDescriptorSourceFileJava.java
+++ b/src/main/java/com/sillelien/relproxy/impl/jproxy/core/clsmgr/cldesc/ClassDescriptorSourceFileJava.java
@@ -1,8 +1,8 @@
-package com.innowhere.relproxy.impl.jproxy.core.clsmgr.cldesc;
+package com.sillelien.relproxy.impl.jproxy.core.clsmgr.cldesc;
-import com.innowhere.relproxy.impl.FileExt;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.JProxyEngine;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.srcunit.SourceFileJavaNormal;
+import com.sillelien.relproxy.impl.FileExt;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.JProxyEngine;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.srcunit.SourceFileJavaNormal;
/**
*
diff --git a/src/main/java/com/innowhere/relproxy/impl/jproxy/core/clsmgr/cldesc/ClassDescriptorSourceFileRegistry.java b/src/main/java/com/sillelien/relproxy/impl/jproxy/core/clsmgr/cldesc/ClassDescriptorSourceFileRegistry.java
similarity index 98%
rename from src/main/java/com/innowhere/relproxy/impl/jproxy/core/clsmgr/cldesc/ClassDescriptorSourceFileRegistry.java
rename to src/main/java/com/sillelien/relproxy/impl/jproxy/core/clsmgr/cldesc/ClassDescriptorSourceFileRegistry.java
index ba2e1d7..6728995 100644
--- a/src/main/java/com/innowhere/relproxy/impl/jproxy/core/clsmgr/cldesc/ClassDescriptorSourceFileRegistry.java
+++ b/src/main/java/com/sillelien/relproxy/impl/jproxy/core/clsmgr/cldesc/ClassDescriptorSourceFileRegistry.java
@@ -1,4 +1,4 @@
-package com.innowhere.relproxy.impl.jproxy.core.clsmgr.cldesc;
+package com.sillelien.relproxy.impl.jproxy.core.clsmgr.cldesc;
import java.util.Collection;
import java.util.HashMap;
diff --git a/src/main/java/com/innowhere/relproxy/impl/jproxy/core/clsmgr/cldesc/ClassDescriptorSourceScript.java b/src/main/java/com/sillelien/relproxy/impl/jproxy/core/clsmgr/cldesc/ClassDescriptorSourceScript.java
similarity index 96%
rename from src/main/java/com/innowhere/relproxy/impl/jproxy/core/clsmgr/cldesc/ClassDescriptorSourceScript.java
rename to src/main/java/com/sillelien/relproxy/impl/jproxy/core/clsmgr/cldesc/ClassDescriptorSourceScript.java
index 780c575..2a69b59 100644
--- a/src/main/java/com/innowhere/relproxy/impl/jproxy/core/clsmgr/cldesc/ClassDescriptorSourceScript.java
+++ b/src/main/java/com/sillelien/relproxy/impl/jproxy/core/clsmgr/cldesc/ClassDescriptorSourceScript.java
@@ -1,9 +1,9 @@
-package com.innowhere.relproxy.impl.jproxy.core.clsmgr.cldesc;
+package com.sillelien.relproxy.impl.jproxy.core.clsmgr.cldesc;
-import com.innowhere.relproxy.RelProxyException;
-import com.innowhere.relproxy.impl.jproxy.core.JProxyImpl;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.JProxyEngine;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.srcunit.SourceScriptRoot;
+import com.sillelien.relproxy.RelProxyException;
+import com.sillelien.relproxy.impl.jproxy.core.JProxyImpl;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.JProxyEngine;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.srcunit.SourceScriptRoot;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.LinkedList;
diff --git a/src/main/java/com/innowhere/relproxy/impl/jproxy/core/clsmgr/cldesc/ClassDescriptorSourceUnit.java b/src/main/java/com/sillelien/relproxy/impl/jproxy/core/clsmgr/cldesc/ClassDescriptorSourceUnit.java
similarity index 92%
rename from src/main/java/com/innowhere/relproxy/impl/jproxy/core/clsmgr/cldesc/ClassDescriptorSourceUnit.java
rename to src/main/java/com/sillelien/relproxy/impl/jproxy/core/clsmgr/cldesc/ClassDescriptorSourceUnit.java
index 3e2c858..931378f 100644
--- a/src/main/java/com/innowhere/relproxy/impl/jproxy/core/clsmgr/cldesc/ClassDescriptorSourceUnit.java
+++ b/src/main/java/com/sillelien/relproxy/impl/jproxy/core/clsmgr/cldesc/ClassDescriptorSourceUnit.java
@@ -1,9 +1,9 @@
-package com.innowhere.relproxy.impl.jproxy.core.clsmgr.cldesc;
+package com.sillelien.relproxy.impl.jproxy.core.clsmgr.cldesc;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.JProxyEngine;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.srcunit.SourceFileJavaNormal;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.srcunit.SourceScriptRoot;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.srcunit.SourceUnit;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.JProxyEngine;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.srcunit.SourceFileJavaNormal;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.srcunit.SourceScriptRoot;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.srcunit.SourceUnit;
import java.util.LinkedList;
/**
diff --git a/src/main/java/com/innowhere/relproxy/impl/jproxy/core/clsmgr/comp/JProxyCompilationException.java b/src/main/java/com/sillelien/relproxy/impl/jproxy/core/clsmgr/comp/JProxyCompilationException.java
similarity index 72%
rename from src/main/java/com/innowhere/relproxy/impl/jproxy/core/clsmgr/comp/JProxyCompilationException.java
rename to src/main/java/com/sillelien/relproxy/impl/jproxy/core/clsmgr/comp/JProxyCompilationException.java
index 7bf171a..90c2d23 100644
--- a/src/main/java/com/innowhere/relproxy/impl/jproxy/core/clsmgr/comp/JProxyCompilationException.java
+++ b/src/main/java/com/sillelien/relproxy/impl/jproxy/core/clsmgr/comp/JProxyCompilationException.java
@@ -1,8 +1,8 @@
-package com.innowhere.relproxy.impl.jproxy.core.clsmgr.comp;
+package com.sillelien.relproxy.impl.jproxy.core.clsmgr.comp;
-import com.innowhere.relproxy.RelProxyException;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptorSourceUnit;
+import com.sillelien.relproxy.RelProxyException;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptorSourceUnit;
/**
*
diff --git a/src/main/java/com/innowhere/relproxy/impl/jproxy/core/clsmgr/comp/JProxyCompilerContext.java b/src/main/java/com/sillelien/relproxy/impl/jproxy/core/clsmgr/comp/JProxyCompilerContext.java
similarity index 93%
rename from src/main/java/com/innowhere/relproxy/impl/jproxy/core/clsmgr/comp/JProxyCompilerContext.java
rename to src/main/java/com/sillelien/relproxy/impl/jproxy/core/clsmgr/comp/JProxyCompilerContext.java
index ab483ec..9b9d9b3 100644
--- a/src/main/java/com/innowhere/relproxy/impl/jproxy/core/clsmgr/comp/JProxyCompilerContext.java
+++ b/src/main/java/com/sillelien/relproxy/impl/jproxy/core/clsmgr/comp/JProxyCompilerContext.java
@@ -1,7 +1,7 @@
-package com.innowhere.relproxy.impl.jproxy.core.clsmgr.comp;
+package com.sillelien.relproxy.impl.jproxy.core.clsmgr.comp;
-import com.innowhere.relproxy.RelProxyException;
-import com.innowhere.relproxy.jproxy.JProxyDiagnosticsListener;
+import com.sillelien.relproxy.RelProxyException;
+import com.sillelien.relproxy.jproxy.JProxyDiagnosticsListener;
import java.io.IOException;
import java.util.List;
import javax.tools.Diagnostic;
diff --git a/src/main/java/com/innowhere/relproxy/impl/jproxy/core/clsmgr/comp/JProxyCompilerInMemory.java b/src/main/java/com/sillelien/relproxy/impl/jproxy/core/clsmgr/comp/JProxyCompilerInMemory.java
similarity index 92%
rename from src/main/java/com/innowhere/relproxy/impl/jproxy/core/clsmgr/comp/JProxyCompilerInMemory.java
rename to src/main/java/com/sillelien/relproxy/impl/jproxy/core/clsmgr/comp/JProxyCompilerInMemory.java
index b00df77..90a3946 100644
--- a/src/main/java/com/innowhere/relproxy/impl/jproxy/core/clsmgr/comp/JProxyCompilerInMemory.java
+++ b/src/main/java/com/sillelien/relproxy/impl/jproxy/core/clsmgr/comp/JProxyCompilerInMemory.java
@@ -1,17 +1,17 @@
-package com.innowhere.relproxy.impl.jproxy.core.clsmgr.comp;
+package com.sillelien.relproxy.impl.jproxy.core.clsmgr.comp;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.comp.jfo.JavaFileObjectInputSourceInMemory;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.comp.jfo.JavaFileObjectOutputClass;
-import com.innowhere.relproxy.RelProxyException;
-import com.innowhere.relproxy.impl.FileExt;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptor;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptorInner;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptorSourceUnit;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptorSourceFileJava;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptorSourceFileRegistry;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptorSourceScript;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.JProxyEngineChangeDetectorAndCompiler;
-import com.innowhere.relproxy.jproxy.JProxyDiagnosticsListener;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.comp.jfo.JavaFileObjectInputSourceInMemory;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.comp.jfo.JavaFileObjectOutputClass;
+import com.sillelien.relproxy.RelProxyException;
+import com.sillelien.relproxy.impl.FileExt;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptor;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptorInner;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptorSourceUnit;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptorSourceFileJava;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptorSourceFileRegistry;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptorSourceScript;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.JProxyEngineChangeDetectorAndCompiler;
+import com.sillelien.relproxy.jproxy.JProxyDiagnosticsListener;
import java.io.File;
import java.util.ArrayList;
import java.util.LinkedList;
diff --git a/src/main/java/com/innowhere/relproxy/impl/jproxy/core/clsmgr/comp/JavaFileManagerInMemory.java b/src/main/java/com/sillelien/relproxy/impl/jproxy/core/clsmgr/comp/JavaFileManagerInMemory.java
similarity index 92%
rename from src/main/java/com/innowhere/relproxy/impl/jproxy/core/clsmgr/comp/JavaFileManagerInMemory.java
rename to src/main/java/com/sillelien/relproxy/impl/jproxy/core/clsmgr/comp/JavaFileManagerInMemory.java
index d1f39bd..46c6e43 100644
--- a/src/main/java/com/innowhere/relproxy/impl/jproxy/core/clsmgr/comp/JavaFileManagerInMemory.java
+++ b/src/main/java/com/sillelien/relproxy/impl/jproxy/core/clsmgr/comp/JavaFileManagerInMemory.java
@@ -1,12 +1,12 @@
-package com.innowhere.relproxy.impl.jproxy.core.clsmgr.comp;
+package com.sillelien.relproxy.impl.jproxy.core.clsmgr.comp;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.comp.jfo.JProxyJavaFileObjectInput;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.comp.jfo.JavaFileObjectInputClassInMemory;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.comp.jfo.JavaFileObjectInputClassInFileSystem;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.comp.jfo.JavaFileObjectOutputClass;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptorSourceUnit;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptorSourceFileRegistry;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.FolderSourceList;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.comp.jfo.JProxyJavaFileObjectInput;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.comp.jfo.JavaFileObjectInputClassInMemory;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.comp.jfo.JavaFileObjectInputClassInFileSystem;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.comp.jfo.JavaFileObjectOutputClass;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptorSourceUnit;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptorSourceFileRegistry;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.FolderSourceList;
import java.io.IOException;
import java.util.Collection;
import java.util.Collections;
@@ -126,4 +126,4 @@ public String inferBinaryName(Location location, JavaFileObject file)
return super.inferBinaryName(location, file);
}
-}
\ No newline at end of file
+}
diff --git a/src/main/java/com/innowhere/relproxy/impl/jproxy/core/clsmgr/comp/JavaFileObjectInputClassFinderByClassLoader.java b/src/main/java/com/sillelien/relproxy/impl/jproxy/core/clsmgr/comp/JavaFileObjectInputClassFinderByClassLoader.java
similarity index 95%
rename from src/main/java/com/innowhere/relproxy/impl/jproxy/core/clsmgr/comp/JavaFileObjectInputClassFinderByClassLoader.java
rename to src/main/java/com/sillelien/relproxy/impl/jproxy/core/clsmgr/comp/JavaFileObjectInputClassFinderByClassLoader.java
index fab17f4..e88c91e 100644
--- a/src/main/java/com/innowhere/relproxy/impl/jproxy/core/clsmgr/comp/JavaFileObjectInputClassFinderByClassLoader.java
+++ b/src/main/java/com/sillelien/relproxy/impl/jproxy/core/clsmgr/comp/JavaFileObjectInputClassFinderByClassLoader.java
@@ -1,12 +1,12 @@
-package com.innowhere.relproxy.impl.jproxy.core.clsmgr.comp;
-
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.comp.jfo.JavaFileObjectInputClassInFile;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.comp.jfo.JavaFileObjectInputClassInFileSystem;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.comp.jfo.JavaFileObjectInputClassInJar;
-import com.innowhere.relproxy.RelProxyException;
-import com.innowhere.relproxy.impl.FileExt;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptor;
-import com.innowhere.relproxy.impl.jproxy.core.clsmgr.FolderSourceList;
+package com.sillelien.relproxy.impl.jproxy.core.clsmgr.comp;
+
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.comp.jfo.JavaFileObjectInputClassInFile;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.comp.jfo.JavaFileObjectInputClassInFileSystem;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.comp.jfo.JavaFileObjectInputClassInJar;
+import com.sillelien.relproxy.RelProxyException;
+import com.sillelien.relproxy.impl.FileExt;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.cldesc.ClassDescriptor;
+import com.sillelien.relproxy.impl.jproxy.core.clsmgr.FolderSourceList;
import java.io.File;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
@@ -211,4 +211,4 @@ private void listUnderJarCustom(String packagePath,FileExt jarFile,CollectionJProxy and {@link JProxyScriptEngineFactory}.
diff --git a/src/main/java/com/innowhere/relproxy/jproxy/JProxyDiagnosticsListener.java b/src/main/java/com/sillelien/relproxy/jproxy/JProxyDiagnosticsListener.java
similarity index 93%
rename from src/main/java/com/innowhere/relproxy/jproxy/JProxyDiagnosticsListener.java
rename to src/main/java/com/sillelien/relproxy/jproxy/JProxyDiagnosticsListener.java
index bfc6663..563ebf5 100644
--- a/src/main/java/com/innowhere/relproxy/jproxy/JProxyDiagnosticsListener.java
+++ b/src/main/java/com/sillelien/relproxy/jproxy/JProxyDiagnosticsListener.java
@@ -1,4 +1,4 @@
-package com.innowhere.relproxy.jproxy;
+package com.sillelien.relproxy.jproxy;
import javax.tools.DiagnosticCollector;
import javax.tools.JavaFileObject;
diff --git a/src/main/java/com/innowhere/relproxy/jproxy/JProxyInputSourceFileExcludedListener.java b/src/main/java/com/sillelien/relproxy/jproxy/JProxyInputSourceFileExcludedListener.java
similarity index 95%
rename from src/main/java/com/innowhere/relproxy/jproxy/JProxyInputSourceFileExcludedListener.java
rename to src/main/java/com/sillelien/relproxy/jproxy/JProxyInputSourceFileExcludedListener.java
index 2602645..0fb92d4 100644
--- a/src/main/java/com/innowhere/relproxy/jproxy/JProxyInputSourceFileExcludedListener.java
+++ b/src/main/java/com/sillelien/relproxy/jproxy/JProxyInputSourceFileExcludedListener.java
@@ -1,4 +1,4 @@
-package com.innowhere.relproxy.jproxy;
+package com.sillelien.relproxy.jproxy;
import java.io.File;
diff --git a/src/main/java/com/innowhere/relproxy/jproxy/JProxyScriptEngine.java b/src/main/java/com/sillelien/relproxy/jproxy/JProxyScriptEngine.java
similarity index 98%
rename from src/main/java/com/innowhere/relproxy/jproxy/JProxyScriptEngine.java
rename to src/main/java/com/sillelien/relproxy/jproxy/JProxyScriptEngine.java
index 10a5ef7..3fd5806 100644
--- a/src/main/java/com/innowhere/relproxy/jproxy/JProxyScriptEngine.java
+++ b/src/main/java/com/sillelien/relproxy/jproxy/JProxyScriptEngine.java
@@ -1,4 +1,4 @@
-package com.innowhere.relproxy.jproxy;
+package com.sillelien.relproxy.jproxy;
import javax.script.ScriptEngine;
diff --git a/src/main/java/com/innowhere/relproxy/jproxy/JProxyScriptEngineFactory.java b/src/main/java/com/sillelien/relproxy/jproxy/JProxyScriptEngineFactory.java
similarity index 84%
rename from src/main/java/com/innowhere/relproxy/jproxy/JProxyScriptEngineFactory.java
rename to src/main/java/com/sillelien/relproxy/jproxy/JProxyScriptEngineFactory.java
index 434aad9..036f218 100644
--- a/src/main/java/com/innowhere/relproxy/jproxy/JProxyScriptEngineFactory.java
+++ b/src/main/java/com/sillelien/relproxy/jproxy/JProxyScriptEngineFactory.java
@@ -1,6 +1,6 @@
-package com.innowhere.relproxy.jproxy;
+package com.sillelien.relproxy.jproxy;
-import com.innowhere.relproxy.impl.jproxy.screngine.JProxyScriptEngineFactoryImpl;
+import com.sillelien.relproxy.impl.jproxy.screngine.JProxyScriptEngineFactoryImpl;
import javax.script.ScriptEngineFactory;
/**
diff --git a/src/main/java/com/innowhere/relproxy/jproxy/JProxyShell.java b/src/main/java/com/sillelien/relproxy/jproxy/JProxyShell.java
similarity index 83%
rename from src/main/java/com/innowhere/relproxy/jproxy/JProxyShell.java
rename to src/main/java/com/sillelien/relproxy/jproxy/JProxyShell.java
index baa3a66..d0e1024 100644
--- a/src/main/java/com/innowhere/relproxy/jproxy/JProxyShell.java
+++ b/src/main/java/com/sillelien/relproxy/jproxy/JProxyShell.java
@@ -1,6 +1,6 @@
-package com.innowhere.relproxy.jproxy;
+package com.sillelien.relproxy.jproxy;
-import com.innowhere.relproxy.impl.jproxy.shell.JProxyShellImpl;
+import com.sillelien.relproxy.impl.jproxy.shell.JProxyShellImpl;
/**
* Is the main class to execute shell scripting based on Java.
diff --git a/src/main/java/com/innowhere/relproxy/jproxy/package.html b/src/main/java/com/sillelien/relproxy/jproxy/package.html
similarity index 100%
rename from src/main/java/com/innowhere/relproxy/jproxy/package.html
rename to src/main/java/com/sillelien/relproxy/jproxy/package.html
diff --git a/src/main/java/com/innowhere/relproxy/package.html b/src/main/java/com/sillelien/relproxy/package.html
similarity index 100%
rename from src/main/java/com/innowhere/relproxy/package.html
rename to src/main/java/com/sillelien/relproxy/package.html
From 60373ea2a3e8e4dd4d5058e3f5eea914882b08cb Mon Sep 17 00:00:00 2001
From: "hello@neilellis.me"
Date: Fri, 7 Jul 2017 16:06:07 +0100
Subject: [PATCH 008/135] Release 0.9.7
[7/87e81f13b1ad084f95fcd3cca45cdcd542f23a3b] (direly-ablush-second)
---
.release | 2 +-
.release.details | 2 +-
README.md | 126 ++++++++++++++++++++++++++++++++++++++++++++++-
3 files changed, 126 insertions(+), 4 deletions(-)
diff --git a/.release b/.release
index b0bb878..c81aa44 100644
--- a/.release
+++ b/.release
@@ -1 +1 @@
-0.9.5
+0.9.7
diff --git a/.release.details b/.release.details
index 6d44865..41b3640 100644
--- a/.release.details
+++ b/.release.details
@@ -1 +1 @@
-0.9.5 5 642b55254650e2a01d9c583cfd56ad5e204a6233 often-dotal-manna
+0.9.7 7 87e81f13b1ad084f95fcd3cca45cdcd542f23a3b direly-ablush-second
diff --git a/README.md b/README.md
index 3681ee6..be83703 100644
--- a/README.md
+++ b/README.md
@@ -1,2 +1,124 @@
-# relproxy
-Simple Java and Groovy hot class reloader and Java based shell and scripting
+RelProxy
+========
+RelProxy is a simple Java and Groovy hot class reloader for Java and Groovy providing transparent compilation and class reload on the fly, and scripting support and shell of pure Java code.
+
+
+```xml
+
+com.sillelien.dollar
+relproxy
+0.9.7
+jar
+
+```
+
+Overview
+------
+
+RelProxy is a simple Java and Groovy hot class reloader for Java and Groovy providing transparent compilation and class reload on the fly, and scripting support and shell of pure
+Java code.
+
+RelProxy is:
+
+1) A simple Java and Groovy hot class reloader for Java and Groovy providing transparent compilation and class reload on the fly with no need of a bootstrap class loader agent and
+avoiding context reloading. Reloading happens only in memory. Class reloading can be used in development phase and optionally in production (if source code can be uploaded to
+production).
+
+2) A scripting environment to execute Java code snippets the same as a shell script. There is no new language, is Java compiled on the fly, code in the initial archive can call
+to other normal Java files. Optionally .class can be saved in a cache to provide the fastest "scripting" language of the world.
+
+3) Execution of Java code snippets in command line (no need of packaging into an archive).
+
+4) A simple shell to code, edit and execute code snippets in Java interactively.
+
+5) JSR 223 Scripting API implementation for "Java" as the target scripting language. You can embed and execute Java code as scripting into your Java program.
+
+
+
+In case of Java "scripting", there is no a new language, is pure Java code with compilation on the fly.
+
+RelProxy Manual explains how to configure and use RelProxy in NetBeans and Eclipse avoiding class reloading (of course other IDEs are possible).
+
+There are several examples of how to use RelProxy with most popular Java web frameworks ready to run into [RelProxy Examples](https://github.com/jmarranz/relproxy_examples)
+repository. Also [ItsNat Experiments](https://github.com/jmarranz/itsnat/tree/master/inexperiments) includes an ItsNat example using NetBeans with Ant, to reload Java and Groovy code.
+The most complex example is [relproxy_test_itsnat](https://github.com/jmarranz/relproxy/tree/master/relproxy_test_itsnat) created for internal testing.
+
+Besides fast and custom Java (and Groovy) class reloading, RelProxy provides a Java shell scripting environment to execute:
+
+1) A pure Java archive packaged like a shell script file with no need of previous compilation, compilation is done on the fly and optionally .class can be saved in a
+cache to provide the fastest "scripting" language of the world. Code in the initial archive can call to other normal Java files, again with compilation on the fly
+and optional compilation caching as .class files. [Example 1](https://github.com/jmarranz/relproxy/blob/master/relproxy/src/test/resources/example_java_shell)
+and [example 2](https://github.com/jmarranz/relproxy/blob/master/relproxy/src/test/resources/example_java_shell_complete_class) or just
+a conventional [Java source file](https://github.com/jmarranz/relproxy/blob/master/relproxy/src/test/resources/example_normal_class.java) (yes you can execute a conventional
+JavaSE application from source code).
+
+2) Execution of Java code snippets in command line (no need of packaging in an archive). [Example](https://github.com/jmarranz/relproxy/blob/master/relproxy/test_cmd/test_java_shell_snippet_launcher.sh).
+
+3) Interactive console to edit and execute Java code (ever compilation on the fly). [Example of launcher](https://github.com/jmarranz/relproxy/blob/master/relproxy/test_cmd/test_java_shell_interactive_launcher.sh)
+
+Finally RelProxy implements the official JSR-223 [Java Scripting API](http://docs.oracle.com/javase/6/docs/technotes/guides/scripting/programmer_guide/index.html) as found in Java 1.6 for "Java" language.
+By using this API you can embed Java as any other scripting language in your Java code.
+
+Yes, Java is also a dynamic scripting language with no need of manual compilation, and it is extremely fast and robust.
+
+
+Bug Reporting
+------
+
+Use this GitHub project.
+
+
+Historical Details
+==================
+
+Online Docs Last Version
+------
+
+[Manual](http://relproxy.sourceforge.net/docs/manual/manual.html)
+
+[JavaDocs](http://relproxy.sourceforge.net/docs/javadoc/)
+
+Examples
+------
+
+See the GitHub repository [RelProxy Examples](https://github.com/jmarranz/relproxy_examples)
+
+Questions and discussions
+------
+
+There is a [Google Group](https://groups.google.com/forum/#!forum/relproxy) for RelProxy.
+
+
+News
+------
+
+- 2016-3-16 v0.8.8 Released. Support of static final fields in reloadable proxies. [Release Notes](https://github.com/jmarranz/relproxy/blob/master/relproxy/CHANGES.txt)
+- 2015-10-6 DZone article: [Improve Productivity With RelProxy for Java](https://dzone.com/articles/embedding-relproxy-in-your-java-framework-to-provi). About embedding RelProxy in your own Java framework.
+- 2015-10-1 v0.8.7 Released. Some improvement needed when embedding RelProxy Java using the scripting API. [Release Notes](https://github.com/jmarranz/relproxy/blob/master/relproxy/CHANGES.txt)
+- 2015-6-12 v0.8.6 Released. Support of class reloading of inner classes including anonymous. [Release Notes](https://github.com/jmarranz/relproxy/blob/master/relproxy/CHANGES.txt)
+- 2015-6-12 v0.8.5 Released. Improved performance when checking source changes and no change is detected. [Release Notes](https://github.com/jmarranz/relproxy/blob/master/relproxy/CHANGES.txt)
+- 2015-2-17 v0.8.4 Released. Added workaround to support Liferay (6.2 tested) [Release Notes](https://github.com/jmarranz/relproxy/blob/master/relproxy/CHANGES.txt).
+ New [Liferay 6.2 example](https://github.com/jmarranz/relproxy_examples/tree/master/relproxy_ex_liferay-portlet) using RelProxy.
+- 2015-1-23 v0.8.3 Released. First release in JCenter and Maven Central [Release Notes](https://github.com/jmarranz/relproxy/blob/master/relproxy/CHANGES.txt)
+- 2015-2-5 [Java Hot Class Reloading with RelProxy in Development Mode, a GWT Example](http://java.dzone.com/articles/java-hot-class-reloading) JavaLobby article
+- 2015-1-30 [Slides](http://www.slideshare.net/jmarranz/relproxy-class-reload-and-easy-java-scripting) in English and [video](http://autentia.com/2015/01/30/relproxy-easy-class-reload-and-scripting-with-java-por-jose-maria-arranz/#) in Spanish of the RelProxy presentation in MadridJUG on January 28!
+
+
+
+Articles/Blogs/Presentations
+------
+
+- Oct 6,2015 [Improve Productivity With RelProxy for Java](https://dzone.com/articles/embedding-relproxy-in-your-java-framework-to-provi). About embedding RelProxy in your own Java framework.
+
+- Feb 19,2015 [No longer virgin, uploaded my first jar to Maven Central, and it was not nice](http://jmarranz.blogspot.com.es/2015/02/no-longer-virgin-uploaded-my-first-jar.html). [JavaLobby](http://java.dzone.com/articles/no-longer-virgin-uploaded-my). [Bintray Quote](http://blog.bintray.com/2015/02/19/another-one-bites-the-maven-central-dust-and-saved-by-bintray/).
+
+- Feb 5,2015 [Java Hot Class Reloading with RelProxy in Development Mode, a GWT Example](http://java.dzone.com/articles/java-hot-class-reloading)
+
+- Jan 28,2015 [Slides](http://www.slideshare.net/jmarranz/relproxy-class-reload-and-easy-java-scripting) in English and [video](http://autentia.com/2015/01/30/relproxy-easy-class-reload-and-scripting-with-java-por-jose-maria-arranz/#) ([youtube](https://www.youtube.com/watch?v=dyUhX6t5t-Y)) in Spanish of the RelProxy presentation in MadridJUG
+
+- Dec 31,2014 [RelProxy v0.8.1 reduce el numero de redeploys en GWT-RPC y otros Java web frameworks](http://www.javahispano.org/portada/2014/12/31/relproxy-v081-reduce-el-numero-de-redeploys-en-gwt-rpc-y-otr.html) Published at javaHispano
+
+- Feb 15,2014 [v0.8 announce at JavaLobby](http://java.dzone.com/articles/presenting-relproxy-hot-class)
+
+- Feb 12,2014 [v0.8 announce at javaHispano](http://www.javahispano.org/portada/2014/2/12/publicado-relproxy-v08-hot-class-reloader-y-scripting-para-j.html)
+
From d4f977f85a53fb90921532728ea86e77c1be6e02 Mon Sep 17 00:00:00 2001
From: neilellis
Date: Fri, 7 Jul 2017 16:10:39 +0100
Subject: [PATCH 009/135] Refactoring for Dollar project
---
README.tmpl.md | 20 ++++++++++++++++++--
1 file changed, 18 insertions(+), 2 deletions(-)
diff --git a/README.tmpl.md b/README.tmpl.md
index 934900c..b4ca0b4 100644
--- a/README.tmpl.md
+++ b/README.tmpl.md
@@ -1,6 +1,8 @@
-RelProxy
+${HEADER}
+
+RelProxy ${STATE_ALPHA}
========
-RelProxy is a simple Java and Groovy hot class reloader for Java and Groovy providing transparent compilation and class reload on the fly, and scripting support and shell of pure Java code.
+RelProxy is a simple Java and Groovy hot class reloader for Java and Groovy providing transparent compilation and class reload on the fly, and scripting support and shell of pure Java code. This version is a fork of [the original project](https://github.com/jmarranz/relproxy) (see the Historical Section below).
```xml
@@ -12,6 +14,8 @@ RelProxy is a simple Java and Groovy hot class reloader for Java and Groovy prov
```
+${BLURB}
+
Overview
------
@@ -68,6 +72,18 @@ Bug Reporting
Use this GitHub project.
+${FOOTER}
+
+
+
+
+
+
+
+
+
+
+
Historical Details
==================
From e3e2f910f69566e2e6b4975c5f42077d83613163 Mon Sep 17 00:00:00 2001
From: neilellis
Date: Fri, 7 Jul 2017 16:12:42 +0100
Subject: [PATCH 010/135] Refactoring for Dollar project
---
pom.xml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/pom.xml b/pom.xml
index e1e5557..1d2f216 100644
--- a/pom.xml
+++ b/pom.xml
@@ -4,8 +4,8 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
- com.sillelien.dollar
- relproxy
+ com.sillelien
+ dollar-relproxy0relproxy
From 729a3a5adca77e41e15d4ee0ff88bc398712a2f5 Mon Sep 17 00:00:00 2001
From: neilellis
Date: Fri, 7 Jul 2017 16:10:39 +0100
Subject: [PATCH 011/135] Refactoring for Dollar project
---
README.tmpl.md | 20 ++++++++++++++++++--
1 file changed, 18 insertions(+), 2 deletions(-)
diff --git a/README.tmpl.md b/README.tmpl.md
index 934900c..b4ca0b4 100644
--- a/README.tmpl.md
+++ b/README.tmpl.md
@@ -1,6 +1,8 @@
-RelProxy
+${HEADER}
+
+RelProxy ${STATE_ALPHA}
========
-RelProxy is a simple Java and Groovy hot class reloader for Java and Groovy providing transparent compilation and class reload on the fly, and scripting support and shell of pure Java code.
+RelProxy is a simple Java and Groovy hot class reloader for Java and Groovy providing transparent compilation and class reload on the fly, and scripting support and shell of pure Java code. This version is a fork of [the original project](https://github.com/jmarranz/relproxy) (see the Historical Section below).
```xml
@@ -12,6 +14,8 @@ RelProxy is a simple Java and Groovy hot class reloader for Java and Groovy prov
```
+${BLURB}
+
Overview
------
@@ -68,6 +72,18 @@ Bug Reporting
Use this GitHub project.
+${FOOTER}
+
+
+
+
+
+
+
+
+
+
+
Historical Details
==================
From 3fb9d0263b3ebd61bb5c80ba4929257e65bad224 Mon Sep 17 00:00:00 2001
From: "hello@neilellis.me"
Date: Fri, 7 Jul 2017 16:12:46 +0100
Subject: [PATCH 012/135] Release 0.9.11
[11/d4f977f85a53fb90921532728ea86e77c1be6e02] (calmly-ocher-towhee)
---
.release | 2 +-
.release.details | 2 +-
README.md | 51 +++++++++++++++++++++++++++++++++++++++++++++---
3 files changed, 50 insertions(+), 5 deletions(-)
diff --git a/.release b/.release
index c81aa44..8225a4b 100644
--- a/.release
+++ b/.release
@@ -1 +1 @@
-0.9.7
+0.9.11
diff --git a/.release.details b/.release.details
index 41b3640..c58c14d 100644
--- a/.release.details
+++ b/.release.details
@@ -1 +1 @@
-0.9.7 7 87e81f13b1ad084f95fcd3cca45cdcd542f23a3b direly-ablush-second
+0.9.11 11 d4f977f85a53fb90921532728ea86e77c1be6e02 calmly-ocher-towhee
diff --git a/README.md b/README.md
index be83703..c133019 100644
--- a/README.md
+++ b/README.md
@@ -1,17 +1,30 @@
-RelProxy
+
+
+RelProxy [](http://github.com/dollar-org/relproxy)
========
-RelProxy is a simple Java and Groovy hot class reloader for Java and Groovy providing transparent compilation and class reload on the fly, and scripting support and shell of pure Java code.
+RelProxy is a simple Java and Groovy hot class reloader for Java and Groovy providing transparent compilation and class reload on the fly, and scripting support and shell of pure Java code. This version is a fork of [the original project](https://github.com/jmarranz/relproxy) (see the Historical Section below).
```xml
com.sillelien.dollarrelproxy
-0.9.7
+0.9.11jar
```
+-------
+
+** If you use this project please consider giving us a star on [GitHub](http://github.com/dollar-org/relproxy). **
+
+Please contact me through Gitter (chat) or through GitHub Issues.
+
+[](https://github.com/dollar-org/relproxy/issues) [](https://gitter.im/dollar-org/relproxy?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
+
+For commercial support please contact me directly.
+-------
+
Overview
------
@@ -68,6 +81,38 @@ Bug Reporting
Use this GitHub project.
+--------
+
+# Referral Links
+
+This is an open source project, which means that we are giving our time to you for free. However like yourselves, we do have bills to pay. Please consider visiting some of these excellent services, they are not junk we can assure you, all services we would or do use ourselves.
+
+[Really Excellent Dedicated Servers from Limestone Networks](http://www.limestonenetworks.com/?utm_campaign=rwreferrer&utm_medium=affiliate&utm_source=RFR16798) - fantastic service, great price.
+
+[Low Cost and High Quality Cloud Hosting from Digital Ocean](https://www.digitalocean.com/?refcode=7b4639fc8194) - truly awesome service.
+
+# Copyright and License
+
+[](https://raw.githubusercontent.com/dollar-org/relproxy/master/LICENSE)
+
+(c) 2015-2017 Neil Ellis all rights reserved. Please see [LICENSE](https://raw.githubusercontent.com/dollar-org/relproxy/master/LICENSE) for license details of this project. Please visit http://neilellis.me for help and raise issues on [GitHub](https://github.com/dollar-org/relproxy/issues).
+
+For commercial support please contact me directly.
+
+
- *
+ *
* @param message the detail message
- * @param cause the cause
+ * @param cause the cause
*/
- public RelProxyException(String message, Throwable cause)
- {
+ public RelProxyException(String message, Throwable cause) {
super(message, cause);
}
-
+
/**
* Constructs a new exception with the specified message.
- *
+ *
*
Parameter is passed to the super constructor.
- *
+ *
* @param message the detail message
*/
- public RelProxyException(String message)
- {
+ public RelProxyException(String message) {
super(message);
- }
-
+ }
+
/**
* Constructs a new exception with the specified cause.
- *
+ *
*
Parameter is passed to the super constructor.
- *
+ *
* @param cause the cause
*/
- public RelProxyException(Throwable cause)
- {
+ public RelProxyException(Throwable cause) {
super(cause);
- }
+ }
}
diff --git a/src/main/java/com/sillelien/dollar/relproxy/RelProxyOnReloadListener.java b/src/main/java/com/sillelien/dollar/relproxy/RelProxyOnReloadListener.java
index 1750bf3..d84ad4b 100644
--- a/src/main/java/com/sillelien/dollar/relproxy/RelProxyOnReloadListener.java
+++ b/src/main/java/com/sillelien/dollar/relproxy/RelProxyOnReloadListener.java
@@ -4,26 +4,24 @@
/**
* Is the interface needed to register a class reload listener.
- *
+ *
*
An object implementing this interface can optionally be registered on RelProxy to listen when the method of a proxy object has been called
* and the class of the original object associated has been reloaded (and a new "original" object based on the new class was created to replace it).
*
- *
- *
+ *
+ * @author Jose Maria Arranz Santamaria
* @see com.sillelien.dollar.relproxy.jproxy.JProxyConfig#setRelProxyOnReloadListener(com.sillelien.dollar.relproxy.RelProxyOnReloadListener)
* @see com.sillelien.dollar.relproxy.gproxy.GProxyConfig#setRelProxyOnReloadListener(com.sillelien.dollar.relproxy.RelProxyOnReloadListener)
- * @author Jose Maria Arranz Santamaria
*/
-public interface RelProxyOnReloadListener
-{
+public interface RelProxyOnReloadListener {
/**
* Called when some source code change has happened and a new class has been compiled and reloaded.
- *
+ *
* @param objOld the old object before class reload.
* @param objNew the new object based on the new class loaded by the new class loader.
- * @param proxy the proxy object created by {@link java.lang.reflect.Proxy} being used.
+ * @param proxy the proxy object created by {@link java.lang.reflect.Proxy} being used.
* @param method the method being called through the proxy object.
- * @param args the parameters being used in the method call.
+ * @param args the parameters being used in the method call.
*/
- public void onReload(Object objOld,Object objNew,Object proxy, Method method, Object[] args);
+ public void onReload(Object objOld, Object objNew, Object proxy, Method method, Object[] args);
}
diff --git a/src/main/java/com/sillelien/dollar/relproxy/gproxy/GProxy.java b/src/main/java/com/sillelien/dollar/relproxy/gproxy/GProxy.java
index 5ee51b4..1f084ed 100644
--- a/src/main/java/com/sillelien/dollar/relproxy/gproxy/GProxy.java
+++ b/src/main/java/com/sillelien/dollar/relproxy/gproxy/GProxy.java
@@ -8,65 +8,60 @@
/**
* Is the class to create Java proxy objects based on Groovy objects and keep track of Groovy source code changes reloading Groovy classes when detected.
- *
+ *
* @author Jose Maria Arranz Santamaria
*/
-public class GProxy
-{
+public class GProxy {
/**
* Creates a {@link GProxyConfig} object to be used to configure GProxy.
- *
+ *
* @return a new configuration object.
* @see #init(GProxyConfig)
*/
- public static GProxyConfig createGProxyConfig()
- {
+ public static GProxyConfig createGProxyConfig() {
return GProxyDefaultImpl.createGProxyConfig();
- }
-
+ }
+
/**
* Initializes GProxy with the provided configuration object.
- *
+ *
* @param config config
*/
- public static void init(GProxyConfig config)
- {
- GProxyDefaultImpl.initStatic((GProxyConfigImpl)config);
- }
-
+ public static void init(GProxyConfig config) {
+ GProxyDefaultImpl.initStatic((GProxyConfigImpl) config);
+ }
+
/**
* Creates a proxy object using java.lang.reflect.Proxy based on the provided Groovy object and the class of the implemented Java interface.
- *
- *
This method is a simplification for a single interface (the most common case) of {@link #create(Object,Class[])} .
- *
- * @param the interface implemented by the original object and proxy object returned.
- * @param obj the original object to proxy.
+ *
+ *
This method is a simplification for a single interface (the most common case) of {@link #create(Object, Class[])} .
+ *
+ * @param the interface implemented by the original object and proxy object returned.
+ * @param obj the original object to proxy.
* @param clasz the class of the interface implemented by the original object and proxy object returned.
* @return the java.lang.reflect.Proxy object associated or the original object when GProxy is disabled.
*/
@Nullable
- public static T create(T obj, Class clasz)
- {
+ public static T create(T obj, Class clasz) {
return GProxyDefaultImpl.createStatic(obj, clasz);
- }
-
+ }
+
/**
* Creates a proxy object using java.lang.reflect.Proxy based on the provided Groovy object and the classes of the implemented Java interfaces.
- *
- *
If GProxy has been configured and is enabled this method returns a java.lang.reflect.Proxy object implementing instead of
+ *
+ *
If GProxy has been configured and is enabled this method returns a java.lang.reflect.Proxy object implementing instead of
* the original object provided. Methods called in proxy object are received by GProxy and forwarded to the original object, if source code
* managed by GProxy has been changed, the class of the original object is reloaded based on the new source and the original object
* is recreated with the new class and fields are re-set in the new object, then the method is called on the new original object.
- *
+ *
*
If GProxy is disabled returns the original object provided with no performance penalty.
- *
- * @param obj the original object to proxy.
+ *
+ * @param obj the original object to proxy.
* @param classes the classes of the interfaces implemented by the original object and proxy object returned.
* @return the java.lang.reflect.Proxy object associated or the original object when GProxy is disabled.
*/
@Nullable
- public static Object create(Object obj, @NotNull Class>[] classes)
- {
+ public static Object create(Object obj, @NotNull Class>[] classes) {
return GProxyDefaultImpl.createStatic(obj, classes);
- }
+ }
}
diff --git a/src/main/java/com/sillelien/dollar/relproxy/gproxy/GProxyConfig.java b/src/main/java/com/sillelien/dollar/relproxy/gproxy/GProxyConfig.java
index fd614e2..511ab75 100644
--- a/src/main/java/com/sillelien/dollar/relproxy/gproxy/GProxyConfig.java
+++ b/src/main/java/com/sillelien/dollar/relproxy/gproxy/GProxyConfig.java
@@ -6,19 +6,17 @@
/**
* Interface implemented by the configuration object needed to initialize GProxy.
- *
- *
- * @see GProxy#init(GProxyConfig)
+ *
* @author Jose Maria Arranz Santamaria
+ * @see GProxy#init(GProxyConfig)
*/
-public interface GProxyConfig
-{
+public interface GProxyConfig {
/**
* Sets whether automatic detection of source code changes is enabled.
- *
+ *
*
If set to false other configuration parameters are ignored, there is no automatic source code change detection/reload and original objects are returned
* instead of proxies, performance penalty is zero. Setting to false is recommended in production whether source code change detection/reload is not required.
- *
+ *
* @param enabled whether automatic source code change detection and reload is enabled. By default is true.
* @return this object for flow API use.
*/
@@ -27,7 +25,7 @@ public interface GProxyConfig
/**
* Sets the class reload listener.
- *
+ *
* @param relListener the class reload listener. By default is null.
* @return this object for flow API use.
*/
@@ -36,9 +34,9 @@ public interface GProxyConfig
/**
* Sets the object implementing the GroovyScriptEngine wrapper used to reload Groovy classes.
- *
+ *
*
This parameter is required otherwise there is no bridge between RelProxy and Groovy because there is no explicit Groovy dependency in RelProxy.
- *
+ *
* @param engine the GroovyScriptEngine wrapper.
* @return this object for flow API use.
*/
diff --git a/src/main/java/com/sillelien/dollar/relproxy/gproxy/GProxyGroovyScriptEngine.java b/src/main/java/com/sillelien/dollar/relproxy/gproxy/GProxyGroovyScriptEngine.java
index 714feeb..02e4aa7 100644
--- a/src/main/java/com/sillelien/dollar/relproxy/gproxy/GProxyGroovyScriptEngine.java
+++ b/src/main/java/com/sillelien/dollar/relproxy/gproxy/GProxyGroovyScriptEngine.java
@@ -4,28 +4,26 @@
/**
* Interface to implement the object implementing the GroovyScriptEngine wrapper used to reload Groovy classes.
- *
+ *
*
The following is a very simple example of the required implementation, groovyEngine is the groovy.util.GroovyScriptEngine
* object:
-
- def gproxyGroovyEngine = {
- String scriptName -> return (java.lang.Class)groovyEngine.loadScriptByName(scriptName)
- } as GProxyGroovyScriptEngine;
-
- *
- *
- * @see GProxyConfig#setGProxyGroovyScriptEngine(GProxyGroovyScriptEngine)
+ *
+ * def gproxyGroovyEngine = {
+ * String scriptName -> return (java.lang.Class)groovyEngine.loadScriptByName(scriptName)
+ * } as GProxyGroovyScriptEngine;
+ *
+ *
* @author Jose Maria Arranz Santamaria
+ * @see GProxyConfig#setGProxyGroovyScriptEngine(GProxyGroovyScriptEngine)
*/
-public interface GProxyGroovyScriptEngine
-{
+public interface GProxyGroovyScriptEngine {
/**
* The class implementing this method must call the method groovy.util.GroovyScriptEngine.loadScriptByName(String scriptName) passing
* the scriptName.
- *
+ *
*
This method is called by GProxy when it needs to get the Class associated to the specified Groovy script/class to check if this class
* has changed because Groovy has reloaded the class when a source code has been detected.
- *
+ *
* @param scriptName the name of the Groovy script/class.
* @return the class associated to the specified Groovy script.
*/
diff --git a/src/main/java/com/sillelien/dollar/relproxy/gproxy/package.html b/src/main/java/com/sillelien/dollar/relproxy/gproxy/package.html
index 3edbfbf..c6bd773 100644
--- a/src/main/java/com/sillelien/dollar/relproxy/gproxy/package.html
+++ b/src/main/java/com/sillelien/dollar/relproxy/gproxy/package.html
@@ -1,9 +1,9 @@
-
+
diff --git a/src/main/java/com/sillelien/dollar/relproxy/impl/FileExt.java b/src/main/java/com/sillelien/dollar/relproxy/impl/FileExt.java
index 33c8866..d5912f6 100644
--- a/src/main/java/com/sillelien/dollar/relproxy/impl/FileExt.java
+++ b/src/main/java/com/sillelien/dollar/relproxy/impl/FileExt.java
@@ -7,32 +7,30 @@
import java.io.IOException;
/**
- *
* @author jmarranz
*/
-public class FileExt
-{
+public class FileExt {
@NotNull
protected final File file;
@NotNull
protected final String cannonicalPath; // El obtener el cannonicalPath exige acceder al sistema de archivos, por eso nos inventamos esta clase, para evitar sucesivas llamadas a File.getCanonicalPath()
-
- public FileExt(@NotNull File file)
- {
+
+ public FileExt(@NotNull File file) {
this.file = file;
- try { this.cannonicalPath = file.getCanonicalPath(); }
- catch (IOException ex) { throw new RelProxyException(ex); }
+ try {
+ this.cannonicalPath = file.getCanonicalPath();
+ } catch (IOException ex) {
+ throw new RelProxyException(ex);
+ }
}
-
+
@NotNull
- public File getFile()
- {
+ public File getFile() {
return file;
}
-
+
@NotNull
- public String getCanonicalPath()
- {
+ public String getCanonicalPath() {
return cannonicalPath;
}
}
diff --git a/src/main/java/com/sillelien/dollar/relproxy/impl/GenericProxyConfigBaseImpl.java b/src/main/java/com/sillelien/dollar/relproxy/impl/GenericProxyConfigBaseImpl.java
index 2dd406d..483c142 100644
--- a/src/main/java/com/sillelien/dollar/relproxy/impl/GenericProxyConfigBaseImpl.java
+++ b/src/main/java/com/sillelien/dollar/relproxy/impl/GenericProxyConfigBaseImpl.java
@@ -3,21 +3,17 @@
import com.sillelien.dollar.relproxy.RelProxyOnReloadListener;
/**
- *
* @author jmarranz
*/
-public class GenericProxyConfigBaseImpl
-{
+public class GenericProxyConfigBaseImpl {
protected boolean enabled = true;
protected RelProxyOnReloadListener relListener;
- public boolean isEnabled()
- {
+ public boolean isEnabled() {
return enabled;
}
- public RelProxyOnReloadListener getRelProxyOnReloadListener()
- {
+ public RelProxyOnReloadListener getRelProxyOnReloadListener() {
return relListener;
}
diff --git a/src/main/java/com/sillelien/dollar/relproxy/impl/GenericProxyImpl.java b/src/main/java/com/sillelien/dollar/relproxy/impl/GenericProxyImpl.java
index fa9a470..47f1b12 100644
--- a/src/main/java/com/sillelien/dollar/relproxy/impl/GenericProxyImpl.java
+++ b/src/main/java/com/sillelien/dollar/relproxy/impl/GenericProxyImpl.java
@@ -9,59 +9,50 @@
import java.lang.reflect.Proxy;
/**
- *
* @author jmarranz
*/
-public abstract class GenericProxyImpl
-{
+public abstract class GenericProxyImpl {
protected RelProxyOnReloadListener reloadListener;
-
- public GenericProxyImpl()
- {
+
+ public GenericProxyImpl() {
}
- public static void checkSingletonNull(@Nullable GenericProxyImpl singleton)
- {
- if (singleton != null)
+ public static void checkSingletonNull(@Nullable GenericProxyImpl singleton) {
+ if (singleton != null)
throw new RelProxyException("Already initialized");
}
-
- protected static void checkSingletonExists(@Nullable GenericProxyImpl singleton)
- {
- if (singleton == null)
+
+ protected static void checkSingletonExists(@Nullable GenericProxyImpl singleton) {
+ if (singleton == null)
throw new RelProxyException("Execute first the init method");
- }
-
- protected void init(@NotNull GenericProxyConfigBaseImpl config)
- {
- this.reloadListener = config.getRelProxyOnReloadListener();
- }
-
- public RelProxyOnReloadListener getRelProxyOnReloadListener()
- {
+ }
+
+ protected void init(@NotNull GenericProxyConfigBaseImpl config) {
+ this.reloadListener = config.getRelProxyOnReloadListener();
+ }
+
+ public RelProxyOnReloadListener getRelProxyOnReloadListener() {
return reloadListener;
}
-
+
@Nullable
- public T create(@Nullable T obj, Class clasz)
- {
- if (obj == null) return null;
-
- return (T)create(obj,new Class[] { clasz });
+ public T create(@Nullable T obj, Class clasz) {
+ if (obj == null) return null;
+
+ return (T) create(obj, new Class[]{clasz});
}
-
+
@Nullable
- public Object create(@Nullable Object obj, @NotNull Class[] classes)
- {
- if (obj == null) return null;
-
+ public Object create(@Nullable Object obj, @NotNull Class[] classes) {
+ if (obj == null) return null;
+
InvocationHandler handler = createGenericProxyInvocationHandler(obj);
-
- Object proxy = Proxy.newProxyInstance(obj.getClass().getClassLoader(),classes, handler);
+
+ Object proxy = Proxy.newProxyInstance(obj.getClass().getClassLoader(), classes, handler);
return proxy;
- }
-
-
+ }
+
+
@NotNull
public abstract GenericProxyInvocationHandler createGenericProxyInvocationHandler(Object obj);
}
diff --git a/src/main/java/com/sillelien/dollar/relproxy/impl/GenericProxyInvocationHandler.java b/src/main/java/com/sillelien/dollar/relproxy/impl/GenericProxyInvocationHandler.java
index 1c47def..9761664 100644
--- a/src/main/java/com/sillelien/dollar/relproxy/impl/GenericProxyInvocationHandler.java
+++ b/src/main/java/com/sillelien/dollar/relproxy/impl/GenericProxyInvocationHandler.java
@@ -9,61 +9,51 @@
import java.lang.reflect.Proxy;
/**
- *
* @author jmarranz
*/
-public abstract class GenericProxyInvocationHandler implements InvocationHandler
-{
+public abstract class GenericProxyInvocationHandler implements InvocationHandler {
protected GenericProxyImpl root;
protected GenericProxyVersionedObject verObj;
-
- public GenericProxyInvocationHandler(GenericProxyImpl root)
- {
+
+ public GenericProxyInvocationHandler(GenericProxyImpl root) {
this.root = root;
- }
-
- private Object getCurrent()
- {
+ }
+
+ private Object getCurrent() {
return verObj.getCurrent();
}
-
- private Object getNewVersion() throws Throwable
- {
+
+ private Object getNewVersion() throws Throwable {
return verObj.getNewVersion();
- }
-
+ }
+
@Override
- public synchronized Object invoke(Object proxy, @NotNull Method method, @Nullable Object[] args) throws Throwable
- {
+ public synchronized Object invoke(Object proxy, @NotNull Method method, @Nullable Object[] args) throws Throwable {
Object oldObj = getCurrent();
Object obj = getNewVersion();
RelProxyOnReloadListener reloadListener = root.getRelProxyOnReloadListener();
if (oldObj != obj && reloadListener != null)
- reloadListener.onReload(oldObj,obj,proxy,method,args);
+ reloadListener.onReload(oldObj, obj, proxy, method, args);
- if (args != null && args.length == 1)
- {
+ if (args != null && args.length == 1) {
// Conseguimos que en proxy1.equals(proxy2) se usen los objetos asociados no los propios proxies, para ello obtenemos el objeto asociado al parámetro
// No hace falta que equals forme parte de la interface, pero está ahí implícitamente
// hashCode() como no tiene params es llamado sin problema de conversiones
Object param = args[0];
if (param instanceof Proxy && // Si es una clase generada com.sun.proxy.$ProxyN (N=1,2...) es también derivada de Proxy
- method.getName().equals("equals") &&
- method.getReturnType().equals(boolean.class))
- {
+ method.getName().equals("equals") &&
+ method.getReturnType().equals(boolean.class)) {
Class>[] paramTypes = method.getParameterTypes();
- if (paramTypes.length == 1 && paramTypes[0].equals(Object.class))
- {
+ if (paramTypes.length == 1 && paramTypes[0].equals(Object.class)) {
InvocationHandler paramInvHandler = Proxy.getInvocationHandler(param);
- if (paramInvHandler instanceof GenericProxyInvocationHandler)
- {
- args[0] = ((GenericProxyInvocationHandler)paramInvHandler).getCurrent(); // reemplazamos el Proxy por el objeto asociado
+ if (paramInvHandler instanceof GenericProxyInvocationHandler) {
+ args[0] = ((GenericProxyInvocationHandler) paramInvHandler).getCurrent(); // reemplazamos el Proxy por el objeto asociado
}
}
}
}
return method.invoke(obj, args);
- }
+ }
}
diff --git a/src/main/java/com/sillelien/dollar/relproxy/impl/GenericProxyVersionedObject.java b/src/main/java/com/sillelien/dollar/relproxy/impl/GenericProxyVersionedObject.java
index 60a479c..8fe21d1 100644
--- a/src/main/java/com/sillelien/dollar/relproxy/impl/GenericProxyVersionedObject.java
+++ b/src/main/java/com/sillelien/dollar/relproxy/impl/GenericProxyVersionedObject.java
@@ -11,98 +11,79 @@
import java.util.ArrayList;
/**
- *
* @author jmarranz
*/
-public abstract class GenericProxyVersionedObject
-{
- protected Object obj;
+public abstract class GenericProxyVersionedObject {
+ protected Object obj;
protected GenericProxyInvocationHandler parent;
-
- public GenericProxyVersionedObject(Object obj,GenericProxyInvocationHandler parent)
- {
- this.obj = obj;
+
+ public GenericProxyVersionedObject(Object obj, GenericProxyInvocationHandler parent) {
+ this.obj = obj;
this.parent = parent;
}
-
- protected static void getTreeFields(@NotNull Class clasz, Object obj, @NotNull ArrayList fieldList, ArrayList valueList) throws IllegalAccessException
- {
- getFields(clasz,obj,fieldList,valueList);
+
+ protected static void getTreeFields(@NotNull Class clasz, Object obj, @NotNull ArrayList fieldList, ArrayList valueList) throws IllegalAccessException {
+ getFields(clasz, obj, fieldList, valueList);
Class superClass = clasz.getSuperclass();
if (superClass != null)
- getTreeFields(superClass,obj,fieldList,valueList);
+ getTreeFields(superClass, obj, fieldList, valueList);
}
- protected static void getFields(@NotNull Class clasz, Object obj, @NotNull ArrayList fieldList, @Nullable ArrayList valueList) throws IllegalAccessException
- {
- Field[] fieldListClass = clasz.getDeclaredFields();
- for(int i = 0; i < fieldListClass.length; i++)
- {
- Field field = fieldListClass[i];
+ protected static void getFields(@NotNull Class clasz, Object obj, @NotNull ArrayList fieldList, @Nullable ArrayList valueList) throws IllegalAccessException {
+ Field[] fieldListClass = clasz.getDeclaredFields();
+ for (int i = 0; i < fieldListClass.length; i++) {
+ Field field = fieldListClass[i];
fieldList.add(field);
- if (valueList != null)
- {
- field.setAccessible(true);
- Object value = field.get(obj);
+ if (valueList != null) {
+ field.setAccessible(true);
+ Object value = field.get(obj);
valueList.add(value);
}
- }
- }
-
- public Object getCurrent()
- {
+ }
+ }
+
+ public Object getCurrent() {
return obj;
- }
-
- public Object getNewVersion() throws Throwable
- {
+ }
+
+ public Object getNewVersion() throws Throwable {
Class> newClass = reloadClass();
if (newClass == null)
return obj;
- Class oldClass = obj.getClass();
- if (newClass != oldClass)
- {
- this.obj = copy(oldClass,obj,newClass);
+ Class oldClass = obj.getClass();
+ if (newClass != oldClass) {
+ this.obj = copy(oldClass, obj, newClass);
}
-
+
return obj;
- }
-
- private Object copy(@NotNull Class oldClass, Object oldObj, @NotNull Class newClass) throws IllegalAccessException, InstantiationException, IllegalArgumentException, InvocationTargetException
- {
+ }
+
+ private Object copy(@NotNull Class oldClass, Object oldObj, @NotNull Class newClass) throws IllegalAccessException, InstantiationException, IllegalArgumentException, InvocationTargetException {
Object newObj;
ArrayList fieldListOld = new ArrayList();
- ArrayList valueListOld = new ArrayList();
+ ArrayList valueListOld = new ArrayList();
- getTreeFields(oldClass,oldObj,fieldListOld,valueListOld);
+ getTreeFields(oldClass, oldObj, fieldListOld, valueListOld);
Class> enclosingClassNew = newClass.getEnclosingClass();
- if (enclosingClassNew == null)
- {
+ if (enclosingClassNew == null) {
Constructor construc;
- try
- {
+ try {
construc = newClass.getConstructor(new Class[0]);
+ } catch (NoSuchMethodException ex) {
+ throw new RelProxyException("Cannot reload " + newClass.getName() + " a default empty of params constructor is required", ex);
}
- catch(NoSuchMethodException ex)
- {
- throw new RelProxyException("Cannot reload " + newClass.getName() + " a default empty of params constructor is required",ex);
- }
- newObj = construc.newInstance();
- }
- else
- {
+ newObj = construc.newInstance();
+ } else {
// En el caso de inner class o anonymous inner class el constructor por defecto se obtiene de forma diferente, útil para los EventListener de ItsNat
Constructor construc;
- try
+ try {
+ construc = newClass.getDeclaredConstructor(new Class[]{enclosingClassNew});
+ } catch (NoSuchMethodException ex) // Yo creo que nunca ocurre al menos no en anonymous inner classes pero por si acaso
{
- construc = newClass.getDeclaredConstructor(new Class[]{enclosingClassNew});
- }
- catch(NoSuchMethodException ex) // Yo creo que nunca ocurre al menos no en anonymous inner classes pero por si acaso
- {
- throw new RelProxyException("Cannot reload " + newClass.getName() + " a default empty of params constructor is required",ex);
+ throw new RelProxyException("Cannot reload " + newClass.getName() + " a default empty of params constructor is required", ex);
}
construc.setAccessible(true); // Necesario
@@ -110,60 +91,63 @@ private Object copy(@NotNull Class oldClass, Object oldObj, @NotNull Class newCl
Field enclosingFieldOld;
- try { enclosingFieldOld = oldClass.getDeclaredField("this$0"); }
- catch (NoSuchFieldException ex) { throw new RelProxyException(ex); }
+ try {
+ enclosingFieldOld = oldClass.getDeclaredField("this$0");
+ } catch (NoSuchFieldException ex) {
+ throw new RelProxyException(ex);
+ }
enclosingFieldOld.setAccessible(true);
- Object enclosingObjectOld = enclosingFieldOld.get(oldObj);
- Object enclosingObjectNew = copy(enclosingObjectOld.getClass(),enclosingObjectOld,enclosingClassNew);
+ Object enclosingObjectOld = enclosingFieldOld.get(oldObj);
+ Object enclosingObjectNew = copy(enclosingObjectOld.getClass(), enclosingObjectOld, enclosingClassNew);
- newObj = construc.newInstance(enclosingObjectNew);
+ newObj = construc.newInstance(enclosingObjectNew);
}
ArrayList fieldListNew = new ArrayList();
- getTreeFields(newClass,newObj,fieldListNew,null);
+ getTreeFields(newClass, newObj, fieldListNew, null);
- if (fieldListOld.size() != fieldListNew.size()) throw new RelProxyException("Cannot reload " + newClass.getName() + " number of fields have changed, redeploy");
+ if (fieldListOld.size() != fieldListNew.size())
+ throw new RelProxyException("Cannot reload " + newClass.getName() + " number of fields have changed, redeploy");
- for(int i = 0; i < fieldListOld.size(); i++)
- {
+ for (int i = 0; i < fieldListOld.size(); i++) {
Field fieldOld = fieldListOld.get(i);
Field fieldNew = fieldListNew.get(i);
- if (enclosingClassNew != null && fieldOld.getName().equals("this$0") && fieldNew.getName().equals("this$0"))
+ if (enclosingClassNew != null && fieldOld.getName().equals("this$0") && fieldNew.getName().equals("this$0"))
continue; // Ya están correctamente definidos
- if ( (!ignoreField(fieldOld) && !fieldOld.getName().equals(fieldNew.getName())) ||
- !fieldOld.getType().equals(fieldNew.getType()))
+ if ((!ignoreField(fieldOld) && !fieldOld.getName().equals(fieldNew.getName())) ||
+ !fieldOld.getType().equals(fieldNew.getType()))
throw new RelProxyException("Cannot reload " + newClass.getName() + " fields have changed, redeploy");
Object fieldObj = valueListOld.get(i);
fieldNew.setAccessible(true);
- int modifiersNew = fieldNew.getModifiers();
+ int modifiersNew = fieldNew.getModifiers();
boolean isStaticFinal = Modifier.isStatic(modifiersNew) && Modifier.isFinal(modifiersNew);
Field modifiersField = null;
- if (isStaticFinal)
- {
+ if (isStaticFinal) {
// http://stackoverflow.com/questions/3301635/change-private-static-final-field-using-java-reflection
try {
modifiersField = Field.class.getDeclaredField("modifiers");
+ } catch (NoSuchFieldException ex) {
+ throw new RelProxyException(ex);
}
- catch (NoSuchFieldException ex) { throw new RelProxyException(ex); }
modifiersField.setAccessible(true);
modifiersField.setInt(fieldNew, fieldNew.getModifiers() & ~Modifier.FINAL); // Quitamos el modifier final
- }
+ }
fieldNew.set(newObj, fieldObj);
- if (modifiersField != null)
- {
+ if (modifiersField != null) {
modifiersField.setInt(fieldNew, fieldNew.getModifiers() & ~Modifier.FINAL); // Restauramos el modifier final
}
- }
+ }
return newObj;
}
-
+
@Nullable
protected abstract Class reloadClass();
- protected abstract boolean ignoreField(Field field);
+
+ protected abstract boolean ignoreField(Field field);
}
diff --git a/src/main/java/com/sillelien/dollar/relproxy/impl/gproxy/GProxyConfigImpl.java b/src/main/java/com/sillelien/dollar/relproxy/impl/gproxy/GProxyConfigImpl.java
index 826cace..0497adb 100644
--- a/src/main/java/com/sillelien/dollar/relproxy/impl/gproxy/GProxyConfigImpl.java
+++ b/src/main/java/com/sillelien/dollar/relproxy/impl/gproxy/GProxyConfigImpl.java
@@ -7,36 +7,30 @@
import org.jetbrains.annotations.NotNull;
/**
- *
* @author jmarranz
*/
-public class GProxyConfigImpl extends GenericProxyConfigBaseImpl implements GProxyConfig
-{
+public class GProxyConfigImpl extends GenericProxyConfigBaseImpl implements GProxyConfig {
protected GProxyGroovyScriptEngine engine;
@NotNull
- public GProxyConfig setEnabled(boolean enabled)
- {
+ public GProxyConfig setEnabled(boolean enabled) {
this.enabled = enabled;
return this;
}
@NotNull
- public GProxyConfig setRelProxyOnReloadListener(RelProxyOnReloadListener relListener)
- {
- this.relListener = relListener;
- return this;
+ public GProxyConfig setRelProxyOnReloadListener(RelProxyOnReloadListener relListener) {
+ this.relListener = relListener;
+ return this;
}
-
+
@NotNull
- public GProxyConfig setGProxyGroovyScriptEngine(GProxyGroovyScriptEngine engine)
- {
- this.engine = engine;
- return this;
+ public GProxyConfig setGProxyGroovyScriptEngine(GProxyGroovyScriptEngine engine) {
+ this.engine = engine;
+ return this;
}
-
- public GProxyGroovyScriptEngine getGProxyGroovyScriptEngine()
- {
+
+ public GProxyGroovyScriptEngine getGProxyGroovyScriptEngine() {
return engine;
}
diff --git a/src/main/java/com/sillelien/dollar/relproxy/impl/gproxy/GProxyDefaultImpl.java b/src/main/java/com/sillelien/dollar/relproxy/impl/gproxy/GProxyDefaultImpl.java
index 8f466a9..25d0796 100644
--- a/src/main/java/com/sillelien/dollar/relproxy/impl/gproxy/GProxyDefaultImpl.java
+++ b/src/main/java/com/sillelien/dollar/relproxy/impl/gproxy/GProxyDefaultImpl.java
@@ -6,40 +6,34 @@
import org.jetbrains.annotations.Nullable;
/**
- *
* @author jmarranz
*/
-public class GProxyDefaultImpl extends GProxyImpl
-{
- public static GProxyConfig createGProxyConfig()
- {
+public class GProxyDefaultImpl extends GProxyImpl {
+ public static GProxyConfig createGProxyConfig() {
return new GProxyConfigImpl();
- }
-
- public static void initStatic(@NotNull GProxyConfigImpl config)
- {
+ }
+
+ public static void initStatic(@NotNull GProxyConfigImpl config) {
if (!config.isEnabled()) return;
-
- checkSingletonNull(SINGLETON);
+
+ checkSingletonNull(SINGLETON);
SINGLETON = new GProxyDefaultImpl();
SINGLETON.init(config);
- }
-
+ }
+
@Nullable
- public static T createStatic(T obj, Class clasz)
- {
- if (SINGLETON == null)
+ public static T createStatic(T obj, Class clasz) {
+ if (SINGLETON == null)
return obj; // No se ha llamado al init o enabled = false
-
+
return SINGLETON.create(obj, clasz);
- }
-
+ }
+
@Nullable
- public static Object createStatic(Object obj, @NotNull Class>[] classes)
- {
- if (SINGLETON == null)
+ public static Object createStatic(Object obj, @NotNull Class>[] classes) {
+ if (SINGLETON == null)
return obj; // No se ha llamado al init o enabled = false
-
- return SINGLETON.create(obj, classes);
- }
+
+ return SINGLETON.create(obj, classes);
+ }
}
diff --git a/src/main/java/com/sillelien/dollar/relproxy/impl/gproxy/core/GProxyImpl.java b/src/main/java/com/sillelien/dollar/relproxy/impl/gproxy/core/GProxyImpl.java
index 33de8ec..0b07d79 100644
--- a/src/main/java/com/sillelien/dollar/relproxy/impl/gproxy/core/GProxyImpl.java
+++ b/src/main/java/com/sillelien/dollar/relproxy/impl/gproxy/core/GProxyImpl.java
@@ -8,29 +8,24 @@
/**
- *
* @author jmarranz
*/
-public abstract class GProxyImpl extends GenericProxyImpl
-{
- public static GProxyImpl SINGLETON;
+public abstract class GProxyImpl extends GenericProxyImpl {
+ public static GProxyImpl SINGLETON;
protected GProxyGroovyScriptEngine engine;
-
- public void init(@NotNull GProxyConfigImpl config)
- {
+
+ public void init(@NotNull GProxyConfigImpl config) {
super.init(config);
this.engine = config.getGProxyGroovyScriptEngine();
}
-
- public GProxyGroovyScriptEngine getGProxyGroovyScriptEngine()
- {
+
+ public GProxyGroovyScriptEngine getGProxyGroovyScriptEngine() {
return engine;
- }
-
+ }
+
@NotNull
@Override
- public GenericProxyInvocationHandler createGenericProxyInvocationHandler(@NotNull Object obj)
- {
- return new GProxyInvocationHandler(obj,this);
+ public GenericProxyInvocationHandler createGenericProxyInvocationHandler(@NotNull Object obj) {
+ return new GProxyInvocationHandler(obj, this);
}
}
diff --git a/src/main/java/com/sillelien/dollar/relproxy/impl/gproxy/core/GProxyInvocationHandler.java b/src/main/java/com/sillelien/dollar/relproxy/impl/gproxy/core/GProxyInvocationHandler.java
index a1c54d3..9859dce 100644
--- a/src/main/java/com/sillelien/dollar/relproxy/impl/gproxy/core/GProxyInvocationHandler.java
+++ b/src/main/java/com/sillelien/dollar/relproxy/impl/gproxy/core/GProxyInvocationHandler.java
@@ -4,21 +4,17 @@
import org.jetbrains.annotations.NotNull;
/**
- *
* @author jmarranz
*/
-public class GProxyInvocationHandler extends GenericProxyInvocationHandler
-{
- public GProxyInvocationHandler(@NotNull Object obj, GProxyImpl root)
- {
+public class GProxyInvocationHandler extends GenericProxyInvocationHandler {
+ public GProxyInvocationHandler(@NotNull Object obj, GProxyImpl root) {
super(root);
- this.verObj = new GProxyVersionedObject(obj,this);
+ this.verObj = new GProxyVersionedObject(obj, this);
}
@NotNull
- public GProxyImpl getGProxyImpl()
- {
- return (GProxyImpl)root;
+ public GProxyImpl getGProxyImpl() {
+ return (GProxyImpl) root;
}
}
diff --git a/src/main/java/com/sillelien/dollar/relproxy/impl/gproxy/core/GProxyVersionedObject.java b/src/main/java/com/sillelien/dollar/relproxy/impl/gproxy/core/GProxyVersionedObject.java
index f8cbc2a..8f20b99 100644
--- a/src/main/java/com/sillelien/dollar/relproxy/impl/gproxy/core/GProxyVersionedObject.java
+++ b/src/main/java/com/sillelien/dollar/relproxy/impl/gproxy/core/GProxyVersionedObject.java
@@ -8,46 +8,37 @@
import java.lang.reflect.Field;
/**
- *
* @author jmarranz
*/
-public class GProxyVersionedObject extends GenericProxyVersionedObject
-{
- protected String path;
-
- public GProxyVersionedObject(@NotNull Object obj, GProxyInvocationHandler parent)
- {
- super(obj,parent);
- this.path = obj.getClass().getName().replace('.','/');
- }
+public class GProxyVersionedObject extends GenericProxyVersionedObject {
+ protected String path;
+
+ public GProxyVersionedObject(@NotNull Object obj, GProxyInvocationHandler parent) {
+ super(obj, parent);
+ this.path = obj.getClass().getName().replace('.', '/');
+ }
@NotNull
- public GProxyInvocationHandler getGProxyInvocationHandler()
- {
- return (GProxyInvocationHandler)parent;
+ public GProxyInvocationHandler getGProxyInvocationHandler() {
+ return (GProxyInvocationHandler) parent;
}
@Nullable
@Override
- protected Class reloadClass()
- {
+ protected Class reloadClass() {
GProxyGroovyScriptEngine engine = getGProxyInvocationHandler().getGProxyImpl().getGProxyGroovyScriptEngine();
-
- try
- {
+
+ try {
return engine.loadScriptByName(path + ".groovy"); //Ej: example/groovyex/GroovyExampleLoadListener.groovy
- }
- catch(Exception ex)
- {
+ } catch (Exception ex) {
ex.printStackTrace(System.err);
return null;
- }
+ }
}
-
+
@Override
- protected boolean ignoreField(@NotNull Field field)
- {
+ protected boolean ignoreField(@NotNull Field field) {
return field.getName().startsWith("__timeStamp__"); // Este atributo cambia de nombre en cada reload, no lo consideramos
}
}
diff --git a/src/main/java/com/sillelien/dollar/relproxy/impl/jproxy/JProxyConfigImpl.java b/src/main/java/com/sillelien/dollar/relproxy/impl/jproxy/JProxyConfigImpl.java
index eb5c831..7b62e6f 100644
--- a/src/main/java/com/sillelien/dollar/relproxy/impl/jproxy/JProxyConfigImpl.java
+++ b/src/main/java/com/sillelien/dollar/relproxy/impl/jproxy/JProxyConfigImpl.java
@@ -14,12 +14,10 @@
import java.io.File;
/**
- *
* @author jmarranz
*/
-public class JProxyConfigImpl extends GenericProxyConfigBaseImpl implements JProxyConfig
-{
- protected File folderSources;
+public class JProxyConfigImpl extends GenericProxyConfigBaseImpl implements JProxyConfig {
+ protected File folderSources;
protected FolderSourceList folderSourceList;
protected FolderSourceList requiredExtraJarPaths;
protected JProxyInputSourceFileExcludedListener excludedListener;
@@ -29,144 +27,123 @@ public class JProxyConfigImpl extends GenericProxyConfigBaseImpl implements JPro
protected Iterable compilationOptions;
protected JProxyDiagnosticsListener diagnosticsListener;
protected boolean test = false;
-
+
@NotNull
@Override
- public JProxyConfig setEnabled(boolean enabled)
- {
+ public JProxyConfig setEnabled(boolean enabled) {
this.enabled = enabled;
return this;
}
@NotNull
@Override
- public JProxyConfig setRelProxyOnReloadListener(RelProxyOnReloadListener relListener)
- {
- this.relListener = relListener;
- return this;
- }
-
+ public JProxyConfig setRelProxyOnReloadListener(RelProxyOnReloadListener relListener) {
+ this.relListener = relListener;
+ return this;
+ }
+
@NotNull
@Override
- public JProxyConfig setInputPath(@Nullable String inputPath)
- {
+ public JProxyConfig setInputPath(@Nullable String inputPath) {
setInputPaths(inputPath != null ? new String[]{inputPath} : null); // inputPath es null en el caso de shell interactive
return this;
}
@NotNull
@Override
- public JProxyConfig setInputPaths(String[] inputPaths)
- {
- this.folderSourceList = new FolderSourceList(inputPaths,true); // inputPaths es null en el caso de shell interactive
+ public JProxyConfig setInputPaths(String[] inputPaths) {
+ this.folderSourceList = new FolderSourceList(inputPaths, true); // inputPaths es null en el caso de shell interactive
return this;
- }
+ }
@NotNull
@Override
- public JProxyConfig setRequiredExtraJarPaths(String[] inputJarPaths)
- {
- this.requiredExtraJarPaths = new FolderSourceList(inputJarPaths,false); // inputPaths es null en el caso de shell interactive
+ public JProxyConfig setRequiredExtraJarPaths(String[] inputJarPaths) {
+ this.requiredExtraJarPaths = new FolderSourceList(inputJarPaths, false); // inputPaths es null en el caso de shell interactive
return this;
- }
-
+ }
+
@NotNull
@Override
- public JProxyConfig setJProxyInputSourceFileExcludedListener(JProxyInputSourceFileExcludedListener excludedListener)
- {
+ public JProxyConfig setJProxyInputSourceFileExcludedListener(JProxyInputSourceFileExcludedListener excludedListener) {
this.excludedListener = excludedListener;
return this;
}
-
+
@NotNull
@Override
- public JProxyConfig setJProxyCompilerListener(JProxyCompilerListener compilerListener)
- {
+ public JProxyConfig setJProxyCompilerListener(JProxyCompilerListener compilerListener) {
this.compilerListener = compilerListener;
return this;
- }
-
+ }
+
@NotNull
@Override
- public JProxyConfig setClassFolder(String classFolder)
- {
- this.classFolder = classFolder;
- return this;
+ public JProxyConfig setClassFolder(String classFolder) {
+ this.classFolder = classFolder;
+ return this;
}
@NotNull
@Override
- public JProxyConfig setScanPeriod(long scanPeriod)
- {
+ public JProxyConfig setScanPeriod(long scanPeriod) {
if (scanPeriod == 0) throw new RelProxyException("scanPeriod cannot be zero");
- this.scanPeriod = scanPeriod;
- return this;
+ this.scanPeriod = scanPeriod;
+ return this;
}
@NotNull
@Override
- public JProxyConfig setCompilationOptions(Iterable compilationOptions)
- {
- this.compilationOptions = compilationOptions;
- return this;
+ public JProxyConfig setCompilationOptions(Iterable compilationOptions) {
+ this.compilationOptions = compilationOptions;
+ return this;
}
@NotNull
@Override
- public JProxyConfig setJProxyDiagnosticsListener(JProxyDiagnosticsListener diagnosticsListener)
- {
+ public JProxyConfig setJProxyDiagnosticsListener(JProxyDiagnosticsListener diagnosticsListener) {
this.diagnosticsListener = diagnosticsListener;
- return this;
- }
-
- public FolderSourceList getFolderSourceList()
- {
+ return this;
+ }
+
+ public FolderSourceList getFolderSourceList() {
return folderSourceList;
}
-
- public FolderSourceList getRequiredExtraJarPaths()
- {
+
+ public FolderSourceList getRequiredExtraJarPaths() {
return requiredExtraJarPaths;
- }
-
- public JProxyInputSourceFileExcludedListener getJProxyInputSourceFileExcludedListener()
- {
+ }
+
+ public JProxyInputSourceFileExcludedListener getJProxyInputSourceFileExcludedListener() {
return excludedListener;
- }
-
- public JProxyCompilerListener getJProxyCompilerListener()
- {
+ }
+
+ public JProxyCompilerListener getJProxyCompilerListener() {
return compilerListener;
}
-
- public String getClassFolder()
- {
+
+ public String getClassFolder() {
return classFolder;
}
- public long getScanPeriod()
- {
+ public long getScanPeriod() {
return scanPeriod;
}
- public Iterable getCompilationOptions()
- {
+ public Iterable getCompilationOptions() {
return compilationOptions;
}
- public JProxyDiagnosticsListener getJProxyDiagnosticsListener()
- {
+ public JProxyDiagnosticsListener getJProxyDiagnosticsListener() {
return diagnosticsListener;
}
-
- public boolean isTest()
- {
+
+ public boolean isTest() {
return test;
}
- public void setTest(boolean test)
- {
+ public void setTest(boolean test) {
this.test = test;
}
-
+
}
diff --git a/src/main/java/com/sillelien/dollar/relproxy/impl/jproxy/JProxyDefaultImpl.java b/src/main/java/com/sillelien/dollar/relproxy/impl/jproxy/JProxyDefaultImpl.java
index 83251da..d674f35 100644
--- a/src/main/java/com/sillelien/dollar/relproxy/impl/jproxy/JProxyDefaultImpl.java
+++ b/src/main/java/com/sillelien/dollar/relproxy/impl/jproxy/JProxyDefaultImpl.java
@@ -6,86 +6,74 @@
import org.jetbrains.annotations.Nullable;
/**
- *
* @author jmarranz
*/
-public class JProxyDefaultImpl extends JProxyImpl
-{
- public JProxyDefaultImpl()
- {
+public class JProxyDefaultImpl extends JProxyImpl {
+ public JProxyDefaultImpl() {
}
-
+
@Nullable
@Override
- public Class getMainParamClass()
- {
+ public Class getMainParamClass() {
return null;
}
- public static JProxyConfig createJProxyConfig()
- {
+ public static JProxyConfig createJProxyConfig() {
return new JProxyConfigImpl();
- }
-
- public static void initStatic(@NotNull JProxyConfigImpl config)
- {
+ }
+
+ public static void initStatic(@NotNull JProxyConfigImpl config) {
if (!config.isEnabled()) return;
-
+
checkSingletonNull(SINGLETON);
SINGLETON = new JProxyDefaultImpl();
SINGLETON.init(config);
- }
-
-
+ }
+
+
@Nullable
- public static T createStatic(T obj, Class clasz)
- {
- if (SINGLETON == null)
+ public static T createStatic(T obj, Class clasz) {
+ if (SINGLETON == null)
return obj; // No se ha llamado al init o enabled = false
-
+
return SINGLETON.create(obj, clasz);
- }
+ }
@Nullable
- public static Object createStatic(Object obj, @NotNull Class>[] classes)
- {
- if (SINGLETON == null)
+ public static Object createStatic(Object obj, @NotNull Class>[] classes) {
+ if (SINGLETON == null)
return obj; // No se ha llamado al init o enabled = false
-
- return SINGLETON.create(obj, classes);
- }
-
-
- public static boolean isEnabledStatic()
- {
- if (SINGLETON == null)
+
+ return SINGLETON.create(obj, classes);
+ }
+
+
+ public static boolean isEnabledStatic() {
+ if (SINGLETON == null)
return false;
-
+
return SINGLETON.isEnabled();
- }
-
-
- public static boolean isRunningStatic()
- {
- if (SINGLETON == null)
+ }
+
+
+ public static boolean isRunningStatic() {
+ if (SINGLETON == null)
return false;
-
+
return SINGLETON.isRunning();
- }
-
- public static boolean stopStatic()
- {
- if (SINGLETON == null)
+ }
+
+ public static boolean stopStatic() {
+ if (SINGLETON == null)
return false;
-
+
return SINGLETON.stop();
- }
-
- public static boolean startStatic()
- {
- if (SINGLETON == null)
+ }
+
+ public static boolean startStatic() {
+ if (SINGLETON == null)
return false;
-
+
return SINGLETON.start();
- }
+ }
}
diff --git a/src/main/java/com/sillelien/dollar/relproxy/impl/jproxy/JProxyUtil.java b/src/main/java/com/sillelien/dollar/relproxy/impl/jproxy/JProxyUtil.java
index dcfa297..ba850d0 100644
--- a/src/main/java/com/sillelien/dollar/relproxy/impl/jproxy/JProxyUtil.java
+++ b/src/main/java/com/sillelien/dollar/relproxy/impl/jproxy/JProxyUtil.java
@@ -17,149 +17,126 @@
import java.net.URLConnection;
/**
- *
* @author jmarranz
*/
-public class JProxyUtil
-{
- public static String getCanonicalPath(@NotNull File file)
- {
- try
- {
+public class JProxyUtil {
+ public static String getCanonicalPath(@NotNull File file) {
+ try {
return file.getCanonicalPath();
- }
- catch (IOException ex)
- {
+ } catch (IOException ex) {
throw new RelProxyException(ex);
}
}
-
- public static String getFileExtension(@NotNull File file)
- {
+
+ public static String getFileExtension(@NotNull File file) {
String path = file.getAbsolutePath();
- int pos = path.lastIndexOf('.');
- if (pos != -1)
- return path.substring(pos + 1);
+ int pos = path.lastIndexOf('.');
+ if (pos != -1)
+ return path.substring(pos + 1);
return "";
- }
-
- public static File getParentDir(@NotNull File file)
- {
+ }
+
+ public static File getParentDir(@NotNull File file) {
return file.getParentFile();
}
-
- public static byte[] readURL(@NotNull URL url)
- {
+
+ public static byte[] readURL(@NotNull URL url) {
URLConnection urlCon;
- try
- {
- urlCon = url.openConnection();
- return readInputStream(urlCon.getInputStream());
- }
- catch (IOException ex) { throw new RelProxyException(ex); }
+ try {
+ urlCon = url.openConnection();
+ return readInputStream(urlCon.getInputStream());
+ } catch (IOException ex) {
+ throw new RelProxyException(ex);
+ }
}
-
- public static byte[] readFile(@NotNull File file)
- {
+
+ public static byte[] readFile(@NotNull File file) {
FileInputStream fis = null;
- try
- {
- fis = new FileInputStream(file);
- }
- catch (FileNotFoundException ex)
- {
+ try {
+ fis = new FileInputStream(file);
+ } catch (FileNotFoundException ex) {
throw new RelProxyException(ex);
- }
+ }
return readInputStream(fis);
- }
+ }
- public static byte[] readInputStream(@NotNull InputStream is)
- {
- return readInputStream(is,50); // 50Kb => unas 100 lecturas 5 Mb
+ public static byte[] readInputStream(@NotNull InputStream is) {
+ return readInputStream(is, 50); // 50Kb => unas 100 lecturas 5 Mb
}
- public static byte[] readInputStream(@NotNull InputStream is, int bufferSizeKb)
- {
- ByteArrayOutputStream out = new ByteArrayOutputStream();
- try
- {
- byte[] buffer = new byte[bufferSizeKb*1024];
+ public static byte[] readInputStream(@NotNull InputStream is, int bufferSizeKb) {
+ ByteArrayOutputStream out = new ByteArrayOutputStream();
+ try {
+ byte[] buffer = new byte[bufferSizeKb * 1024];
int size;
- while( (size = is.read(buffer)) != -1 )
- {
- out.write(buffer, 0, size);
- }
- }
- catch (IOException ex)
- {
+ while ((size = is.read(buffer)) != -1) {
+ out.write(buffer, 0, size);
+ }
+ } catch (IOException ex) {
throw new RelProxyException(ex);
- }
- finally
- {
- try { is.close(); } catch (IOException ex2) { throw new RelProxyException(ex2); }
+ } finally {
+ try {
+ is.close();
+ } catch (IOException ex2) {
+ throw new RelProxyException(ex2);
+ }
}
return out.toByteArray();
- }
-
- public static void saveFile(@NotNull File file, @NotNull byte[] content)
- {
+ }
+
+ public static void saveFile(@NotNull File file, @NotNull byte[] content) {
File parent = getParentDir(file);
if (parent != null) parent.mkdirs();
- FileOutputStream out = null;
- try
- {
- out = new FileOutputStream(file);
- out.write(content, 0, content.length);
- }
- catch (IOException ex)
- {
+ FileOutputStream out = null;
+ try {
+ out = new FileOutputStream(file);
+ out.write(content, 0, content.length);
+ } catch (IOException ex) {
throw new RelProxyException(ex);
- }
- finally
- {
- if (out != null) try { out.close(); } catch (IOException ex2) { throw new RelProxyException(ex2); }
+ } finally {
+ if (out != null) try {
+ out.close();
+ } catch (IOException ex2) {
+ throw new RelProxyException(ex2);
+ }
}
- }
+ }
- public static String readTextFile(@NotNull File file, @NotNull String encoding)
- {
+ public static String readTextFile(@NotNull File file, @NotNull String encoding) {
Reader reader = null;
- try
- {
- reader = new InputStreamReader(new FileInputStream(file),encoding); // FileReader no permite especificar el encoding y total no hace nada que no haga InputStreamReader
+ try {
+ reader = new InputStreamReader(new FileInputStream(file), encoding); // FileReader no permite especificar el encoding y total no hace nada que no haga InputStreamReader
+ } catch (IOException ex) {
+ throw new RelProxyException(ex);
}
- catch(IOException ex) { throw new RelProxyException(ex); }
-
+
return readTextFile(reader);
- }
-
- public static String readTextFile(@NotNull Reader reader)
- {
+ }
+
+ public static String readTextFile(@NotNull Reader reader) {
BufferedReader br = null;
- try
- {
+ try {
br = new BufferedReader(reader); // FileReader no permite especificar el encoding y total no hace nada que no haga InputStreamReader
StringBuilder sb = new StringBuilder();
String line = br.readLine();
- while (line != null)
- {
+ while (line != null) {
sb.append(line);
sb.append('\n');
line = br.readLine();
}
return sb.toString();
- }
- catch(IOException ex)
- {
+ } catch (IOException ex) {
throw new RelProxyException(ex);
+ } finally {
+ if (br != null) try {
+ br.close();
+ } catch (IOException ex) {
+ throw new RelProxyException(ex);
+ }
}
- finally
- {
- if (br != null) try { br.close(); } catch (IOException ex) { throw new RelProxyException(ex); }
- }
- }
+ }
}
diff --git a/src/main/java/com/sillelien/dollar/relproxy/impl/jproxy/core/JProxyImpl.java b/src/main/java/com/sillelien/dollar/relproxy/impl/jproxy/core/JProxyImpl.java
index 8c9883c..df213eb 100644
--- a/src/main/java/com/sillelien/dollar/relproxy/impl/jproxy/core/JProxyImpl.java
+++ b/src/main/java/com/sillelien/dollar/relproxy/impl/jproxy/core/JProxyImpl.java
@@ -14,35 +14,29 @@
import org.jetbrains.annotations.Nullable;
/**
- *
* @author jmarranz
*/
-public abstract class JProxyImpl extends GenericProxyImpl
-{
- public static JProxyImpl SINGLETON;
+public abstract class JProxyImpl extends GenericProxyImpl {
+ public static JProxyImpl SINGLETON;
protected JProxyEngine engine;
-
- protected JProxyImpl()
- {
+
+ protected JProxyImpl() {
}
-
- public static ClassLoader getDefaultClassLoader()
- {
+
+ public static ClassLoader getDefaultClassLoader() {
return Thread.currentThread().getContextClassLoader();
}
-
+
@Nullable
- public ClassDescriptorSourceScript init(@NotNull JProxyConfigImpl config)
- {
- return init(config,null,null);
- }
-
+ public ClassDescriptorSourceScript init(@NotNull JProxyConfigImpl config) {
+ return init(config, null, null);
+ }
+
@Nullable
- public ClassDescriptorSourceScript init(@NotNull JProxyConfigImpl config, SourceScriptRoot scriptFile, ClassLoader classLoader)
- {
+ public ClassDescriptorSourceScript init(@NotNull JProxyConfigImpl config, SourceScriptRoot scriptFile, ClassLoader classLoader) {
super.init(config);
-
+
FolderSourceList folderSourceList = config.getFolderSourceList();
FolderSourceList requiredExtraJarPaths = config.getRequiredExtraJarPaths();
JProxyInputSourceFileExcludedListener excludedListener = config.getJProxyInputSourceFileExcludedListener();
@@ -52,45 +46,39 @@ public ClassDescriptorSourceScript init(@NotNull JProxyConfigImpl config, Source
Iterable compilationOptions = config.getCompilationOptions();
JProxyDiagnosticsListener diagnosticsListener = config.getJProxyDiagnosticsListener();
boolean enabled = config.isEnabled();
-
- classLoader = classLoader != null ? classLoader : getDefaultClassLoader();
- this.engine = new JProxyEngine(this,enabled,scriptFile,classLoader,folderSourceList,requiredExtraJarPaths,classFolder,scanPeriod,excludedListener,compilerListener,compilationOptions,diagnosticsListener);
-
+
+ classLoader = classLoader != null ? classLoader : getDefaultClassLoader();
+ this.engine = new JProxyEngine(this, enabled, scriptFile, classLoader, folderSourceList, requiredExtraJarPaths, classFolder, scanPeriod, excludedListener, compilerListener, compilationOptions, diagnosticsListener);
+
return engine.init();
- }
-
- public JProxyEngine getJProxyEngine()
- {
+ }
+
+ public JProxyEngine getJProxyEngine() {
return engine;
}
-
- public boolean isEnabled()
- {
+
+ public boolean isEnabled() {
return engine.isEnabled();
}
-
- public boolean isRunning()
- {
+
+ public boolean isRunning() {
return engine.isRunning();
- }
-
- public boolean stop()
- {
+ }
+
+ public boolean stop() {
return engine.stop();
- }
-
- public boolean start()
- {
+ }
+
+ public boolean start() {
return engine.start();
- }
-
+ }
+
@NotNull
@Override
- public GenericProxyInvocationHandler createGenericProxyInvocationHandler(@NotNull Object obj)
- {
- return new JProxyInvocationHandler(obj,this);
+ public GenericProxyInvocationHandler createGenericProxyInvocationHandler(@NotNull Object obj) {
+ return new JProxyInvocationHandler(obj, this);
}
-
+
@Nullable
public abstract Class getMainParamClass();
}
diff --git a/src/main/java/com/sillelien/dollar/relproxy/impl/jproxy/core/JProxyInvocationHandler.java b/src/main/java/com/sillelien/dollar/relproxy/impl/jproxy/core/JProxyInvocationHandler.java
index d4223e5..4820f08 100644
--- a/src/main/java/com/sillelien/dollar/relproxy/impl/jproxy/core/JProxyInvocationHandler.java
+++ b/src/main/java/com/sillelien/dollar/relproxy/impl/jproxy/core/JProxyInvocationHandler.java
@@ -5,21 +5,17 @@
import org.jetbrains.annotations.NotNull;
/**
- *
* @author jmarranz
*/
-public class JProxyInvocationHandler extends GenericProxyInvocationHandler
-{
- public JProxyInvocationHandler(@NotNull Object obj, JProxyImpl root)
- {
+public class JProxyInvocationHandler extends GenericProxyInvocationHandler {
+ public JProxyInvocationHandler(@NotNull Object obj, JProxyImpl root) {
super(root);
- this.verObj = new JProxyVersionedObject(obj,this);
+ this.verObj = new JProxyVersionedObject(obj, this);
}
@NotNull
- public JProxyImpl getJProxyImpl()
- {
- return (JProxyImpl)root;
- }
-
+ public JProxyImpl getJProxyImpl() {
+ return (JProxyImpl) root;
+ }
+
}
diff --git a/src/main/java/com/sillelien/dollar/relproxy/impl/jproxy/core/JProxyVersionedObject.java b/src/main/java/com/sillelien/dollar/relproxy/impl/jproxy/core/JProxyVersionedObject.java
index 2951dd4..55e2931 100644
--- a/src/main/java/com/sillelien/dollar/relproxy/impl/jproxy/core/JProxyVersionedObject.java
+++ b/src/main/java/com/sillelien/dollar/relproxy/impl/jproxy/core/JProxyVersionedObject.java
@@ -8,37 +8,31 @@
import java.lang.reflect.Field;
/**
- *
* @author jmarranz
*/
-public class JProxyVersionedObject extends GenericProxyVersionedObject
-{
- protected String className;
+public class JProxyVersionedObject extends GenericProxyVersionedObject {
+ protected String className;
- public JProxyVersionedObject(@NotNull Object obj, JProxyInvocationHandler parent)
- {
- super(obj,parent);
+ public JProxyVersionedObject(@NotNull Object obj, JProxyInvocationHandler parent) {
+ super(obj, parent);
this.className = obj.getClass().getName();
- }
+ }
@NotNull
- public JProxyInvocationHandler getJProxyInvocationHandler()
- {
- return (JProxyInvocationHandler)parent;
- }
-
+ public JProxyInvocationHandler getJProxyInvocationHandler() {
+ return (JProxyInvocationHandler) parent;
+ }
+
@Nullable
@Override
- protected Class> reloadClass()
- {
- JProxyEngine engine = getJProxyInvocationHandler().getJProxyImpl().getJProxyEngine();
+ protected Class> reloadClass() {
+ JProxyEngine engine = getJProxyInvocationHandler().getJProxyImpl().getJProxyEngine();
engine.reloadWhenChanged();
- return (Class>)engine.findClass(className);
+ return (Class>) engine.findClass(className);
}
-
+
@Override
- protected boolean ignoreField(Field field)
- {
+ protected boolean ignoreField(Field field) {
return false; // Todos cuentan (útil en Groovy no en Java)
- }
+ }
}
diff --git a/src/main/java/com/sillelien/dollar/relproxy/impl/jproxy/core/clsmgr/FolderSourceList.java b/src/main/java/com/sillelien/dollar/relproxy/impl/jproxy/core/clsmgr/FolderSourceList.java
index 9e54d35..925da6d 100644
--- a/src/main/java/com/sillelien/dollar/relproxy/impl/jproxy/core/clsmgr/FolderSourceList.java
+++ b/src/main/java/com/sillelien/dollar/relproxy/impl/jproxy/core/clsmgr/FolderSourceList.java
@@ -8,76 +8,64 @@
import java.io.File;
/**
- *
* @author jmarranz
*/
-public class FolderSourceList
-{
+public class FolderSourceList {
protected FileExt[] sourceList;
-
- public FolderSourceList(@Nullable String[] sourcePathList, boolean expectedDirectory)
- {
+
+ public FolderSourceList(@Nullable String[] sourcePathList, boolean expectedDirectory) {
if (sourcePathList != null) // En el caso de shell interactivo es null
{
// El convertir siempre a File los paths es para normalizar paths
this.sourceList = new FileExt[sourcePathList.length];
- for(int i = 0; i < sourcePathList.length; i++)
- {
+ for (int i = 0; i < sourcePathList.length; i++) {
File folder = new File(sourcePathList[i]);
if (!folder.exists())
throw new RelProxyException("Source folder does not exist: " + folder.getAbsolutePath());
boolean isDirectory = folder.isDirectory();
- if (expectedDirectory)
- {
+ if (expectedDirectory) {
if (!isDirectory)
- throw new RelProxyException("Source folder is not a directory: " + folder.getAbsolutePath());
- }
- else
- {
+ throw new RelProxyException("Source folder is not a directory: " + folder.getAbsolutePath());
+ } else {
if (isDirectory)
- throw new RelProxyException("Expected a file not a directory: " + folder.getAbsolutePath());
+ throw new RelProxyException("Expected a file not a directory: " + folder.getAbsolutePath());
}
- sourceList[i] = new FileExt(folder);
+ sourceList[i] = new FileExt(folder);
}
}
- }
-
- public FileExt[] getArray()
- {
- return sourceList;
}
-
+
+ public FileExt[] getArray() {
+ return sourceList;
+ }
+
@Nullable
- public String buildClassNameFromFile(@NotNull FileExt sourceFile)
- {
- for(FileExt rootFolderOfSources : sourceList)
- {
- String className = buildClassNameFromFile(sourceFile,rootFolderOfSources);
+ public String buildClassNameFromFile(@NotNull FileExt sourceFile) {
+ for (FileExt rootFolderOfSources : sourceList) {
+ String className = buildClassNameFromFile(sourceFile, rootFolderOfSources);
if (className != null)
- return className;
+ return className;
}
throw new RelProxyException("File not found in source folders: " + sourceFile.getFile().getAbsolutePath());
- }
-
- public static String buildClassNameFromFile(@NotNull FileExt sourceFile, @NotNull FileExt rootFolderOfSources)
- {
+ }
+
+ public static String buildClassNameFromFile(@NotNull FileExt sourceFile, @NotNull FileExt rootFolderOfSources) {
String path = sourceFile.getCanonicalPath();
String rootFolderOfSourcesAbsPath = rootFolderOfSources.getCanonicalPath();
- int pos = path.indexOf(rootFolderOfSourcesAbsPath);
+ int pos = path.indexOf(rootFolderOfSourcesAbsPath);
if (pos == 0) // Está en este source folder
{
path = path.substring(rootFolderOfSourcesAbsPath.length() + 1); // Sumamos +1 para quitar también el / separador del pathInput y el path relativo de la clase
// Puede no tener extensión (script) o bien ser .java o bien ser una inventada (ej .jsh), la quitamos si existe
- pos = path.lastIndexOf('.');
- if (pos != -1)
- path = path.substring(0, pos);
+ pos = path.lastIndexOf('.');
+ if (pos != -1)
+ path = path.substring(0, pos);
path = path.replace(File.separatorChar, '.'); // getAbsolutePath() normaliza con el caracter de la plataforma
return path;
}
return null;
- }
-
-
-
+ }
+
+
}
diff --git a/src/main/java/com/sillelien/dollar/relproxy/impl/jproxy/core/clsmgr/JProxyClassLoader.java b/src/main/java/com/sillelien/dollar/relproxy/impl/jproxy/core/clsmgr/JProxyClassLoader.java
index 8552bbc..4a14c6b 100644
--- a/src/main/java/com/sillelien/dollar/relproxy/impl/jproxy/core/clsmgr/JProxyClassLoader.java
+++ b/src/main/java/com/sillelien/dollar/relproxy/impl/jproxy/core/clsmgr/JProxyClassLoader.java
@@ -9,42 +9,35 @@
import java.net.URL;
/**
- *
* @author jmarranz
*/
-public class JProxyClassLoader extends ClassLoader
-{
+public class JProxyClassLoader extends ClassLoader {
@NotNull
protected final JProxyEngine engine;
-
- public JProxyClassLoader(@NotNull JProxyEngine engine)
- {
+
+ public JProxyClassLoader(@NotNull JProxyEngine engine) {
super(engine.getRootClassLoader());
-
+
this.engine = engine;
}
-
- public Class defineClass(@NotNull ClassDescriptor classDesc)
- {
+
+ public Class defineClass(@NotNull ClassDescriptor classDesc) {
Object monitor = engine.getMonitor();
- synchronized(monitor)
- {
+ synchronized (monitor) {
String className = classDesc.getClassName();
byte[] classBytes = classDesc.getClassBytes();
- Class clasz = defineClass(className,classBytes, 0, classBytes.length);
+ Class clasz = defineClass(className, classBytes, 0, classBytes.length);
classDesc.setLastLoadedClass(clasz);
- return clasz;
+ return clasz;
}
}
-
+
@Override
- protected Class> findClass(@NotNull String name) throws ClassNotFoundException
- {
+ protected Class> findClass(@NotNull String name) throws ClassNotFoundException {
Object monitor = engine.getMonitor();
- synchronized(monitor)
- {
- return loadClass(name,true);
-
+ synchronized (monitor) {
+ return loadClass(name, true);
+
/*
Class> cls = findLoadedClass(name);
if (cls == null)
@@ -56,49 +49,43 @@ protected Class> findClass(@NotNull String name) throws ClassNotFoundException
return cls;
*/
}
- }
+ }
- public Class loadClass(@NotNull ClassDescriptor classDesc, boolean resolve)
- {
+ public Class loadClass(@NotNull ClassDescriptor classDesc, boolean resolve) {
Object monitor = engine.getMonitor();
- synchronized(monitor)
- {
+ synchronized (monitor) {
Class clasz = classDesc.getLastLoadedClass();
if (clasz != null && clasz.getClassLoader() == this) return clasz; // Glup, ya fue cargada
- clasz = defineClass(classDesc);
+ clasz = defineClass(classDesc);
if (resolve) {
resolveClass(clasz);
- }
+ }
return clasz;
}
- }
-
+ }
+
@Nullable
- public Class loadInnerClass(@NotNull ClassDescriptorSourceUnit parentDesc, @NotNull String innerClassName)
- {
+ public Class loadInnerClass(@NotNull ClassDescriptorSourceUnit parentDesc, @NotNull String innerClassName) {
Object monitor = engine.getMonitor();
- synchronized(monitor)
- {
- ClassDescriptor classDesc = parentDesc.getInnerClassDescriptor(innerClassName,false);
- if (classDesc == null || classDesc.getClassBytes() == null)
- {
- byte[] classBytes = getClassBytesFromResource(innerClassName);
- if (classBytes == null) return null;
+ synchronized (monitor) {
+ ClassDescriptor classDesc = parentDesc.getInnerClassDescriptor(innerClassName, false);
+ if (classDesc == null || classDesc.getClassBytes() == null) {
+ byte[] classBytes = getClassBytesFromResource(innerClassName);
+ if (classBytes == null) return null;
if (classDesc == null) classDesc = parentDesc.addInnerClassDescriptor(innerClassName);
classDesc.setClassBytes(classBytes);
- }
+ }
- return defineClass(classDesc);
+ return defineClass(classDesc);
}
}
-
+
@Override
- protected Class> loadClass(@NotNull String name, boolean resolve) throws ClassNotFoundException
- {
+ protected Class> loadClass(@NotNull String name, boolean resolve) throws ClassNotFoundException {
// Inspiraciones en URLClassLoader.findClass y en el propio análisis de ClassLoader.loadClass
// Lo redefinimos por si acaso porque el objetivo es recargar todas las clases hot-reloaded en este ClassLoader y no delegar en el parent
// (el comportamiento por defecto de loadClass) pues las clases cargadas con el parent tenderán a cargar las clases vinculadas con dicho ClassLoader
-
+
// En teoría este método redefinido no es necesario porque manualmente detectamos los cambios de código fuente, recompilamos y recargamos explícitamente
// con defineClass el cual no carga también las innerclasses vinculadas,
// pero si el código fuente tiene innerclasses y no ha sido cambiado nunca, las innerclasses pueden no ser conocidas como ClassDescriptor,
@@ -110,32 +97,27 @@ protected Class> loadClass(@NotNull String name, boolean resolve) throws Class
// por lo que pasaremos por aquí y debemos cargarla aquí, luego no hay problema de recarga explícita porque sabemos que ha sido ya cargada
// y tampoco hay problema de auto-salvado del .class o eliminación del mismo puesto que al ser un archivo fuente normal se tratará por si mismo
// aunque la carga en el class loader se haya hecho a través de una clase derivada quizás antes
-
+
Object monitor = engine.getMonitor();
- synchronized(monitor)
- {
+ synchronized (monitor) {
Class> cls = findLoadedClass(name);
- if (cls == null)
- {
+ if (cls == null) {
ClassDescriptor classDesc = engine.getClassDescriptor(name); // Si es una inner class se crea el descriptor y se añade al source file asociado automáticamente
- if (classDesc != null)
- {
+ if (classDesc != null) {
byte[] classBytes = classDesc.getClassBytes();
- if (classBytes == null)
- {
+ if (classBytes == null) {
classBytes = getClassBytesFromResource(name); // No puede ser nulo
classDesc.setClassBytes(classBytes);
}
- cls = defineClass(classDesc);
+ cls = defineClass(classDesc);
}
-
- if (cls == null)
- {
+
+ if (cls == null) {
cls = getParent().loadClass(name); // Dará un ClassNotFoundException si no puede cargarla
}
- }
-
+ }
+
if (cls == null) throw new ClassNotFoundException(name);
if (resolve) {
@@ -144,12 +126,11 @@ protected Class> loadClass(@NotNull String name, boolean resolve) throws Class
return cls;
}
}
-
- private byte[] getClassBytesFromResource(@NotNull String className)
- {
- String relClassPath = ClassDescriptor.getRelativeClassFilePathFromClassName(className);
+
+ private byte[] getClassBytesFromResource(@NotNull String className) {
+ String relClassPath = ClassDescriptor.getRelativeClassFilePathFromClassName(className);
URL urlClass = getResource(relClassPath);
if (urlClass == null) return null;
- return JProxyUtil.readURL(urlClass);
+ return JProxyUtil.readURL(urlClass);
}
}
diff --git a/src/main/java/com/sillelien/dollar/relproxy/impl/jproxy/core/clsmgr/JProxyEngine.java b/src/main/java/com/sillelien/dollar/relproxy/impl/jproxy/core/clsmgr/JProxyEngine.java
index efdfdd7..303706c 100644
--- a/src/main/java/com/sillelien/dollar/relproxy/impl/jproxy/core/clsmgr/JProxyEngine.java
+++ b/src/main/java/com/sillelien/dollar/relproxy/impl/jproxy/core/clsmgr/JProxyEngine.java
@@ -18,11 +18,9 @@
import java.util.TimerTask;
/**
- *
* @author jmarranz
*/
-public class JProxyEngine
-{
+public class JProxyEngine {
protected final Object monitor = new Object(); // Podríamos usar este objeto JProxyEngine directamente pero el monitor es mejor para análisis de dependencias
protected final JProxyImpl parent;
@NotNull
@@ -30,47 +28,41 @@ public class JProxyEngine
protected final ClassLoader rootClassLoader;
@Nullable
protected JProxyClassLoader customClassLoader;
- protected final long scanPeriod;
+ protected final long scanPeriod;
protected final String sourceEncoding = "UTF-8"; // Por ahora, provisional
public volatile boolean stop = false;
@Nullable
protected TimerTask task;
- protected boolean pendingReload = false;
- protected final boolean enabled;
-
- public JProxyEngine(JProxyImpl parent,boolean enabled,SourceScriptRoot scriptFile,ClassLoader rootClassLoader,FolderSourceList folderSourceList,FolderSourceList requiredExtraJarPaths,
- String folderClasses,long scanPeriod,JProxyInputSourceFileExcludedListener excludedListener,
- JProxyCompilerListener compilerListener,Iterable compilationOptions,JProxyDiagnosticsListener diagnosticsListener)
- {
+ protected boolean pendingReload = false;
+ protected final boolean enabled;
+
+ public JProxyEngine(JProxyImpl parent, boolean enabled, SourceScriptRoot scriptFile, ClassLoader rootClassLoader, FolderSourceList folderSourceList, FolderSourceList requiredExtraJarPaths,
+ String folderClasses, long scanPeriod, JProxyInputSourceFileExcludedListener excludedListener,
+ JProxyCompilerListener compilerListener, Iterable compilationOptions, JProxyDiagnosticsListener diagnosticsListener) {
this.parent = parent;
- this.enabled = enabled;
+ this.enabled = enabled;
this.rootClassLoader = rootClassLoader;
this.scanPeriod = scanPeriod;
- this.delegateChangeDetector = new JProxyEngineChangeDetectorAndCompiler(this,scriptFile,folderSourceList,requiredExtraJarPaths,folderClasses,excludedListener,compilationOptions,diagnosticsListener,compilerListener);
+ this.delegateChangeDetector = new JProxyEngineChangeDetectorAndCompiler(this, scriptFile, folderSourceList, requiredExtraJarPaths, folderClasses, excludedListener, compilationOptions, diagnosticsListener, compilerListener);
this.customClassLoader = null; //new JProxyClassLoader(this);
}
-
+
@NotNull
- public Object getMonitor()
- {
+ public Object getMonitor() {
return monitor;
}
-
- public JProxyImpl getJProxy()
- {
+
+ public JProxyImpl getJProxy() {
return parent;
}
-
- public boolean isEnabled()
- {
+
+ public boolean isEnabled() {
return enabled;
- }
-
+ }
+
@Nullable
- public ClassDescriptorSourceScript init()
- {
- synchronized(getMonitor())
- {
+ public ClassDescriptorSourceScript init() {
+ synchronized (getMonitor()) {
ClassDescriptorSourceScript scriptFileDesc = detectChangesInSources(); // Primera vez para detectar cambios en los .java respecto a los .class mientras el servidor estaba parado
reloadWhenChanged(); // La primera vez cargamos pues el código fuente manda sobre los .class
@@ -87,230 +79,185 @@ public JProxyClassLoader getJProxyClassLoader()
return customClassLoader;
}
*/
-
+
@Nullable
- public ClassLoader getCurrentClassLoader()
- {
+ public ClassLoader getCurrentClassLoader() {
if (customClassLoader != null)
return customClassLoader;
return rootClassLoader;
- }
-
- private boolean startScanner()
- {
+ }
+
+ private boolean startScanner() {
if (scanPeriod > 0) // Si es 0 o negativo sólo se recargan una vez (la inicial ya ejecutada)
- {
- this.task = new TimerTask()
- {
+ {
+ this.task = new TimerTask() {
@Override
- public void run()
- {
- if (stop)
- {
+ public void run() {
+ if (stop) {
cancel();
return;
}
-
- try
- {
+
+ try {
detectChangesInSources(); // Está sincronizado las partes que lo necesitan
- }
- catch(Exception ex)
- {
+ } catch (Exception ex) {
ex.printStackTrace(System.err); // Si dejamos subir la excepción se acabó el timer
}
}
- };
-
+ };
+
new Timer().schedule(task, scanPeriod, scanPeriod); // Ojo, después de la primera llamada a detectChangesInSources()
return true;
- }
- else
- {
+ } else {
return false;
}
}
-
- public void setPendingReload()
- {
+
+ public void setPendingReload() {
this.pendingReload = true;
- }
-
-
- public ClassLoader getRootClassLoader()
- {
+ }
+
+
+ public ClassLoader getRootClassLoader() {
return rootClassLoader;
}
-
+
@NotNull
- public String getSourceEncoding()
- {
+ public String getSourceEncoding() {
return sourceEncoding;
}
-
- public boolean isRunning()
- {
- synchronized(getMonitor())
- {
+
+ public boolean isRunning() {
+ synchronized (getMonitor()) {
return task != null && scanPeriod > 0;
}
}
-
- public boolean stop()
- {
- synchronized(getMonitor())
- {
- if (task != null)
- {
+
+ public boolean stop() {
+ synchronized (getMonitor()) {
+ if (task != null) {
this.stop = true;
task.cancel();
this.task = null;
return true;
- }
- else
- {
+ } else {
return false;
}
}
- }
-
- public boolean start()
- {
- synchronized(getMonitor())
- {
- if (task == null)
- {
+ }
+
+ public boolean start() {
+ synchronized (getMonitor()) {
+ if (task == null) {
this.stop = false;
return startScanner();
- }
- else return false;
+ } else return false;
}
- }
-
+ }
+
-
@Nullable
- public ClassDescriptor getClassDescriptor(@NotNull String className)
- {
- synchronized(getMonitor())
- {
+ public ClassDescriptor getClassDescriptor(@NotNull String className) {
+ synchronized (getMonitor()) {
return delegateChangeDetector.getClassDescriptor(className);
}
}
-
+
@Nullable
- public Class> findClass(@NotNull String className)
- {
+ public Class> findClass(@NotNull String className) {
// Si ya está cargada la devuelve, y si no se cargó por ningún JProxyClassLoader se intenta cargar por el parent ClassLoader, por lo que siempre devolverá distinto de null si la clase está en el classpath, que debería ser lo normal
- synchronized(getMonitor())
- {
- try
- {
+ synchronized (getMonitor()) {
+ try {
if (customClassLoader != null)
- return customClassLoader.findClass(className);
+ return customClassLoader.findClass(className);
else
return rootClassLoader.loadClass(className);
- }
- catch (ClassNotFoundException ex)
- {
+ } catch (ClassNotFoundException ex) {
return null;
}
}
}
-
- private void addNewClassLoader()
- {
+
+ private void addNewClassLoader() {
ClassDescriptorSourceFileRegistry sourceRegistry = delegateChangeDetector.getClassDescriptorSourceFileRegistry();
-
- for(ClassDescriptorSourceUnit sourceFile : sourceRegistry.getClassDescriptorSourceFileColl())
- {
+
+ for (ClassDescriptorSourceUnit sourceFile : sourceRegistry.getClassDescriptorSourceFileColl()) {
sourceFile.resetLastLoadedClass(); // resetea también las innerclasses
}
-
- this.customClassLoader = new JProxyClassLoader(this);
+
+ this.customClassLoader = new JProxyClassLoader(this);
}
-
-
- private Class reloadSource(@NotNull ClassDescriptorSourceUnit sourceFile)
- {
- Class clasz = customClassLoader.loadClass(sourceFile,true);
- reloadInnerClassesOnly(sourceFile,clasz);
+
+ private Class reloadSource(@NotNull ClassDescriptorSourceUnit sourceFile) {
+ Class clasz = customClassLoader.loadClass(sourceFile, true);
+ reloadInnerClassesOnly(sourceFile, clasz);
return clasz;
}
-
- private void reloadInnerClassesOnly(@NotNull ClassDescriptorSourceUnit sourceFile, @NotNull Class classParent)
- {
-
- LinkedList innerClassDescList = sourceFile.getInnerClassDescriptors();
- if (innerClassDescList != null && !innerClassDescList.isEmpty())
- {
+
+ private void reloadInnerClassesOnly(@NotNull ClassDescriptorSourceUnit sourceFile, @NotNull Class classParent) {
+
+ LinkedList innerClassDescList = sourceFile.getInnerClassDescriptors();
+ if (innerClassDescList != null && !innerClassDescList.isEmpty()) {
// En el caso de una clase que ha sido compilada, las inner classes se descubren todas
- for(ClassDescriptorInner innerClassDesc : innerClassDescList)
- {
- customClassLoader.loadClass(innerClassDesc,true);
+ for (ClassDescriptorInner innerClassDesc : innerClassDescList) {
+ customClassLoader.loadClass(innerClassDesc, true);
}
- }
- else // Auto-Detección de innerclasses: puede ser un archivo fuente que posiblemente nunca se hayan tocado desde la carga inicial y por tanto quizás se desconocen las innerclasses
+ } else // Auto-Detección de innerclasses: puede ser un archivo fuente que posiblemente nunca se hayan tocado desde la carga inicial y por tanto quizás se desconocen las innerclasses
{
// Aprovechando la carga de la clase, hacemos el esfuerzo de cargar todas las clases dependientes lo más posible
classParent.getDeclaredClasses(); // Provoca que las inner clases miembro indirectamente se procesen y carguen a través del JProxyClassLoader de la clase padre clasz
-
+
// Ahora bien, lo anterior NO sirve para las anonymous inner classes, afortunadamente en ese caso podemos conocer y cargar por fuerza bruta
// http://stackoverflow.com/questions/1654889/java-reflection-how-can-i-retrieve-anonymous-inner-classes?rq=1
-
- for(int i = 1; i < Integer.MAX_VALUE; i++) // No te asustes por el MAX_VALUE, se parará tras unos poquitos ciclos
+
+ for (int i = 1; i < Integer.MAX_VALUE; i++) // No te asustes por el MAX_VALUE, se parará tras unos poquitos ciclos
{
- String anonClassName = sourceFile.getClassName() + "$" + i;
- Class innerClasz = customClassLoader.loadInnerClass(sourceFile,anonClassName);
+ String anonClassName = sourceFile.getClassName() + "$" + i;
+ Class innerClasz = customClassLoader.loadInnerClass(sourceFile, anonClassName);
if (innerClasz == null) break; // No hay más o no hay ninguna (si i es 1)
- }
-
+ }
+
// ¿Qué es lo que queda por cargar pero que no podemos hacer explícitamente?
// 1) Las clases privadas autónomas que fueron definidas en el mismo archivo que la clase principal: no las soportamos pues no podemos identificar en el ClassLoader que es una clase "hot reloadable", no son inner classes en el sentido estricto
// 2) Las clases privadas "inner" locales, es decir no anónimas declaradas dentro de un método, se cargarán la primera vez que se usen, no podemos conocerlas a priori
// porque siguen la notación className$NclassName ej. JReloadExampleDocument$1AuxMemberInMethod. No hay problema con que se carguen con un class loader antiguo pues
// el ClassLoader de la clase padre contenedora será el encargado de cargarla en cuanto se pase por el método que la declara.
- }
- }
-
+ }
+ }
+
@Nullable
- public ClassDescriptorSourceScript detectChangesInSources()
- {
- return delegateChangeDetector.detectChangesInSources();
- }
-
+ public ClassDescriptorSourceScript detectChangesInSources() {
+ return delegateChangeDetector.detectChangesInSources();
+ }
+
@Nullable
- public ClassDescriptorSourceScript detectChangesInSourcesAndReload()
- {
- ClassDescriptorSourceScript res = detectChangesInSources();
+ public ClassDescriptorSourceScript detectChangesInSourcesAndReload() {
+ ClassDescriptorSourceScript res = detectChangesInSources();
reloadWhenChanged();
- return res;
- }
-
- public boolean reloadWhenChanged()
- {
- synchronized(getMonitor())
- {
- if (pendingReload)
- {
+ return res;
+ }
+
+ public boolean reloadWhenChanged() {
+ synchronized (getMonitor()) {
+ if (pendingReload) {
addNewClassLoader();
- ClassDescriptorSourceFileRegistry sourceRegistry = delegateChangeDetector.getClassDescriptorSourceFileRegistry();
+ ClassDescriptorSourceFileRegistry sourceRegistry = delegateChangeDetector.getClassDescriptorSourceFileRegistry();
- for(ClassDescriptorSourceUnit sourceFile : sourceRegistry.getClassDescriptorSourceFileColl()) // sourceRegistry NUNCA es nulo pues se ejecuta una primera vez en tiempo de inicialización
+ for (ClassDescriptorSourceUnit sourceFile : sourceRegistry.getClassDescriptorSourceFileColl()) // sourceRegistry NUNCA es nulo pues se ejecuta una primera vez en tiempo de inicialización
{
- // if (sourceFilesCompiled.contains(sourceFile))
- // continue;
+ // if (sourceFilesCompiled.contains(sourceFile))
+ // continue;
// las clases deleted no están en sourceFileMap por lo que no hay que filtrarlas
reloadSource(sourceFile); // Ponemos detectInnerClasses a true porque son archivos fuente que posiblemente nunca se hayan tocado desde la carga inicial y por tanto quizás se desconocen las innerclasses
- }
+ }
this.pendingReload = false;
return true;
}
- return false;
+ return false;
}
}
-
+
}
diff --git a/src/main/java/com/sillelien/dollar/relproxy/impl/jproxy/core/clsmgr/JProxyEngineChangeDetectorAndCompiler.java b/src/main/java/com/sillelien/dollar/relproxy/impl/jproxy/core/clsmgr/JProxyEngineChangeDetectorAndCompiler.java
index 4e6f179..90df143 100644
--- a/src/main/java/com/sillelien/dollar/relproxy/impl/jproxy/core/clsmgr/JProxyEngineChangeDetectorAndCompiler.java
+++ b/src/main/java/com/sillelien/dollar/relproxy/impl/jproxy/core/clsmgr/JProxyEngineChangeDetectorAndCompiler.java
@@ -24,225 +24,194 @@
import java.util.LinkedList;
/**
- *
* @author jmarranz
*/
-public class JProxyEngineChangeDetectorAndCompiler
-{
+public class JProxyEngineChangeDetectorAndCompiler {
protected final JProxyEngine engine;
@NotNull
protected final JProxyCompilerInMemory compiler;
- protected final FolderSourceList folderSourceList;
+ protected final FolderSourceList folderSourceList;
protected final FolderSourceList requiredExtraJarPaths;
protected final SourceScriptRoot scriptFile; // Puede ser nulo
protected final String folderClasses; // Puede ser nulo (es decir NO salvar como .class los cambios)
- protected final JProxyInputSourceFileExcludedListener excludedListener;
+ protected final JProxyInputSourceFileExcludedListener excludedListener;
@NotNull
protected final JavaSourcesSearch sourcesSearch;
- protected final JProxyCompilerListener compilerListener;
+ protected final JProxyCompilerListener compilerListener;
protected volatile ClassDescriptorSourceFileRegistry sourceRegistry;
-
- public JProxyEngineChangeDetectorAndCompiler(JProxyEngine engine,SourceScriptRoot scriptFile,FolderSourceList folderSourceList,FolderSourceList requiredExtraJarPaths,
- String folderClasses, JProxyInputSourceFileExcludedListener excludedListener,Iterable compilationOptions,JProxyDiagnosticsListener diagnosticsListener,
- JProxyCompilerListener compilerListener)
- {
+
+ public JProxyEngineChangeDetectorAndCompiler(JProxyEngine engine, SourceScriptRoot scriptFile, FolderSourceList folderSourceList, FolderSourceList requiredExtraJarPaths,
+ String folderClasses, JProxyInputSourceFileExcludedListener excludedListener, Iterable compilationOptions, JProxyDiagnosticsListener diagnosticsListener,
+ JProxyCompilerListener compilerListener) {
this.engine = engine;
this.scriptFile = scriptFile;
- this.folderSourceList = folderSourceList;
+ this.folderSourceList = folderSourceList;
this.requiredExtraJarPaths = requiredExtraJarPaths;
this.folderClasses = folderClasses;
this.excludedListener = excludedListener;
- this.compiler = new JProxyCompilerInMemory(this,compilationOptions,diagnosticsListener);
- this.sourcesSearch = new JavaSourcesSearch(this);
+ this.compiler = new JProxyCompilerInMemory(this, compilationOptions, diagnosticsListener);
+ this.sourcesSearch = new JavaSourcesSearch(this);
this.compilerListener = compilerListener;
}
-
- public JProxyEngine getJProxyEngine()
- {
+
+ public JProxyEngine getJProxyEngine() {
return engine;
}
-
- public FolderSourceList getFolderSourceList()
- {
+
+ public FolderSourceList getFolderSourceList() {
return folderSourceList;
- }
-
- public FolderSourceList getRequiredExtraJarPaths()
- {
+ }
+
+ public FolderSourceList getRequiredExtraJarPaths() {
return requiredExtraJarPaths;
- }
-
- public JProxyInputSourceFileExcludedListener getJProxyInputSourceFileExcludedListener()
- {
+ }
+
+ public JProxyInputSourceFileExcludedListener getJProxyInputSourceFileExcludedListener() {
return excludedListener;
- }
-
- public ClassDescriptorSourceFileRegistry getClassDescriptorSourceFileRegistry()
- {
+ }
+
+ public ClassDescriptorSourceFileRegistry getClassDescriptorSourceFileRegistry() {
return sourceRegistry;
- }
-
+ }
+
@Nullable
- public ClassDescriptor getClassDescriptor(@NotNull String className)
- {
+ public ClassDescriptor getClassDescriptor(@NotNull String className) {
return sourceRegistry.getClassDescriptor(className);
- }
-
- private boolean isSaveClassesMode()
- {
+ }
+
+ private boolean isSaveClassesMode() {
return (folderClasses != null);
- }
-
- private JProxyCompilerListener getJProxyCompilerListener()
- {
+ }
+
+ private JProxyCompilerListener getJProxyCompilerListener() {
return compilerListener;
}
-
- private void cleanBeforeCompile(@NotNull ClassDescriptorSourceUnit sourceFile)
- {
- if (isSaveClassesMode())
+
+ private void cleanBeforeCompile(@NotNull ClassDescriptorSourceUnit sourceFile) {
+ if (isSaveClassesMode())
deleteClasses(sourceFile); // Antes de que nos las carguemos en memoria la clase principal y las inner tras recompilar
-
+
sourceFile.cleanOnSourceCodeChanged(); // El código fuente nuevo puede haber cambiado totalmente las innerclasses antiguas (añadido, eliminado) y por supuesto el bytecode necesita olvidarse
}
-
- private void compile(@NotNull ClassDescriptorSourceUnit sourceFile, @NotNull JProxyCompilerContext context)
- {
+
+ private void compile(@NotNull ClassDescriptorSourceUnit sourceFile, @NotNull JProxyCompilerContext context) {
if (sourceFile.getClassBytes() != null)
return; // Ya ha sido compilado seguramente por dependencia de un archivo compilado inmediatamente antes, recuerda que el atributo classBytes se pone a null antes de compilar los archivos cambiados/nuevos
-
- compiler.compileSourceFile(sourceFile,context,engine.getCurrentClassLoader(),sourceRegistry);
- }
-
+
+ compiler.compileSourceFile(sourceFile, context, engine.getCurrentClassLoader(), sourceRegistry);
+ }
+
@Nullable
- public ClassDescriptorSourceScript detectChangesInSources()
- {
+ public ClassDescriptorSourceScript detectChangesInSources() {
Object monitor = getJProxyEngine().getMonitor();
-
+
boolean firstTime;
-
- synchronized(monitor)
- {
+
+ synchronized (monitor) {
if (this.sourceRegistry == null) // Es null la primera vez
{
firstTime = true;
this.sourceRegistry = new ClassDescriptorSourceFileRegistry();
- }
- else
- {
+ } else {
firstTime = false;
- sourceRegistry.setAllClassDescriptorSourceFilesPendingToRemove( true ); // A medida que los vamos encontrando ponemos a false, es mucho más rápido que recrear el registro si no ha cambiado nada (lo normal)
+ sourceRegistry.setAllClassDescriptorSourceFilesPendingToRemove(true); // A medida que los vamos encontrando ponemos a false, es mucho más rápido que recrear el registro si no ha cambiado nada (lo normal)
}
- }
+ }
LinkedList updatedSourceFiles = new LinkedList();
- LinkedList newSourceFiles = new LinkedList();
-
- ClassDescriptorSourceScript scriptFileDesc = sourcesSearch.sourceFileSearch(firstTime,scriptFile,sourceRegistry,updatedSourceFiles,newSourceFiles);
+ LinkedList newSourceFiles = new LinkedList();
+
+ ClassDescriptorSourceScript scriptFileDesc = sourcesSearch.sourceFileSearch(firstTime, scriptFile, sourceRegistry, updatedSourceFiles, newSourceFiles);
LinkedList deletedSourceFiles = new LinkedList();
-
- if (!firstTime)
- {
- synchronized(monitor)
- {
+
+ if (!firstTime) {
+ synchronized (monitor) {
// Obtenemos los deletedSourceFiles detectados (si es firstTime no tiene sentido hacer esto no haría nada pero nos ahorramos synchronized y llamada)
sourceRegistry.getAllClassDescriptorSourceFilesPendingToRemove(deletedSourceFiles);
}
}
-
+
if (updatedSourceFiles.isEmpty() && newSourceFiles.isEmpty() && deletedSourceFiles.isEmpty())
return scriptFileDesc;
// También el hecho de eliminar una clase debe implicar crear un ClassLoader nuevo para que dicha clase desaparezca de las clases cargadas aunque será muy raro que sólo eliminemos un .java y no añadamos/cambiemos otros, otro motico es porque si tenemos configurado el autosalvado de .class tenemos que eliminar en ese caso
- synchronized(monitor)
- {
- if (!firstTime)
- {
+ synchronized (monitor) {
+ if (!firstTime) {
if (!deletedSourceFiles.isEmpty()) // En firstTime no tiene sentido que haya eliminados
{
- for(ClassDescriptorSourceUnit classDesc : deletedSourceFiles)
+ for (ClassDescriptorSourceUnit classDesc : deletedSourceFiles)
sourceRegistry.removeClassDescriptorSourceUnit(classDesc.getClassName());
}
if (!newSourceFiles.isEmpty()) // En firstTime ya están añadidos en sourceRegistry explícitamente al recorrer los sources
{
- for(ClassDescriptorSourceUnit classDesc : newSourceFiles)
+ for (ClassDescriptorSourceUnit classDesc : newSourceFiles)
sourceRegistry.addClassDescriptorSourceUnit(classDesc);
- }
+ }
}
-
+
ArrayList sourceFilesToCompile = new ArrayList(updatedSourceFiles.size() + newSourceFiles.size());
sourceFilesToCompile.addAll(updatedSourceFiles);
- sourceFilesToCompile.addAll(newSourceFiles);
+ sourceFilesToCompile.addAll(newSourceFiles);
updatedSourceFiles = null; // Ya no se necesita
newSourceFiles = null; // Ya no se necesita
- if (!sourceFilesToCompile.isEmpty())
- {
+ if (!sourceFilesToCompile.isEmpty()) {
// Eliminamos el estado de la anterior compilación de todas las clases que van a recompilarse antes de compilarlas porque al compilar una clase es posible que
// se necesite recompilar al mismo tiempo una dependiente de otra (ej clase base) y luego se intente compilar la dependiente y sería un problema que limpiáramos antes de compilar cada archivo
- for(ClassDescriptorSourceUnit sourceFile : sourceFilesToCompile)
- cleanBeforeCompile(sourceFile);
+ for (ClassDescriptorSourceUnit sourceFile : sourceFilesToCompile)
+ cleanBeforeCompile(sourceFile);
JProxyCompilerContext context = compiler.createJProxyCompilerContext();
JProxyCompilerListener compilerListener = getJProxyCompilerListener();
- try
- {
+ try {
- for(ClassDescriptorSourceUnit sourceFile : sourceFilesToCompile)
- {
+ for (ClassDescriptorSourceUnit sourceFile : sourceFilesToCompile) {
File file = null;
- if (compilerListener != null)
- {
+ if (compilerListener != null) {
SourceUnit srcUnit = sourceFile.getSourceUnit();
if (srcUnit instanceof SourceFileJavaNormal)
- file = ((SourceFileJavaNormal)srcUnit).getFileExt().getFile();
+ file = ((SourceFileJavaNormal) srcUnit).getFileExt().getFile();
else if (srcUnit instanceof SourceScriptRootFile)
- file = ((SourceScriptRootFile)srcUnit).getFileExt().getFile();
+ file = ((SourceScriptRootFile) srcUnit).getFileExt().getFile();
else if (srcUnit instanceof SourceScriptRootInMemory) // Caso de shell interactive y code snippet, en ese caso NO hay listener porque no hay forma de definirlo
file = null;
}
if (compilerListener != null && file != null)
- compilerListener.beforeCompile(file);
+ compilerListener.beforeCompile(file);
- compile(sourceFile,context);
+ compile(sourceFile, context);
if (compilerListener != null && file != null)
- compilerListener.afterCompile(file);
+ compilerListener.afterCompile(file);
}
- }
- finally
- {
+ } finally {
context.close();
}
- if (isSaveClassesMode())
- {
- for(ClassDescriptorSourceUnit sourceFile : sourceFilesToCompile)
- {
- saveClasses(sourceFile);
- }
+ if (isSaveClassesMode()) {
+ for (ClassDescriptorSourceUnit sourceFile : sourceFilesToCompile) {
+ saveClasses(sourceFile);
+ }
}
}
if (isSaveClassesMode() && !deletedSourceFiles.isEmpty())
- for(ClassDescriptorSourceUnit sourceFile : deletedSourceFiles)
- deleteClasses(sourceFile);
+ for (ClassDescriptorSourceUnit sourceFile : deletedSourceFiles)
+ deleteClasses(sourceFile);
deletedSourceFiles = null; // Ya no se necesita
boolean setPendingReload = true;
- if (sourceFilesToCompile.size() == 1)
- {
+ if (sourceFilesToCompile.size() == 1) {
ClassDescriptorSourceUnit sourceFile = sourceFilesToCompile.get(0);
SourceUnit sourceUnit = sourceFile.getSourceUnit();
- if ((sourceUnit instanceof SourceScriptRootInMemory) && ((SourceScriptRootInMemory)sourceUnit).isEmptyCode())
- {
+ if ((sourceUnit instanceof SourceScriptRootInMemory) && ((SourceScriptRootInMemory) sourceUnit).isEmptyCode()) {
// Leer notas en SourceScriptRootInMemory.isEmptyCode() de esta manera evitamos crear un ClassLoader nuevo inútilmente por culpa de una clase
// root que no sirve para nada, ello impide que el registro/desregistro en colecciones funcione bien pues la instancia
// en el proxy que añade se ha recreado y es diferente por tanto a la instancia del proxy que elimina pues hace lo mismo por su parte
@@ -250,63 +219,57 @@ else if (srcUnit instanceof SourceScriptRootInMemory) // Caso de shell interacti
setPendingReload = false;
}
}
-
+
if (setPendingReload)
engine.setPendingReload();
}
return scriptFileDesc;
- }
-
- private void saveClasses(@NotNull ClassDescriptorSourceUnit sourceFile)
- {
+ }
+
+ private void saveClasses(@NotNull ClassDescriptorSourceUnit sourceFile) {
// Salvamos la clase principal
{
- File classFilePath = ClassDescriptor.getAbsoluteClassFilePathFromClassNameAndClassPath(sourceFile.getClassName(),folderClasses);
- JProxyUtil.saveFile(classFilePath,sourceFile.getClassBytes());
+ File classFilePath = ClassDescriptor.getAbsoluteClassFilePathFromClassNameAndClassPath(sourceFile.getClassName(), folderClasses);
+ JProxyUtil.saveFile(classFilePath, sourceFile.getClassBytes());
}
// Salvamos las innerclasses si hay, no hay problema de clases inner no detectadas pues lo están todas pues sólo se salva tras una compilación
- LinkedList innerClassDescList = sourceFile.getInnerClassDescriptors();
- if (innerClassDescList != null && !innerClassDescList.isEmpty())
- {
- for(ClassDescriptorInner innerClassDesc : innerClassDescList)
- {
- File classFilePath = ClassDescriptor.getAbsoluteClassFilePathFromClassNameAndClassPath(innerClassDesc.getClassName(),folderClasses);
- JProxyUtil.saveFile(classFilePath,innerClassDesc.getClassBytes());
+ LinkedList innerClassDescList = sourceFile.getInnerClassDescriptors();
+ if (innerClassDescList != null && !innerClassDescList.isEmpty()) {
+ for (ClassDescriptorInner innerClassDesc : innerClassDescList) {
+ File classFilePath = ClassDescriptor.getAbsoluteClassFilePathFromClassNameAndClassPath(innerClassDesc.getClassName(), folderClasses);
+ JProxyUtil.saveFile(classFilePath, innerClassDesc.getClassBytes());
}
- }
- }
-
- private void deleteClasses(@NotNull ClassDescriptorSourceUnit sourceFile)
- {
+ }
+ }
+
+ private void deleteClasses(@NotNull ClassDescriptorSourceUnit sourceFile) {
// Puede ocurrir que esta clase nunca se haya cargado y se ha modificado el código fuente y queramos limpiar los .class correspondientes pues se van a recrear
// como no conocemos qué inner clases están asociadas para saber que .class hay que eliminar, pues lo que hacemos es directamente obtener los .class que hay
// en el directorio con el fin de eliminar todos .class que tengan el patrón de ser inner classes del source file de acuerdo a su nombre
// así conseguimos por ejemplo también eliminar las local classes (inner clases con nombre declaradas dentro de un método) que no hay manera de conocer
// a través de la carga de la clase
-
+
// Hay un caso en el que puede haber .class que ya no están en el código fuente y es cuando tocamos el código fuente ANTES de cargar y eliminamos algún .java,
// al cargar como no existe el archivo no lo relacionamos con los .class
// La solución sería en tiempo de carga forzar una carga de todas las clases y de ahí deducir todos los .class que deben existir (excepto las clases locales
// que no podríamos detectarlas), pero el que haya .class sobrantes antiguos no es gran problema.
-
- File classFilePath = ClassDescriptor.getAbsoluteClassFilePathFromClassNameAndClassPath(sourceFile.getClassName(),folderClasses);
+
+ File classFilePath = ClassDescriptor.getAbsoluteClassFilePathFromClassNameAndClassPath(sourceFile.getClassName(), folderClasses);
File parentDir = JProxyUtil.getParentDir(classFilePath);
String[] fileNameList = parentDir.list(); // Es más ligero que listFiles() que crea File por cada resultado
if (fileNameList != null) // Si es null es que el directorio no está creado
{
- for (String fileName : fileNameList)
- {
+ for (String fileName : fileNameList) {
int pos = fileName.lastIndexOf(".class");
if (pos == -1) continue;
String simpleClassName = fileName.substring(0, pos);
if (sourceFile.getSimpleClassName().equals(simpleClassName) ||
- sourceFile.isInnerClass(sourceFile.getPackageName() + simpleClassName))
- {
- new File(parentDir,fileName).delete();
+ sourceFile.isInnerClass(sourceFile.getPackageName() + simpleClassName)) {
+ new File(parentDir, fileName).delete();
}
}
}
- }
+ }
}
diff --git a/src/main/java/com/sillelien/dollar/relproxy/impl/jproxy/core/clsmgr/cldesc/ClassDescriptor.java b/src/main/java/com/sillelien/dollar/relproxy/impl/jproxy/core/clsmgr/cldesc/ClassDescriptor.java
index 3633838..15bdf65 100644
--- a/src/main/java/com/sillelien/dollar/relproxy/impl/jproxy/core/clsmgr/cldesc/ClassDescriptor.java
+++ b/src/main/java/com/sillelien/dollar/relproxy/impl/jproxy/core/clsmgr/cldesc/ClassDescriptor.java
@@ -5,11 +5,9 @@
import java.io.File;
/**
- *
* @author jmarranz
*/
-public abstract class ClassDescriptor
-{
+public abstract class ClassDescriptor {
@NotNull
protected final String className; // El nombre basado en puntos pero usando $ en el caso de innerclasses
@NotNull
@@ -17,59 +15,50 @@ public abstract class ClassDescriptor
@NotNull
protected final String packageName; // El package pero acabado en un "." o bien "" si no hay package, el motivo de acabar en un punto es simplemente para poder concatenar ciegamente el package y el simpleClassName
protected byte[] classBytes;
- protected Class clasz;
-
- public ClassDescriptor(@NotNull String className)
- {
+ protected Class clasz;
+
+ public ClassDescriptor(@NotNull String className) {
this.className = className;
int pos = className.lastIndexOf('.');
this.simpleClassName = (pos != -1) ? className.substring(pos + 1) : className;
- this.packageName = (pos != -1) ? className.substring(0,pos + 1) : ""; // SE INCLUYE EL . en el caso de existir package
+ this.packageName = (pos != -1) ? className.substring(0, pos + 1) : ""; // SE INCLUYE EL . en el caso de existir package
}
-
+
public abstract boolean isInnerClass();
-
+
@NotNull
- public String getClassName()
- {
+ public String getClassName() {
return className;
}
-
+
@NotNull
- public String getSimpleClassName()
- {
+ public String getSimpleClassName() {
return simpleClassName;
}
-
+
@NotNull
- public String getPackageName()
- {
+ public String getPackageName() {
return packageName;
- }
-
- public byte[] getClassBytes()
- {
+ }
+
+ public byte[] getClassBytes() {
return classBytes;
}
-
- public void setClassBytes(byte[] classBytes)
- {
+
+ public void setClassBytes(byte[] classBytes) {
this.classBytes = classBytes;
}
- public Class getLastLoadedClass()
- {
+ public Class getLastLoadedClass() {
return clasz;
}
- public void setLastLoadedClass(Class clasz)
- {
+ public void setLastLoadedClass(Class clasz) {
this.clasz = clasz;
- }
+ }
- public void resetLastLoadedClass()
- {
- setLastLoadedClass(null);
+ public void resetLastLoadedClass() {
+ setLastLoadedClass(null);
}
/*
@@ -78,46 +67,40 @@ public String getClassFileNameFromClassName()
return getClassFileNameFromClassName(className);
}
*/
-
- public static String getClassFileNameFromClassName(@NotNull String className)
- {
+
+ public static String getClassFileNameFromClassName(@NotNull String className) {
// Es válido también para las innerclasses (ej Nombre$Otro => Nombre$Otro.class, Nombre$1 => Nombre$1.class, Nombre$1Nombre => Nombre$1Nombre.class
int pos = className.lastIndexOf(".");
- if(pos != -1) className = className.substring(pos + 1);
- return className + ".class";
+ if (pos != -1) className = className.substring(pos + 1);
+ return className + ".class";
}
-
- public static String getRelativeClassFilePathFromClassName(@NotNull String className)
- {
- return className.replace('.','/') + ".class"; // alternativa: className.replaceAll("\\.", "/") + ".class"
+
+ public static String getRelativeClassFilePathFromClassName(@NotNull String className) {
+ return className.replace('.', '/') + ".class"; // alternativa: className.replaceAll("\\.", "/") + ".class"
}
-
+
@NotNull
- public static String getRelativePackagePathFromClassName(@NotNull String className)
- {
- String packageName = className.replace('.','/');
+ public static String getRelativePackagePathFromClassName(@NotNull String className) {
+ String packageName = className.replace('.', '/');
int pos = packageName.lastIndexOf('/');
if (pos == -1) return packageName;
- return packageName.substring(0,pos);
- }
-
- public static File getAbsoluteClassFilePathFromClassNameAndClassPath(@NotNull String className, String classPath)
- {
+ return packageName.substring(0, pos);
+ }
+
+ public static File getAbsoluteClassFilePathFromClassNameAndClassPath(@NotNull String className, String classPath) {
String relativePath = getRelativeClassFilePathFromClassName(className);
classPath = classPath.trim();
- if (!classPath.endsWith("/") && !classPath.endsWith("\\")) classPath += File.separatorChar;
- return new File(classPath + relativePath);
- }
-
- public static String getClassNameFromRelativeClassFilePath(@NotNull String path)
- {
+ if (!classPath.endsWith("/") && !classPath.endsWith("\\")) classPath += File.separatorChar;
+ return new File(classPath + relativePath);
+ }
+
+ public static String getClassNameFromRelativeClassFilePath(@NotNull String path) {
// Ej. org/w3c/dom/Element.class => org.w3c.dom.Element
String binaryName = path.replaceAll("/", ".");
return binaryName.replaceAll(".class$", ""); // El $ indica "el .class del final"
}
-
- public static String getClassNameFromPackageAndClassFileName(String packageName,String fileName)
- {
+
+ public static String getClassNameFromPackageAndClassFileName(String packageName, String fileName) {
String className = packageName + "." + fileName;
return className.replaceAll(".class$", ""); // El $ indica "el .class del final"
}
diff --git a/src/main/java/com/sillelien/dollar/relproxy/impl/jproxy/core/clsmgr/cldesc/ClassDescriptorInner.java b/src/main/java/com/sillelien/dollar/relproxy/impl/jproxy/core/clsmgr/cldesc/ClassDescriptorInner.java
index 118e81b..190c067 100644
--- a/src/main/java/com/sillelien/dollar/relproxy/impl/jproxy/core/clsmgr/cldesc/ClassDescriptorInner.java
+++ b/src/main/java/com/sillelien/dollar/relproxy/impl/jproxy/core/clsmgr/cldesc/ClassDescriptorInner.java
@@ -3,27 +3,22 @@
import org.jetbrains.annotations.NotNull;
/**
- *
* @author jmarranz
*/
-public class ClassDescriptorInner extends ClassDescriptor
-{
+public class ClassDescriptorInner extends ClassDescriptor {
protected final ClassDescriptorSourceUnit parent;
-
- public ClassDescriptorInner(@NotNull String className, ClassDescriptorSourceUnit parent)
- {
+
+ public ClassDescriptorInner(@NotNull String className, ClassDescriptorSourceUnit parent) {
super(className);
this.parent = parent;
- }
-
+ }
+
@Override
- public boolean isInnerClass()
- {
+ public boolean isInnerClass() {
return true;
- }
-
- public ClassDescriptorSourceUnit getClassDescriptorSourceUnit()
- {
+ }
+
+ public ClassDescriptorSourceUnit getClassDescriptorSourceUnit() {
return parent;
}
}
diff --git a/src/main/java/com/sillelien/dollar/relproxy/impl/jproxy/core/clsmgr/cldesc/ClassDescriptorSourceFileJava.java b/src/main/java/com/sillelien/dollar/relproxy/impl/jproxy/core/clsmgr/cldesc/ClassDescriptorSourceFileJava.java
index 351d73b..4e87460 100644
--- a/src/main/java/com/sillelien/dollar/relproxy/impl/jproxy/core/clsmgr/cldesc/ClassDescriptorSourceFileJava.java
+++ b/src/main/java/com/sillelien/dollar/relproxy/impl/jproxy/core/clsmgr/cldesc/ClassDescriptorSourceFileJava.java
@@ -6,25 +6,20 @@
import org.jetbrains.annotations.NotNull;
/**
- *
* @author jmarranz
*/
-public class ClassDescriptorSourceFileJava extends ClassDescriptorSourceUnit
-{
- public ClassDescriptorSourceFileJava(JProxyEngine engine, @NotNull String className, SourceFileJavaNormal sourceFile, long timestamp)
- {
- super(engine,className, sourceFile, timestamp);
+public class ClassDescriptorSourceFileJava extends ClassDescriptorSourceUnit {
+ public ClassDescriptorSourceFileJava(JProxyEngine engine, @NotNull String className, SourceFileJavaNormal sourceFile, long timestamp) {
+ super(engine, className, sourceFile, timestamp);
}
-
+
@NotNull
- public SourceFileJavaNormal getSourceFileJavaNormal()
- {
- return (SourceFileJavaNormal)sourceUnit;
+ public SourceFileJavaNormal getSourceFileJavaNormal() {
+ return (SourceFileJavaNormal) sourceUnit;
}
-
- public FileExt getSourceFile()
- {
+
+ public FileExt getSourceFile() {
return getSourceFileJavaNormal().getFileExt();
- }
-
+ }
+
}
diff --git a/src/main/java/com/sillelien/dollar/relproxy/impl/jproxy/core/clsmgr/cldesc/ClassDescriptorSourceFileRegistry.java b/src/main/java/com/sillelien/dollar/relproxy/impl/jproxy/core/clsmgr/cldesc/ClassDescriptorSourceFileRegistry.java
index a532809..53fb273 100644
--- a/src/main/java/com/sillelien/dollar/relproxy/impl/jproxy/core/clsmgr/cldesc/ClassDescriptorSourceFileRegistry.java
+++ b/src/main/java/com/sillelien/dollar/relproxy/impl/jproxy/core/clsmgr/cldesc/ClassDescriptorSourceFileRegistry.java
@@ -9,91 +9,75 @@
import java.util.Map;
/**
- *
* @author jmarranz
*/
-public class ClassDescriptorSourceFileRegistry
-{
+public class ClassDescriptorSourceFileRegistry {
@NotNull
- protected final Map sourceUnitMapByClassName;
-
- public ClassDescriptorSourceFileRegistry()
- {
- this.sourceUnitMapByClassName = new HashMap();
+ protected final Map sourceUnitMapByClassName;
+
+ public ClassDescriptorSourceFileRegistry() {
+ this.sourceUnitMapByClassName = new HashMap();
+ }
+
+ public ClassDescriptorSourceFileRegistry(@NotNull ClassDescriptorSourceFileRegistry origin) {
+ this.sourceUnitMapByClassName = new HashMap(origin.sourceUnitMapByClassName);
}
- public ClassDescriptorSourceFileRegistry(@NotNull ClassDescriptorSourceFileRegistry origin)
- {
- this.sourceUnitMapByClassName = new HashMap( origin.sourceUnitMapByClassName );
- }
-
- public boolean isEmpty()
- {
+ public boolean isEmpty() {
return sourceUnitMapByClassName.isEmpty();
}
-
+
@NotNull
- public Collection getClassDescriptorSourceFileColl()
- {
+ public Collection getClassDescriptorSourceFileColl() {
return sourceUnitMapByClassName.values();
}
-
- public ClassDescriptorSourceUnit getClassDescriptorSourceUnit(String className)
- {
+
+ public ClassDescriptorSourceUnit getClassDescriptorSourceUnit(String className) {
return sourceUnitMapByClassName.get(className);
- }
-
- public ClassDescriptorSourceUnit removeClassDescriptorSourceUnit(String className)
- {
+ }
+
+ public ClassDescriptorSourceUnit removeClassDescriptorSourceUnit(String className) {
return sourceUnitMapByClassName.remove(className);
- }
-
- public void addClassDescriptorSourceUnit(@NotNull ClassDescriptorSourceUnit sourceFile)
- {
+ }
+
+ public void addClassDescriptorSourceUnit(@NotNull ClassDescriptorSourceUnit sourceFile) {
sourceUnitMapByClassName.put(sourceFile.getClassName(), sourceFile);
}
-
- public void setAllClassDescriptorSourceFilesPendingToRemove(boolean pending)
- {
- for(Map.Entry entries : sourceUnitMapByClassName.entrySet())
- entries.getValue().setPendingToRemove(pending);
+
+ public void setAllClassDescriptorSourceFilesPendingToRemove(boolean pending) {
+ for (Map.Entry entries : sourceUnitMapByClassName.entrySet())
+ entries.getValue().setPendingToRemove(pending);
}
-
+
@NotNull
- public LinkedList getAllClassDescriptorSourceFilesPendingToRemove(@NotNull LinkedList deletedSourceFiles)
- {
- for(Map.Entry entries : sourceUnitMapByClassName.entrySet())
- {
+ public LinkedList getAllClassDescriptorSourceFilesPendingToRemove(@NotNull LinkedList deletedSourceFiles) {
+ for (Map.Entry entries : sourceUnitMapByClassName.entrySet()) {
ClassDescriptorSourceUnit classDesc = entries.getValue();
- boolean pending = classDesc.isPendingToRemove();
+ boolean pending = classDesc.isPendingToRemove();
if (pending)
- deletedSourceFiles.add(classDesc);
+ deletedSourceFiles.add(classDesc);
}
return deletedSourceFiles;
- }
-
+ }
+
@Nullable
- public ClassDescriptor getClassDescriptor(@NotNull String className)
- {
+ public ClassDescriptor getClassDescriptor(@NotNull String className) {
// Puede ser el de una innerclass
// Las innerclasses no están como tales en sourceFileMap pues sólo está la clase contenedora pero también la consideramos hotloadable
String parentClassName;
- int pos = className.lastIndexOf('$');
- boolean inner;
- if (pos != -1)
- {
+ int pos = className.lastIndexOf('$');
+ boolean inner;
+ if (pos != -1) {
parentClassName = className.substring(0, pos);
inner = true;
- }
- else
- {
+ } else {
parentClassName = className;
inner = false;
}
- ClassDescriptorSourceUnit sourceDesc = sourceUnitMapByClassName.get(parentClassName);
+ ClassDescriptorSourceUnit sourceDesc = sourceUnitMapByClassName.get(parentClassName);
if (sourceDesc == null)
return null;
if (!inner) return sourceDesc;
- return sourceDesc.getInnerClassDescriptor(className,true);
- }
+ return sourceDesc.getInnerClassDescriptor(className, true);
+ }
}
diff --git a/src/main/java/com/sillelien/dollar/relproxy/impl/jproxy/core/clsmgr/cldesc/ClassDescriptorSourceScript.java b/src/main/java/com/sillelien/dollar/relproxy/impl/jproxy/core/clsmgr/cldesc/ClassDescriptorSourceScript.java
index 8b76640..2dea6f9 100644
--- a/src/main/java/com/sillelien/dollar/relproxy/impl/jproxy/core/clsmgr/cldesc/ClassDescriptorSourceScript.java
+++ b/src/main/java/com/sillelien/dollar/relproxy/impl/jproxy/core/clsmgr/cldesc/ClassDescriptorSourceScript.java
@@ -13,81 +13,70 @@
import javax.script.ScriptEngine;
/**
- *
* @author jmarranz
*/
-public class ClassDescriptorSourceScript extends ClassDescriptorSourceUnit
-{
- protected String source;
-
- public ClassDescriptorSourceScript(JProxyEngine engine, @NotNull String className, SourceScriptRoot sourceFile, long timestamp)
- {
- super(engine,className, sourceFile, timestamp);
+public class ClassDescriptorSourceScript extends ClassDescriptorSourceUnit {
+ protected String source;
+
+ public ClassDescriptorSourceScript(JProxyEngine engine, @NotNull String className, SourceScriptRoot sourceFile, long timestamp) {
+ super(engine, className, sourceFile, timestamp);
generateSourceCode();
}
-
+
@NotNull
- public SourceScriptRoot getSourceScript()
- {
- return (SourceScriptRoot)sourceUnit;
+ public SourceScriptRoot getSourceScript() {
+ return (SourceScriptRoot) sourceUnit;
}
-
- private void generateSourceCode()
- {
+
+ private void generateSourceCode() {
boolean[] hasHashBang = new boolean[1];
-
- String scriptCode = getSourceScript().getScriptCode(getEncoding(),hasHashBang);
-
+
+ String scriptCode = getSourceScript().getScriptCode(getEncoding(), hasHashBang);
+
boolean completeClass = isCompleteClass(scriptCode);
-
- StringBuilder finalCode = new StringBuilder();
- if (completeClass)
- {
- if (hasHashBang[0]) finalCode.append("\n"); // Como hemos quitado la línea #! añadimos una nueva para que los números de línea en caso de error coincidan con el original
- finalCode.append(scriptCode);
- }
- else
- {
- JProxyImpl jproxy = engine.getJProxy();
- String mainParamsDec = null;
- String mainReturnType = null;
-
+
+ StringBuilder finalCode = new StringBuilder();
+ if (completeClass) {
+ if (hasHashBang[0])
+ finalCode.append("\n"); // Como hemos quitado la línea #! añadimos una nueva para que los números de línea en caso de error coincidan con el original
+ finalCode.append(scriptCode);
+ } else {
+ JProxyImpl jproxy = engine.getJProxy();
+ String mainParamsDec = null;
+ String mainReturnType = null;
+
Class mainParamClass = jproxy.getMainParamClass();
- if (mainParamClass.equals(String[].class))
- {
+ if (mainParamClass.equals(String[].class)) {
mainParamsDec = "String[] args";
mainReturnType = "void";
- }
- else if (mainParamClass.equals(ScriptContext.class))
- {
+ } else if (mainParamClass.equals(ScriptContext.class)) {
mainParamsDec = ScriptEngine.class.getName() + " engine," + ScriptContext.class.getName() + " context";
mainReturnType = "Object";
-
+
if (scriptCode.equals("")) scriptCode = "return null;";
}
-
+
finalCode.append("public class " + className + " { public static " + mainReturnType + " main(" + mainParamsDec + ") {\n"); // Lo ponemos todo en una línea para que en caso de error la línea de error coincida con el script original pues hemos quitado la primera línea #!
- finalCode.append(scriptCode);
- finalCode.append(" }\n");
- finalCode.append("}\n");
+ finalCode.append(scriptCode);
+ finalCode.append(" }\n");
+ finalCode.append("}\n");
}
- this.source = finalCode.toString();
+ this.source = finalCode.toString();
}
-
- private boolean isCompleteClass(@NotNull String code)
- {
+
+ private boolean isCompleteClass(@NotNull String code) {
// Buscamos si hay un " class ..." o un "import..." al comienzo para soportar la definición de una clase completa como script
- int pos = code.indexOf("class");
- if (pos == -1) return false;
+ int pos = code.indexOf("class");
+ if (pos == -1) return false;
// Hay al menos un "class", ojo que puede ser parte de una variable o dentro de un comentario, pero si no existiera desde luego que no es clase completa
-
+
pos = getFirstPosIgnoringCommentsAndSeparators(code);
if (pos == -1) return false;
-
+
// Lo primero que nos tenemos encontrar es un import o una declaración de class
- int pos2 = code.indexOf("import",pos);
+ int pos2 = code.indexOf("import", pos);
if (pos2 == pos)
return true; // Si hay un import hay declaración de clase
@@ -96,92 +85,86 @@ private boolean isCompleteClass(@NotNull String code)
String visibility = code.substring(pos, posClass);
visibility = visibility.trim(); // No consideramos \n hay que ser retorcido poner un \n entre el public y el class por ejemplo
if (visibility.isEmpty()) return true; // No hay visibilidad, que no compile no es cosa nuestra
- return ("private".equals(visibility) || "public".equals(visibility) || "protected".equals(visibility));
+ return ("private".equals(visibility) || "public".equals(visibility) || "protected".equals(visibility));
}
-
- private int getFirstPosIgnoringCommentsAndSeparators(@NotNull String code)
- {
+
+ private int getFirstPosIgnoringCommentsAndSeparators(@NotNull String code) {
int i = -1;
- for(i = 0; i < code.length(); i++)
- {
+ for (i = 0; i < code.length(); i++) {
char c = code.charAt(i);
if (c == ' ' || c == '\n' || c == '\t') continue;
- else if (c == '/' && i + 1 < code.length())
- {
+ else if (c == '/' && i + 1 < code.length()) {
char c2 = code.charAt(i + 1);
- if (c2 == '/')
- {
- i = getFirstPosIgnoringOneLineComment(code,i);
+ if (c2 == '/') {
+ i = getFirstPosIgnoringOneLineComment(code, i);
if (i == -1) return -1; // Comentario mal formado
- }
- else if (c2 == '*')
- {
- i = getFirstPosIgnoringMultiLineComment(code,i);
+ } else if (c2 == '*') {
+ i = getFirstPosIgnoringMultiLineComment(code, i);
if (i == -1) return -1; // Comentario mal formado
}
- }
- else break;
+ } else break;
}
return i;
}
-
- private int getFirstPosIgnoringOneLineComment(@NotNull String code, int start)
- {
- return code.indexOf('\n',start);
- }
-
- private int getFirstPosIgnoringMultiLineComment(@NotNull String code, int start)
- {
+
+ private int getFirstPosIgnoringOneLineComment(@NotNull String code, int start) {
+ return code.indexOf('\n', start);
+ }
+
+ private int getFirstPosIgnoringMultiLineComment(@NotNull String code, int start) {
return code.indexOf("*/", start);
- }
-
+ }
+
@Override
- public void updateTimestamp(long timestamp)
- {
+ public void updateTimestamp(long timestamp) {
long oldTimestamp = this.timestamp;
if (oldTimestamp != timestamp)
- generateSourceCode();
+ generateSourceCode();
super.updateTimestamp(timestamp);
}
-
- public String getSourceCode()
- {
+
+ public String getSourceCode() {
return source;
}
-
- public void callMainMethod(@NotNull LinkedList argsToScript) throws Throwable
- {
- try
- {
- Class scriptClass = getLastLoadedClass();
- Method method = scriptClass.getDeclaredMethod("main",new Class[]{ String[].class });
+
+ public void callMainMethod(@NotNull LinkedList argsToScript) throws Throwable {
+ try {
+ Class scriptClass = getLastLoadedClass();
+ Method method = scriptClass.getDeclaredMethod("main", new Class[]{String[].class});
String[] argsToScriptArr = argsToScript.size() > 0 ? argsToScript.toArray(new String[argsToScript.size()]) : new String[0];
- method.invoke(null, new Object[]{ argsToScriptArr });
- }
- catch (IllegalAccessException ex) { throw new RelProxyException(ex); }
- catch (NoSuchMethodException ex) { throw new RelProxyException(ex); }
- catch (SecurityException ex) { throw new RelProxyException(ex); }
- catch (IllegalArgumentException ex) { throw new RelProxyException(ex); }
- catch (InvocationTargetException ex) { throw ex.getCause(); } // Los errores de ejecución se envuelven en un InvocationTargetException
- }
-
- public Object callMainMethod(ScriptEngine engine,ScriptContext context) throws Throwable
- {
- Class scriptClass = getLastLoadedClass();
- return callMainMethod(scriptClass,engine,context);
+ method.invoke(null, new Object[]{argsToScriptArr});
+ } catch (IllegalAccessException ex) {
+ throw new RelProxyException(ex);
+ } catch (NoSuchMethodException ex) {
+ throw new RelProxyException(ex);
+ } catch (SecurityException ex) {
+ throw new RelProxyException(ex);
+ } catch (IllegalArgumentException ex) {
+ throw new RelProxyException(ex);
+ } catch (InvocationTargetException ex) {
+ throw ex.getCause();
+ } // Los errores de ejecución se envuelven en un InvocationTargetException
+ }
+
+ public Object callMainMethod(ScriptEngine engine, ScriptContext context) throws Throwable {
+ Class scriptClass = getLastLoadedClass();
+ return callMainMethod(scriptClass, engine, context);
+ }
+
+ public static Object callMainMethod(@NotNull Class scriptClass, ScriptEngine engine, ScriptContext context) throws Throwable {
+ try {
+ Method method = scriptClass.getDeclaredMethod("main", new Class[]{ScriptEngine.class, ScriptContext.class});
+ return method.invoke(null, new Object[]{engine, context});
+ } catch (IllegalAccessException ex) {
+ throw new RelProxyException(ex);
+ } catch (NoSuchMethodException ex) {
+ throw new RelProxyException(ex);
+ } catch (SecurityException ex) {
+ throw new RelProxyException(ex);
+ } catch (IllegalArgumentException ex) {
+ throw new RelProxyException(ex);
+ } catch (InvocationTargetException ex) {
+ throw ex.getCause();
+ } // Los errores de ejecución se envuelven en un InvocationTargetException
}
-
- public static Object callMainMethod(@NotNull Class scriptClass, ScriptEngine engine, ScriptContext context) throws Throwable
- {
- try
- {
- Method method = scriptClass.getDeclaredMethod("main",new Class[]{ ScriptEngine.class,ScriptContext.class });
- return method.invoke(null, new Object[]{ engine, context });
- }
- catch (IllegalAccessException ex) { throw new RelProxyException(ex); }
- catch (NoSuchMethodException ex) { throw new RelProxyException(ex); }
- catch (SecurityException ex) { throw new RelProxyException(ex); }
- catch (IllegalArgumentException ex) { throw new RelProxyException(ex); }
- catch (InvocationTargetException ex) { throw ex.getCause(); } // Los errores de ejecución se envuelven en un InvocationTargetException
- }
}
diff --git a/src/main/java/com/sillelien/dollar/relproxy/impl/jproxy/core/clsmgr/cldesc/ClassDescriptorSourceUnit.java b/src/main/java/com/sillelien/dollar/relproxy/impl/jproxy/core/clsmgr/cldesc/ClassDescriptorSourceUnit.java
index fa8287e..3e112d9 100644
--- a/src/main/java/com/sillelien/dollar/relproxy/impl/jproxy/core/clsmgr/cldesc/ClassDescriptorSourceUnit.java
+++ b/src/main/java/com/sillelien/dollar/relproxy/impl/jproxy/core/clsmgr/cldesc/ClassDescriptorSourceUnit.java
@@ -10,19 +10,16 @@
import java.util.LinkedList;
/**
- *
* @author jmarranz
*/
-public abstract class ClassDescriptorSourceUnit extends ClassDescriptor
-{
+public abstract class ClassDescriptorSourceUnit extends ClassDescriptor {
protected final JProxyEngine engine;
protected volatile long timestamp;
- protected final SourceUnit sourceUnit;
+ protected final SourceUnit sourceUnit;
protected LinkedList innerClasses;
protected boolean pendingToRemove = false; // Se usa como monohilo, no hay problemas de sincronización
-
- public ClassDescriptorSourceUnit(JProxyEngine engine, @NotNull String className, SourceUnit sourceFile, long timestamp)
- {
+
+ public ClassDescriptorSourceUnit(JProxyEngine engine, @NotNull String className, SourceUnit sourceFile, long timestamp) {
super(className);
this.engine = engine;
this.sourceUnit = sourceFile;
@@ -30,124 +27,106 @@ public ClassDescriptorSourceUnit(JProxyEngine engine, @NotNull String className,
}
@Nullable
- public static ClassDescriptorSourceUnit create(boolean script, JProxyEngine engine, @NotNull String className, SourceUnit sourceFile, long timestamp)
- {
+ public static ClassDescriptorSourceUnit create(boolean script, JProxyEngine engine, @NotNull String className, SourceUnit sourceFile, long timestamp) {
if (sourceFile instanceof SourceScriptRoot)
- return new ClassDescriptorSourceScript(engine,className,(SourceScriptRoot)sourceFile,timestamp);
+ return new ClassDescriptorSourceScript(engine, className, (SourceScriptRoot) sourceFile, timestamp);
else if (sourceFile instanceof SourceFileJavaNormal)
- return new ClassDescriptorSourceFileJava(engine,className,(SourceFileJavaNormal)sourceFile,timestamp);
+ return new ClassDescriptorSourceFileJava(engine, className, (SourceFileJavaNormal) sourceFile, timestamp);
else
return null; // WTF!!
}
-
- public SourceUnit getSourceUnit()
- {
+
+ public SourceUnit getSourceUnit() {
return sourceUnit;
}
-
+
@NotNull
- public String getEncoding()
- {
+ public String getEncoding() {
return engine.getSourceEncoding();
}
-
+
@Override
- public boolean isInnerClass()
- {
+ public boolean isInnerClass() {
return false;
- }
-
- public long getTimestamp()
- {
+ }
+
+ public long getTimestamp() {
return timestamp;
}
- public void updateTimestamp(long timestamp)
- {
+ public void updateTimestamp(long timestamp) {
this.timestamp = timestamp;
}
- public boolean isPendingToRemove()
- {
+ public boolean isPendingToRemove() {
return pendingToRemove;
}
- public void setPendingToRemove(boolean pendingToRemove)
- {
+ public void setPendingToRemove(boolean pendingToRemove) {
this.pendingToRemove = pendingToRemove;
}
-
-
- public void cleanOnSourceCodeChanged()
- {
+
+
+ public void cleanOnSourceCodeChanged() {
// Como ha cambiado la clase, reseteamos las dependencias
setClassBytes(null);
setLastLoadedClass(null);
clearInnerClassDescriptors(); // El código fuente nuevo puede haber cambiado totalmente las innerclasses antiguas (añadido, eliminado)
}
-
- public boolean isInnerClass(@NotNull String className)
- {
+
+ public boolean isInnerClass(@NotNull String className) {
int pos = className.lastIndexOf('$');
if (pos == -1)
return false; // No es innerclass
String baseClassName = className.substring(0, pos);
return this.className.equals(baseClassName); // Si es false es que es una innerclass pero de otra clase
}
-
- public LinkedList getInnerClassDescriptors()
- {
+
+ public LinkedList