From 231c48a57b76038f6021cf605ddea60e684337c0 Mon Sep 17 00:00:00 2001 From: "Christian P. Lerch" Date: Fri, 20 Jan 2017 13:47:34 +0100 Subject: [PATCH 01/25] minor corrections & additions --- .gitignore | 15 ++++++++------- build.gradle | 8 +++----- 2 files changed, 11 insertions(+), 12 deletions(-) diff --git a/.gitignore b/.gitignore index 15b53f8..166629e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,10 +1,12 @@ -.idea +.idea/ *.iml -/dist -/bin -/nbproject -/doc/API -/.classpath +*.lock +dist/ +bin/ +nbproject/ +doc/API/ +.classpath/ +.projectKnowledge/ /server/META-INF/java/JavaProxy.php /server/META-INF/java/Java.inc /server/php/java/bridge/JavaProxy.java @@ -15,4 +17,3 @@ /server/php/java/bridge/JavaInc.java /server/php/java/bridge/LauncherWindows4.java /server/php/java/bridge/PhpDebuggerPHP.java - diff --git a/build.gradle b/build.gradle index f549050..ff5b479 100644 --- a/build.gradle +++ b/build.gradle @@ -1,22 +1,20 @@ group 'io.soluble.php-java-bridge' -version '6.1.11-SNAPSHOT' +version '6.2.11-SNAPSHOT' ant.importBuild 'build.xml' apply plugin: 'java' -sourceCompatibility = 1.7 +sourceCompatibility = 1.8 repositories { mavenCentral() } dependencies { - testCompile group: 'junit', name: 'junit', version: '4.11' + testCompile group: 'junit', name: 'junit', version: '3.8.2' // the project still uses this junit API } clean { dependsOn cleanBuild } - - From a5e586460f2c2a16944ccfeba2c8985cc51ffdec Mon Sep 17 00:00:00 2001 From: "Christian P. Lerch" Date: Fri, 20 Jan 2017 13:50:30 +0100 Subject: [PATCH 02/25] Revert "minor corrections & additions" This reverts commit 231c48a57b76038f6021cf605ddea60e684337c0. --- .gitignore | 15 +++++++-------- build.gradle | 8 +++++--- 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/.gitignore b/.gitignore index 166629e..15b53f8 100644 --- a/.gitignore +++ b/.gitignore @@ -1,12 +1,10 @@ -.idea/ +.idea *.iml -*.lock -dist/ -bin/ -nbproject/ -doc/API/ -.classpath/ -.projectKnowledge/ +/dist +/bin +/nbproject +/doc/API +/.classpath /server/META-INF/java/JavaProxy.php /server/META-INF/java/Java.inc /server/php/java/bridge/JavaProxy.java @@ -17,3 +15,4 @@ doc/API/ /server/php/java/bridge/JavaInc.java /server/php/java/bridge/LauncherWindows4.java /server/php/java/bridge/PhpDebuggerPHP.java + diff --git a/build.gradle b/build.gradle index ff5b479..f549050 100644 --- a/build.gradle +++ b/build.gradle @@ -1,20 +1,22 @@ group 'io.soluble.php-java-bridge' -version '6.2.11-SNAPSHOT' +version '6.1.11-SNAPSHOT' ant.importBuild 'build.xml' apply plugin: 'java' -sourceCompatibility = 1.8 +sourceCompatibility = 1.7 repositories { mavenCentral() } dependencies { - testCompile group: 'junit', name: 'junit', version: '3.8.2' // the project still uses this junit API + testCompile group: 'junit', name: 'junit', version: '4.11' } clean { dependsOn cleanBuild } + + From 3ac2b7cbdcd9fc9f1cacd474e1f129727a30a98c Mon Sep 17 00:00:00 2001 From: "Christian P. Lerch" Date: Fri, 20 Jan 2017 13:52:56 +0100 Subject: [PATCH 03/25] correct project version, elevate code compatibiliy, correct junit version --- build.gradle | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/build.gradle b/build.gradle index f549050..ff5b479 100644 --- a/build.gradle +++ b/build.gradle @@ -1,22 +1,20 @@ group 'io.soluble.php-java-bridge' -version '6.1.11-SNAPSHOT' +version '6.2.11-SNAPSHOT' ant.importBuild 'build.xml' apply plugin: 'java' -sourceCompatibility = 1.7 +sourceCompatibility = 1.8 repositories { mavenCentral() } dependencies { - testCompile group: 'junit', name: 'junit', version: '4.11' + testCompile group: 'junit', name: 'junit', version: '3.8.2' // the project still uses this junit API } clean { dependsOn cleanBuild } - - From ae145a896c2238405aba1eda5c7485f0f87a8466 Mon Sep 17 00:00:00 2001 From: "Christian P. Lerch" Date: Fri, 20 Jan 2017 13:53:55 +0100 Subject: [PATCH 04/25] minor corrections & additions --- .gitignore | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/.gitignore b/.gitignore index 15b53f8..166629e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,10 +1,12 @@ -.idea +.idea/ *.iml -/dist -/bin -/nbproject -/doc/API -/.classpath +*.lock +dist/ +bin/ +nbproject/ +doc/API/ +.classpath/ +.projectKnowledge/ /server/META-INF/java/JavaProxy.php /server/META-INF/java/Java.inc /server/php/java/bridge/JavaProxy.java @@ -15,4 +17,3 @@ /server/php/java/bridge/JavaInc.java /server/php/java/bridge/LauncherWindows4.java /server/php/java/bridge/PhpDebuggerPHP.java - From a326cbaa01bdfc6af13b19eb02480fe111f9153e Mon Sep 17 00:00:00 2001 From: "Christian P. Lerch" Date: Sun, 22 Jan 2017 20:35:24 +0100 Subject: [PATCH 05/25] configure gradle build properties --- build.gradle | 26 ++++++++++++++++++++---- gradle.properties | 1 + gradle/wrapper/gradle-wrapper.properties | 2 +- 3 files changed, 24 insertions(+), 5 deletions(-) create mode 100644 gradle.properties diff --git a/build.gradle b/build.gradle index ff5b479..ea18461 100644 --- a/build.gradle +++ b/build.gradle @@ -1,20 +1,38 @@ -group 'io.soluble.php-java-bridge' -version '6.2.11-SNAPSHOT' +group 'io.soluble.pjb' +version '6.2.11' ant.importBuild 'build.xml' apply plugin: 'java' -sourceCompatibility = 1.8 +compileJava.options.encoding = 'UTF-8' +compileTestJava.options.encoding = 'UTF-8' + +sourceCompatibility = 1.7 +targetCompatibility = 1.7 repositories { mavenCentral() } dependencies { + compileOnly group: 'javax.servlet', name: 'servlet-api', version: '2.5' testCompile group: 'junit', name: 'junit', version: '3.8.2' // the project still uses this junit API } +jar { + manifest { + attributes("Main-Class": "io.soluble.pjb.Standalone", + "Implementation-Title": "php-java-bridge.jar", + "Implementation-Version": version) + } +} + clean { - dependsOn cleanBuild + dependsOn genClean } + +compileJava { + dependsOn genAll +} + diff --git a/gradle.properties b/gradle.properties new file mode 100644 index 0000000..e110e41 --- /dev/null +++ b/gradle.properties @@ -0,0 +1 @@ +org.gradle.jvmargs='-Dfile.encoding=UTF-8' diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index f55f0a9..b9e6aae 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-3.1-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip From c8d83d22f7377f23f4d9c86486ca7b9c0409e3f3 Mon Sep 17 00:00:00 2001 From: "Christian P. Lerch" Date: Sun, 22 Jan 2017 20:36:10 +0100 Subject: [PATCH 06/25] misc updates --- .gitignore | 33 +++++++++++++++++++-------------- 1 file changed, 19 insertions(+), 14 deletions(-) diff --git a/.gitignore b/.gitignore index 166629e..9a2cd63 100644 --- a/.gitignore +++ b/.gitignore @@ -1,19 +1,24 @@ .idea/ -*.iml -*.lock +.gradle/ +.projectKnowledge/ +build/ dist/ bin/ +lib/ nbproject/ doc/API/ -.classpath/ -.projectKnowledge/ -/server/META-INF/java/JavaProxy.php -/server/META-INF/java/Java.inc -/server/php/java/bridge/JavaProxy.java -/server/php/java/bridge/LauncherWindows.java -/server/php/java/bridge/LauncherWindows2.java -/server/php/java/bridge/LauncherWindows3.java -/server/php/java/bridge/LauncherUnix.java -/server/php/java/bridge/JavaInc.java -/server/php/java/bridge/LauncherWindows4.java -/server/php/java/bridge/PhpDebuggerPHP.java +server/META-INF/java/JavaProxy.php +server/META-INF/java/Java.inc +server/php/java/bridge/JavaProxy.java +server/php/java/bridge/LauncherWindows.java +server/php/java/bridge/LauncherWindows2.java +server/php/java/bridge/LauncherWindows3.java +server/php/java/bridge/LauncherUnix.java +server/php/java/bridge/JavaInc.java +server/php/java/bridge/LauncherWindows4.java +server/php/java/bridge/PhpDebuggerPHP.java +.classpath +nbbuild.xml +*.iml +*.lock +*.log From c069d954aa7c48013477e6db6b39b119da68c9e8 Mon Sep 17 00:00:00 2001 From: "Christian P. Lerch" Date: Sun, 22 Jan 2017 20:37:46 +0100 Subject: [PATCH 07/25] adjust ant targets for generating sources with new project layout --- build.xml | 100 ++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 94 insertions(+), 6 deletions(-) diff --git a/build.xml b/build.xml index a802cb9..3fe8006 100644 --- a/build.xml +++ b/build.xml @@ -1,5 +1,97 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -40,7 +127,6 @@ - @@ -285,4 +371,6 @@ depends="JavaBridgeTemplateWar,JavaBridgeWar"> + --> + From a8f5e915ce44d13c484a8261fec669a8cee2902c Mon Sep 17 00:00:00 2001 From: "Christian P. Lerch" Date: Sun, 22 Jan 2017 20:48:00 +0100 Subject: [PATCH 08/25] cleanup --- server/.classpath | 7 ------- 1 file changed, 7 deletions(-) delete mode 100644 server/.classpath diff --git a/server/.classpath b/server/.classpath deleted file mode 100644 index 9c3470c..0000000 --- a/server/.classpath +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - From 471c3ead3c4cd13488df99b239b611530e534b9a Mon Sep 17 00:00:00 2001 From: "Christian P. Lerch" Date: Sun, 22 Jan 2017 20:49:18 +0100 Subject: [PATCH 09/25] remove superfluous package javax.script (included in JRE since 1.6) --- server/javax/script/AbstractScriptEngine.java | 189 ------------ server/javax/script/Bindings.java | 39 --- server/javax/script/Compilable.java | 42 --- server/javax/script/CompiledScript.java | 64 ----- server/javax/script/Invocable.java | 69 ----- server/javax/script/ScriptContext.java | 163 ----------- server/javax/script/ScriptEngine.java | 213 -------------- server/javax/script/ScriptEngineFactory.java | 117 -------- server/javax/script/ScriptEngineManager.java | 270 ------------------ .../javax/script/ScriptEngineManager.java.in | 249 ---------------- server/javax/script/ScriptException.java | 152 ---------- server/javax/script/SimpleBindings.java | 154 ---------- server/javax/script/SimpleScriptContext.java | 266 ----------------- server/javax/script/package.html | 8 - 14 files changed, 1995 deletions(-) delete mode 100644 server/javax/script/AbstractScriptEngine.java delete mode 100644 server/javax/script/Bindings.java delete mode 100644 server/javax/script/Compilable.java delete mode 100644 server/javax/script/CompiledScript.java delete mode 100644 server/javax/script/Invocable.java delete mode 100644 server/javax/script/ScriptContext.java delete mode 100644 server/javax/script/ScriptEngine.java delete mode 100644 server/javax/script/ScriptEngineFactory.java delete mode 100644 server/javax/script/ScriptEngineManager.java delete mode 100644 server/javax/script/ScriptEngineManager.java.in delete mode 100644 server/javax/script/ScriptException.java delete mode 100644 server/javax/script/SimpleBindings.java delete mode 100644 server/javax/script/SimpleScriptContext.java delete mode 100644 server/javax/script/package.html diff --git a/server/javax/script/AbstractScriptEngine.java b/server/javax/script/AbstractScriptEngine.java deleted file mode 100644 index a0bee54..0000000 --- a/server/javax/script/AbstractScriptEngine.java +++ /dev/null @@ -1,189 +0,0 @@ -package javax.script; - -import java.io.Reader; - -/** - * GenericScriptEngine is an abstarct class which implements the ScriptEngine - * interface and it contains default implementations for several eval() methods. - * - * @author Nandika Jayawardana - * @author Sanka Samaranayake - */ -public abstract class AbstractScriptEngine implements ScriptEngine { - - private ScriptContext ctx; - - /** - * Constructs a ScriptEngine using an uninitialized - * SimpleNamespace. - */ - public AbstractScriptEngine() { - ctx = new SimpleScriptContext(); - } - - /** - * Constructs a ScriptEngine using the specified namespace as its - * ENGINE_SCOPE. - * - * @param namespace the namespace to be used as the ENGINE_SCOPE - */ - public AbstractScriptEngine(Bindings namespace) { - this(); - ctx.setBindings(namespace, ScriptContext.ENGINE_SCOPE); - } - - /** - * Set a new context. - * - * @param ctx The context - */ - public void setContext(ScriptContext ctx) { - this.ctx = ctx; - } - - /** - * Return the script context. - * - * @return The script context. - */ - public ScriptContext getContext() { - return ctx; - } - - /** - * Evaluates a piece of script obtained using the specified - * reader as the script source. Returns null for non-returning - * scripts. - * - * @param reader the reader form which the script is obtained - * @return the value of the evaluated script - * @throws ScriptException if an error occurs - */ - public Object eval(Reader reader) throws ScriptException { - return eval(reader, ctx); - } - - /** - * Evaluates a piece of scripts obtained using a reader as the - * script source and using the specified namespace as the - * SCRIPT_SCOPE. Returns null for non-returning scripts. - * - * @param reader the reader from which the script is obtained - * @param nameSpace the namespace to be used as SCRIPT_SCOPE - * @return the value of the evaluated script - * @throws ScriptException if an error occurs - */ - public Object eval(Reader reader, Bindings nameSpace) - throws ScriptException { - return eval(reader, ctx); - } - - /** - * Evaluates a piece of script and returns the resultant object. - * Returns null for non-returning scripts. - * - * @param script the String representation of the script - * @return the value of the evaluated script - * @throws ScriptException if an error occurs - */ - public Object eval(String script) throws ScriptException { - return eval(script, ctx); - } - - /** - * Evaluates a piece of script using the specified namespace as - * its SCRIPT_SCOPE. Returns null for non-returning scripts. - * - * @param script the String representation of the script - * @param nameSpace the namespace to be used as the SCRIPT_SCOPE - * @return the value of the evaluated script - * @throws ScriptException if an error occurs - */ - public Object eval(String script, Bindings nameSpace) throws ScriptException { - return eval(script, getScriptContext(nameSpace)); - } - - /** - * Retrieves the associated value with the specified key - * ScriptEngine namespace. Returns null if no such value exists. - * - * @param key the associated key of the value - * @return the value associated with the specified key in - * ScriptEngine namespace - */ - public Object get(String key) { - return getBindings(ScriptContext.ENGINE_SCOPE).get(key); - } - - /** - * Retrieves a reference to the associated namespace for the - * specified level of scope. - * - * @param scope the specified level of scope - * @return associated namespace for the specified level of scope - * @throws IllegalArgumentException if the scope is invalid - */ - public Bindings getBindings(int scope) { - return ctx.getBindings(scope); - } - - - /** - * Retrieves an instance of ScriptContext with namespaces - * associated with all the level of scopes and the specified - * namespace associated with SCRIPT_SCOPE. - * - * @param namespace the namespace to be associated with - * SCRIPT_SCOPE - * @return an instance of ScriptContext with all namespaces of - * all scopes - */ - protected ScriptContext getScriptContext(Bindings namespace) { - - ScriptContext scriptContext = new SimpleScriptContext(); - - if (namespace == null) namespace = createBindings(); - scriptContext.setBindings(namespace, ScriptContext.ENGINE_SCOPE); - scriptContext.setBindings(ctx.getBindings(ScriptContext.GLOBAL_SCOPE), - ScriptContext.GLOBAL_SCOPE); - - return scriptContext; - } - - /** - * Associates a key and a value in the ScriptEngine namespace. - * - * @param key String value which uniquely identifies the value - * @param value value which is to be associated with the - * specified key - * @throws IllegalArgumentException if the key is null - */ - public void put(String key, Object value) { - if (key == null) { - throw new IllegalArgumentException("invalid scope"); - } - getBindings(ScriptContext.ENGINE_SCOPE).put(key, value); - } - - /** - * Associates a namespace with a specified level of scope. - * - * @param namespace the namespace to be associated with specified scope - * @param scope the level of scope of the specified namespace - * @throws UnsupportedOperationException - * @throws IllegalArgumentException if scope is invalid - */ - public void setBindings(Bindings namespace, int scope) - throws UnsupportedOperationException { - switch (scope) { - case ScriptContext.ENGINE_SCOPE: - ctx.setBindings(namespace, ScriptContext.ENGINE_SCOPE); - break; - case ScriptContext.GLOBAL_SCOPE: - ctx.setBindings(namespace, ScriptContext.GLOBAL_SCOPE); - break; - default: - throw new IllegalArgumentException("invalid scope"); - } - } -} diff --git a/server/javax/script/Bindings.java b/server/javax/script/Bindings.java deleted file mode 100644 index 044dc7d..0000000 --- a/server/javax/script/Bindings.java +++ /dev/null @@ -1,39 +0,0 @@ -package javax.script; - -import java.util.Map; - -/** - * Namespace is an interface which exposes a collectoin of key-value - * pairs. - * - * @author Nandika Jayawardana - * @author Sanka Samaranayake - */ -public interface Bindings extends Map { - - /** - * Associates the specified value with the specified key in a - * java.util.Map. If the map previously contained a mapping for - * this key, the old value is replaced. - * - * @param key the String value which uniquely identifies the - * object - * @param value the object to be stored. - * @return The old value - * @throws IllegalArgumentException if the key is null not an - * instance of java.lang.String - */ - public Object put(Object key, Object value) throws IllegalArgumentException; - - - /** - * Copies all of the mappings from the specified map to this map. - * These mappings will replace any mappings that this map had for - * any of the keys currently in the specified map. - * - * @param toMerge mappings to be stored in the map. - * @throws IllegalArgumentException if a key is null or is not an - * instance of java.lang.String - */ - public void putAll(Map toMerge) throws IllegalArgumentException; -} diff --git a/server/javax/script/Compilable.java b/server/javax/script/Compilable.java deleted file mode 100644 index 6ab48fd..0000000 --- a/server/javax/script/Compilable.java +++ /dev/null @@ -1,42 +0,0 @@ -package javax.script; - -import java.io.Reader; - -/** - * Compilable -- an optional interface contains methods which support - * the re-execution of intermediate code retained from previous - * script compilations. - * - * @author Nandika Jayawardana - * @author Sanka Samaranayake - */ -public interface Compilable { - - /** - * Retrieves a CompileScript implementation for the given piece - * of script which is a abstraction for the intermediate code - * produced by the compilation. - * - * @param script the source of the script represented as String - * @return an implementation of CompileScript which can be used - * to re-execute intermediate code produced by the - * compilation of script - * @throws ScriptException if the compilation fials due to any - * reason - */ - public CompiledScript compile(String script) throws ScriptException; - - /** - * Retrieves a CompileScript implementation for the script - * obtained using java.io.Reader as the script source. - * - * @param reader the reader form which the script source is - * obtained - * @return an implementation of CompileScript which can be used - * to re-execute intermediate code produced by the - * compilation of script - * @throws ScriptException if the compilation fials due to any - * reason - */ - public CompiledScript compile(Reader reader) throws ScriptException; -} \ No newline at end of file diff --git a/server/javax/script/CompiledScript.java b/server/javax/script/CompiledScript.java deleted file mode 100644 index 2e41617..0000000 --- a/server/javax/script/CompiledScript.java +++ /dev/null @@ -1,64 +0,0 @@ - -package javax.script; - -/** - * ComplieScript interface is an abstraction for the intermediate - * code produced by the compilation and contains methods which allow - * the re-execution of the intermediate code retained. - * - * @author Nandika Jayawardana - * @author Sanka Samaranayake - */ -public abstract class CompiledScript { - - public CompiledScript() { - } - - /** - * Re-evaluates the pre-compiled script - * - * @return resultant object after the re-evaluation - * @throws ScriptException if the re-evaluation fails due to any - * reason - */ - public Object eval() throws ScriptException { - return eval(getEngine().getContext()); - } - - /** - * Re-evaluates the pre-compiled script using the specified - * namespace as the SCRIPT_SCOPE and using ENGINE_SCOPE, - * GLOBAL_SCOPE of the associated ScriptEngine. - * - * @param namespace the namespace to be used as the SCRIPT_SCOPE - * @return resultant object after the re-evaluation - * @throws ScriptException if the re-evaluation fails due to any - * reason - */ - public Object eval(Bindings namespace) throws ScriptException { - getEngine().getContext().setBindings(namespace, ScriptContext.ENGINE_SCOPE); - return eval(getEngine().getContext()); - } - - /** - * Re-evaluates the recompiled script using the specified - * ScriptContext. - * - * @param context A ScriptContext to be used in the re-evalution - * of the script - * @return resultant object after the re-evaluation - * @throws ScriptException if the re-evaluation fails due to any - * reason - */ - public abstract Object eval(ScriptContext context) throws ScriptException; - - /** - * Retrieves a reference to the ScriptEngine whose methods - * created this CompiledScript object. - * - * @return the ScriptEngine which created this CompiledScript - * object - */ - public abstract ScriptEngine getEngine(); - -} diff --git a/server/javax/script/Invocable.java b/server/javax/script/Invocable.java deleted file mode 100644 index 96fd03f..0000000 --- a/server/javax/script/Invocable.java +++ /dev/null @@ -1,69 +0,0 @@ - -package javax.script; - -/** - * The Invocable interface (optional) contains methods which allow - * the Java application to invoke intermediate codes in the - * underlying scripting interpreter. - * - * @author Nandika Jayawardana - * @author Sanka Samaranayake - */ -public interface Invocable { - - /** - * Invokes a scripting procedure with the given name using the - * array of objects as its arguments set. - * - * @param methodName name of the scripting procedure - * @param args arguments set for the scripting procedure - * @return resultant object after the execution of the procedure - * @throws ScriptException if the invocation of the scripting procedure - * fails - * @throws NoSuchMethodException - */ - public Object invokeFunction(String methodName, Object[] args) - throws ScriptException, NoSuchMethodException; - - /** - * Invokes a procedure on an object which already defined in the - * script using the array of objects as its arguments set. - * - * @param methodName name of the procedure to be invoked - * @param thiz object on which the procedure is called - * @param args arguments set for the procedure - * @return resultant object after the execution of the - * procedure - * @throws ScriptException if the invocation of the procedure - * fails - * @throws NoSuchMethodException - */ - public Object invokeMethod(Object thiz, String methodName, Object[] args) throws - ScriptException, NoSuchMethodException; - - /** - * Retrieves an instance of java class whose methods are - * impelemented using procedures in script which are in the - * intermediate code repository in the underlying interpreter. - * - * @param thiz object on which the procedure is called - * @param clasz an interface which the returned class must - * implement - * @return an instance of the class which implement the specified - * interface - */ - public Object getInterface(Object thiz, Class clasz); - - /** - * Retrieves an instance of java class whose methods are - * impelemented using procedures in script which are in the - * intermediate code repository in the underlying interpreter. - * - * @param clasz an interface which the returned class must - * implement - * @return an instance of the class which implement the specified - * interface - */ - public Object getInterface(Class clasz); - -} \ No newline at end of file diff --git a/server/javax/script/ScriptContext.java b/server/javax/script/ScriptContext.java deleted file mode 100644 index 1067589..0000000 --- a/server/javax/script/ScriptContext.java +++ /dev/null @@ -1,163 +0,0 @@ - -package javax.script; - -import java.io.Reader; -import java.io.Writer; -import java.util.List; - -/** - * The ScriptContext interface exposes the key-value pairs in various - * scopes. - * - * @author Nandika Jayawardana - * @author Sanka Samaranayake - */ -public interface ScriptContext { - - /** - * defines an integer for the level of scope, ENGINE_SCOPE - */ - public static final int ENGINE_SCOPE = 100; - - /** - * defines an integer for the level of scope, GLOBAL_SCOPE - */ - public static final int GLOBAL_SCOPE = 200; - - /** - * Retrieves the value of the getAttribute(String, int) for the - * lowest scope in which it returns a non-null value. Returns - * null if there is no such value exists in any scope. - * - * @param name the name of the attribute - * @return the associated value with the specified name - * @throws IllegalArgumentException if the name is null - */ - public Object getAttribute(String name) throws IllegalArgumentException; - - /** - * Retrieves the value of an attribute in the specified scope. - * Returns null if the no such value exists in the specified - * scope. - * - * @param name the name of the attribute - * @param scope the value of the scope - * @return the associated value for the specified name - * @throws IllegalArgumentException if the name is null or the - * scope is invalid - */ - public Object getAttribute(String name, int scope) throws - IllegalArgumentException; - - /** - * Retrieves the lowest value of the scope for which the - * attribute is defined. - * - * @param name the name of attribute - * @return the value corresponding to lowest value of the scope - * or -1 if no associated value exist in any scope - */ - public int getAttributesScope(String name); - - /** - * Retrieves the Namespace instance associated with the gieve - * scope. Returns null if no namespace is assoicited with - * specified level of scope. - * - * @param scope the level of the scope - * @return the Namespace associated with the specified levle of - * scope - */ - public Bindings getBindings(int scope); - - /** - * Removes the given attribute form the specified scope. Returns - * the removed object or null if no value is associated with the - * specified key in specified level of scope. - * - * @param name the name of the attribute - * @param scope the level of scope which inherit the attribute - * @return previous value associated with specified name - * @throws IllegalArgumentException if the name is null or if the - * scope is invalid - */ - public Object removeAttribute(String name, int scope) throws - IllegalArgumentException; - - /** - * Associates a specified value with the specifed name in the - * specified scope. - * - * @param key the name of the attribute - * @param value the value of the attribute - * @param scope the level of the scope - * @throws IllegalArgumentException if the name is null or the - * scope is invalid - */ - public void setAttribute(String key, Object value, int scope) throws - IllegalArgumentException; - - /** - * Associates the specified namespace with the specified scope. - * - * @param namespace the namespace to be associated with the - * specified level of scope - * @param scope the specified level of scope - * @throws IllegalArgumentException if the scope is invalid - */ - public void setBindings(Bindings namespace, int scope) throws - IllegalArgumentException; - - /** - * Returns the Writer for scripts to use when displaying output. - * - * @return The Writer. - */ - public Writer getWriter(); - - - /** - * Returns the Writer used to display error output. - * - * @return The Writer - */ - public Writer getErrorWriter(); - - /** - * Sets the Writer for scripts to use when displaying output. - * - * @param writer The new Writer. - */ - public void setWriter(Writer writer); - - /** - * Sets the Writer used to display error output. - * - * @param writer The Writer. - */ - public void setErrorWriter(Writer writer); - - /** - * Returns a Reader to be used by the script to read - * input. - * - * @return The Reader. - */ - public Reader getReader(); - - /** - * Sets the Reader for scripts to read input - * . - * - * @param reader The new Reader. - */ - public void setReader(Reader reader); - - /** - * Returns immutable List of all the valid values for - * scope in the ScriptContext. - * - * @return list of scope values - */ - public List getScopes(); -} diff --git a/server/javax/script/ScriptEngine.java b/server/javax/script/ScriptEngine.java deleted file mode 100644 index 44e170c..0000000 --- a/server/javax/script/ScriptEngine.java +++ /dev/null @@ -1,213 +0,0 @@ - -package javax.script; - -import java.io.Reader; - -/** - * The ScriptEngine interfaces contains only the methods which are expected to - * be fully functional in every Java ScriptEngine. - * - * @author Nandika Jayawardana - * @author Sanka Samaranayake - */ -public interface ScriptEngine { - - /** - * Reserved key associated with an object array which is used to - * pass set of positional parameters to the ScriptEngines. - */ - public static final String ARGV = "javax.script.argv"; - - /** - * Reserved key associated with name of the file which contains - * the source of the script. - */ - public static final String FILENAME = "javax.script.filename"; - - /** - * Reserved key associated with the name of the Java - * ScriptEngine - */ - public static final String ENGINE = "javax.script.engine"; - - /** - * Reserved key associated with the version of the Java - * ScriptEngine - */ - public static final String ENGINE_VERSION = "javax.script.engine.version"; - - /** - * Reserved key associated with the name of the supported - * scripting language - */ - public static final String LANGUAGE = "javax.script.language"; - - /** - * Reserved key associated with the version of the supported - * scripting language - */ - public static final String LANGUAGE_VERSION = "javax,script.language_version"; - - /** - * Reserved key associated with the named value which identifies - * the short name of the supported language - */ - public static final String NAME = "javax.script.name"; - - /** - * Retrieves an uninitailized namespace which can be used as the scope of - * the ScriptEngine. - * - * @return an initialzed namespace which can be used to repalce the state - * of the ScriptEngine - */ - public Bindings createBindings(); - - /** - * Evaluates a piece of script obtained using the specified - * reader as the script source. Returns null for non-returning - * scripts. - * - * @param reader the source of the script - * @return the value of the evaluated script - * @throws ScriptException if an error occurs - */ - public Object eval(Reader reader) throws ScriptException; - - /** - * Evaluates a piece of scripts obtained using a reader as the - * script source and using the specified namespace as the - * SCRIPT_SCOPE. Returns null for non-returning scripts. - * - * @param reader the script source used to obtained the script - * @param namespace the namespace to be used as SCRIPT_SCOPE - * @return the value of the evaluated script - * @throws ScriptException if an error occurs - */ - public Object eval(Reader reader, Bindings namespace) - throws ScriptException; - - /** - * Evaluates a script obtained using the specified reader as the - * script source and using the namespaces in the specifed - * ScriptContext. Returns null for non-returning scripts - * - * @param reader the script source - * @param context the context contianing different namespace for - * script evaluation - * @return the value of the evaluated script - * @throws ScriptException if an error occurs - */ - public Object eval(Reader reader, ScriptContext context) - throws ScriptException; - - /** - * Evaluates a piece of script and returns the resultant object. - * Returns null for non-returning scripts. - * - * @param script the String representation of the script - * @return the value of the evaluated script - * @throws ScriptException if an error occurs - */ - public Object eval(String script) throws ScriptException; - - /** - * Evaluates a piece of script using the specified namespace as - * the SCRIPT_SCOPE. Retruns null for non-returning scripts. - * - * @param script the String representation of the script - * @param namespace the namespace to be used as the SCRIPT_SCOPE - * @return the value of the evaluated script - * @throws ScriptException if an error occurs - */ - public Object eval(String script, Bindings namespace) - throws ScriptException; - - /** - * Evaluates a script using the namespaces in the specifed - * ScriptContext. Return null for non-returning scripts. - * - * @param script the String representation of the script - * @param context tbe ScriptContext containing namespaces for the - * script evaluation - * @return the value of the evaluated script - * @throws ScriptException if an error occurs - */ - public Object eval(String script, ScriptContext context) - throws ScriptException; - - /** - * Retrieves the value which is associated with the specified key - * in the state of the ScriptEngine. - * - * @param key the key associated with value. - * @return an object value which is associated with the key - */ - public Object get(String key); - - /** - * Retrieves a ScriptEngineFactory for the class to which - * describes the underlying ScriptEngine. - * - * @return an instance of ScriptEngineFactory which describes the - * underlying ScriptEngine - */ - public ScriptEngineFactory getFactory(); - - /** - * Retrieves a reference to the associated namespace for the - * specified level of scope. - *

- * Possible scopes are: - *

- * GLOBAL_SCOPE : - * if the ScriptEngine was created by ScriptingEngineManager - * then GLOBAL_SCOPE of it is returned (or null if there is no - * GLOBAL_SCOPE stored in the ScriptEngine). - *

- * ENGINE_SCOPE : - * the set of key-value pairs stored in the ScriptEngine is - * returned. - * - * @param scope the specified level of scope - * @return associated namespace for the specified level of scope - * @throws IllegalArgumentException if the scope is invalid - */ - public Bindings getBindings(int scope) throws IllegalArgumentException; - - /** - * Associates a key and a value in the ScriptEngine namespace. - * - * @param key the specified key associated with the value - * @param value value which is to be associated with the - * specified key - * @throws IllegalArgumentException if the key is null - */ - public void put(String key, Object value) throws IllegalArgumentException; - - /** - * Associates the specified namespace with the specified level of - * scope. - * - * @param namespace namespace to be associated with the specified - * level of scope - * @param scope level of scope for which the namespace should - * be associated with - * @throws IllegalArgumentException if the scope is invalid - */ - public void setBindings(Bindings namespace, int scope) throws - IllegalArgumentException; - - - /** - * @return the default ScriptContext. - */ - public ScriptContext getContext(); - - /** - * Set the default ScriptContext - * - * @param ctx The context - */ - public void setContext(ScriptContext ctx); -} diff --git a/server/javax/script/ScriptEngineFactory.java b/server/javax/script/ScriptEngineFactory.java deleted file mode 100644 index 42c9747..0000000 --- a/server/javax/script/ScriptEngineFactory.java +++ /dev/null @@ -1,117 +0,0 @@ - -package javax.script; - -import java.util.List; - -/** - * ScriptEngineFactory is used to describe a ScriptEngine instance. - * Each ScriptEngine class implementing ScriptEngine has a - * corresponding factory which exposes metadata describing the engine - * class. - *

- * Nandika Jayawardana - * Sanka Samaranayake - */ -public interface ScriptEngineFactory { - - /** - * Retrieves the full name of the ScriptEngine. - * - * @return the name of the Script Engine - */ - public String getEngineName(); - - /** - * Retrieves the version of the Script Engine. - * - * @return the version of the Script Engine - */ - public String getEngineVersion(); - - /** - * Retrieves the name of the language supported by the - * ScriptEngine. - * - * @return the name of the supported language - */ - public String getLanguageName(); - - /** - * Retrieves the version of the language supported by the - * ScriptEngine. - * - * @return the version of the supported language - */ - public String getLanguageVersion(); - - /** - * Retrieves an array of Strings which are file extensions - * tipically used for files containing scripts written in the - * language supported by the ScriptEngine. - * - * @return string array of supported file extensions - */ - public List getExtensions(); - - /** - * Retrieves an array of Strings containing MIME types describing - * the content which can be processed using the Script Engine. - * - * @return string array of MIME types - */ - public List getMimeTypes(); - - /** - * Retrieves an array of short descriptive names such as - * {"javascript", "rhino"} describing the language supported by - * the Script Engine. - * - * @return an array of short descriptive names describing the - * language supported by the ScriptEngine - */ - public List getNames(); - - /** - * Retrieves an associated value for the specified key. Returns - * null if the ScriptEngine does not have an associated value for - * the key. - * - * @param key The key - * @return associated value for the specified key - */ - public Object getParameter(String key); - - /** - * Retrieves an instance of the associated ScriptEngine. - * - * @return an instance of the associated ScriptEngine - */ - public ScriptEngine getScriptEngine(); - - /** - * Return a syntax string for method calls - * - * @param obj The call object - * @param m The methods - * @param args The arguments - * @return A syntax string - */ - public String getMethodCallSyntax(String obj, String m, String[] args); - - /** - * Return the output syntax - * - * @param toDisplay The output string - * @return the output syntax - */ - public String getOutputStatement(String toDisplay); - - /** - * Return the program syntax - * - * @param statements The statement sequence - * @return The program syntax - */ - public String getProgram(String[] statements); - -} diff --git a/server/javax/script/ScriptEngineManager.java b/server/javax/script/ScriptEngineManager.java deleted file mode 100644 index 6ee24f9..0000000 --- a/server/javax/script/ScriptEngineManager.java +++ /dev/null @@ -1,270 +0,0 @@ - -package javax.script; - - -import java.lang.reflect.Method; -import java.util.Arrays; -import java.util.Collections; -import java.util.HashMap; -import java.util.HashSet; -import java.util.Iterator; -import java.util.List; - - -/** - * ScriptEngineManager implements a discovery and instantiation - * mechanisams for ScriptEngine class. It also contains a collection - * of key-value pairs which storing state shared by all engines - * created by manager. - *

- * Nandika Jayawardana - * Sanka Samaranayake - */ -public class ScriptEngineManager { - - /** - * Stores all instances of classes which implements - * ScriptEngineFactory which are found in resources - * META-INF/services/javax.script.ScriptEngineFactory - */ - protected HashSet engineSpis = new HashSet(); - - /** - * Stores language names with an associated - * ScriptEngineFactory - */ - protected HashMap nameAssociations = new HashMap(); - - /** - * Stores file extensions with an associated - * ScriptEngineFactory - */ - protected HashMap extensionAssocitions = new HashMap(); - - /** - * Stores MIME types with an associated ScriptEngineFactory - */ - protected HashMap mimeTypeAssociations = new HashMap(); - - /** - * Stores the namespace associated with GLOBAL_SCOPE - */ - protected Bindings globalscope = new SimpleBindings(); - - private Iterator getServiceProviders() { - Iterator i = null; - try { - Class c = Class.forName("gnu.classpath.ServiceFactory"); - Method m = c.getMethod("lookupProviders", new Class[]{java.lang.Class.class}); - try { - m.setAccessible(true); - } catch (Throwable tt) {/*ignore*/} - i = (Iterator) m.invoke(c, new Object[]{ScriptEngineFactory.class}); - } catch (Throwable ex) {/*ignore*/} - if (i != null) return i; - try { - Class c = Class.forName("sun.misc.Service"); - Method m = c.getMethod("providers", new Class[]{java.lang.Class.class}); - try { - m.setAccessible(true); - } catch (Throwable tt) {/*ignore*/} - i = (Iterator) m.invoke(c, new Object[]{ScriptEngineFactory.class}); - } catch (Throwable ex) {/*ignore*/} - return i; - } - - /** - * Constructs ScriptEngineManager and initializes it. - */ - public ScriptEngineManager() { - - Iterator iterator = getServiceProviders(); - - while (iterator.hasNext()) { - ScriptEngineFactory factory = (ScriptEngineFactory) iterator.next(); - engineSpis.add(factory); - - String[] data = (String[]) factory.getNames().toArray(new String[]{}); - // gets all descriptinve names for Scripting Engine - for (int i = 0; i < data.length; i++) { - nameAssociations.put(data[i], factory); - } - // gets all supported extensions - data = (String[]) factory.getExtensions().toArray(new String[]{}); - for (int i = 0; i < data.length; i++) { - extensionAssocitions.put(data[i], factory); - } - // gets all supported MIME types - data = (String[]) factory.getMimeTypes().toArray(new String[]{}); - for (int i = 0; i < data.length; i++) { - mimeTypeAssociations.put(data[i], factory); - } - } - } - - /** - * Retrieves the associated value for the spefied key in the - * GLOBAL_SCOPE - * - * @param key the associated key of the value stored in the - * GLOBAL_SCOPE - * @return the value associated with the specifed key - */ - public Object get(String key) { - return globalscope.get(key); - } - - /** - * Retrieves a new instance of a ScriptingEngine for the - * specified extension of a scirpt file. Returns null if no - * suitable ScriptingEngine is found. - * - * @param extension the specified extension of a script file - * @return a new instance of a ScriptingEngine which supports the - * specified script file extension - */ - public ScriptEngine getEngineByExtension(String extension) { - - ScriptEngine engine = null; - - ScriptEngineFactory factory = - (ScriptEngineFactory) extensionAssocitions.get(extension); - - if (factory != null) { - // gets a new instance of the Scripting Engine - engine = factory.getScriptEngine(); - // sets the GLOBAL SCOPE - engine.setBindings(globalscope, ScriptContext.GLOBAL_SCOPE); - } - - return engine; - } - - /** - * Retrieves new instance the ScriptingEngine for a specifed MIME - * type. Returns null if no suitable ScriptingEngine is found. - * - * @param mimeType the specified MIME type - * @return a new instance of a ScriptingEngine which supports the - * specified MIME type - */ - public ScriptEngine getEngineByMimeType(String mimeType) { - - ScriptEngine engine = null; - ScriptEngineFactory factory = - (ScriptEngineFactory) mimeTypeAssociations.get(mimeType); - - if (factory != null) { - // gets a new instance of the Scripting Engine - engine = factory.getScriptEngine(); - // sets the GLOBAL SCOPE - engine.setBindings(globalscope, ScriptContext.GLOBAL_SCOPE); - } - - return engine; - } - - /** - * Retrieves a new instance of a ScriptEngine the specified - * descriptieve name. Returns null if no suitable ScriptEngine is - * found. - * - * @param name the descriptive name - * @return a new instance of a ScriptEngine which supports the - * specifed descriptive name - */ - public ScriptEngine getEngineByName(String name) { - - ScriptEngine engine = null; - ScriptEngineFactory factory = - (ScriptEngineFactory) nameAssociations.get(name); - - if (factory != null) { - engine = factory.getScriptEngine(); - engine.setBindings(globalscope, ScriptContext.GLOBAL_SCOPE); - } - - return engine; - } - - /** - * Retrieves an array of instances of ScriptEngineFactory class - * which are found by the discovery mechanism. - * - * @return an array of all discovered ScriptEngineFactory - * instances - */ - public List getEngineFactories() { - return Collections.unmodifiableList(Arrays.asList(engineSpis.toArray())); - } - - /** - * Retrieves the namespace corresponds to GLOBAL_SCOPE. - * - * @return the namespace of GLOBAL_SCOPE - */ - public Bindings getBindings() { - return globalscope; - } - - /** - * Associates the specifed value with the specified key in - * GLOBAL_SCOPE. - * - * @param key the associated key for specified value - * @param value the associated value for the specified key - */ - public void put(String key, Object value) { - globalscope.put(key, value); - } - - /** - * Register a extension with a ScriptEngineFactory class. It - * overrides any such association discovered previously. - * - * @param extension the extension associated with the specified - * ScriptEngineFactory class - * @param factory the ScriptEngineFactory class associated with - * the specified extension - */ - public void registerEngineExtension(String extension, Class factory) { - extensionAssocitions.put(extension, factory); - } - - /** - * Registers descriptive name with a ScriptEngineFactory class. - * It overrides any associations discovered previously. - * - * @param name a descriptive name associated with the specifed - * ScriptEngineFactory class - * @param factory the ScriptEngineFactory class associated with - * the specified descriptive name - */ - public void registerEngineName(String name, Class factory) { - nameAssociations.put(name, factory); - } - - /** - * Registers a MIME type with a ScriptEngineFactory class. It - * overrides any associations discovered previously. - * - * @param mimeType the MIME type associated with specified - * ScriptEngineFactory class - * @param factory the ScriptEngineFactory associated with the - * specified MIME type - */ - public void registerEngineMimeType(String mimeType, Class factory) { - mimeTypeAssociations.put(mimeType, factory); - } - - /** - * Sets the GLOBAL_SCOPE value to the specified namespace. - * - * @param namespace the namespace to be stored in GLOBAL_SCOPE - */ - public void setBindings(Bindings namespace) { - globalscope = namespace; - } - - -} diff --git a/server/javax/script/ScriptEngineManager.java.in b/server/javax/script/ScriptEngineManager.java.in deleted file mode 100644 index 112c683..0000000 --- a/server/javax/script/ScriptEngineManager.java.in +++ /dev/null @@ -1,249 +0,0 @@ - -package javax.script; - - -import gnu.classpath.ServiceFactory; - -import java.util.HashMap; -import java.util.HashSet; -import java.util.Iterator; - - -/** - * ScriptEngineManager implements a discovery and instantiation - * mechanisams for ScriptEngine class. It also contains a collection - * of key-value pairs which storing state shared by all engines - * created by manager. - * - * Nandika Jayawardana - * Sanka Samaranayake - */ -public class ScriptEngineManager { - /** - * GNU java needs ServiceFactory, sun java needs sun.mist.Service - */ - private static final boolean GNU_JAVA=@GNU_JAVA@; - - /** Stores all instances of classes which implements - * ScriptEngineFactory which are found in resources - * META-INF/services/javax.script.ScriptEngineFactory - */ - protected HashSet engineSpis = new HashSet(); - - /** - * Stores language names with an associated - * ScriptEngineFactory - */ - protected HashMap nameAssociations = new HashMap(); - - /** - * Stores file extensions with an associated - * ScriptEngineFactory - */ - protected HashMap extensionAssocitions = new HashMap(); - - /** Stores MIME types with an associated ScriptEngineFactory */ - protected HashMap mimeTypeAssociations = new HashMap(); - - /** Stores the namespace associated with GLOBAL_SCOPE */ - protected Bindings globalscope = new SimpleBindings(); - /** - * Constructs ScriptEngineManager and initializes it. - */ - public ScriptEngineManager() { - - Iterator iterator = null; - if(!GNU_JAVA) { - iterator = sun.misc.Service.providers(ScriptEngineFactory.class); - } else { - iterator = ServiceFactory.lookupProviders(ScriptEngineFactory.class); - } - - while (iterator.hasNext()) { - ScriptEngineFactory factory = (ScriptEngineFactory) iterator.next(); - engineSpis.add(factory); - - String[] data = factory.getNames(); - // gets all descriptinve names for Scripting Engine - for (int i=0; i - * @author Sanka Samaranayake - */ -public class ScriptException extends Exception { - - /** - * - */ - private static final long serialVersionUID = 3689065132168917297L; - - /** - * Stroes the file name of the script - */ - protected String fileName = null; - - /** - * Stores the line number of the script in which the error has - * occured - */ - protected int lineNumber = -1; - - /** - * Stores the column number of the script in which the error has - * occured - */ - protected int columnNumber = -1; - - /** - * Stores the message which describes the cause of error - */ - protected String message; - - /** - * Constructs a new exception with the specified cause. - * - * @param exception the cause of exception - */ - public ScriptException(Exception exception) { - super(exception); - } - - /** - * Constructs a new exception with the specified detailed - * message. - * - * @param message the datailed message which caused the - * exception - */ - public ScriptException(String message) { - super(message); - this.message = message; - } - - /** - * Constructs a new exception with the spcified detailed message - * of cause, the file name of the source of script and the line - * number of the script where the error has occured. - * - * @param message the detailed message of cause of exception - * @param fileName the file name which contains the script - * @param lineNumber the line number of the script where the error has - * occured - */ - public ScriptException(String message, String fileName, int lineNumber) { - super(message); - this.message = message; - this.fileName = fileName; - this.lineNumber = lineNumber; - } - - /** - * Constructs a new exception using the detailed message of - * cause, file name which contains the script, line number and - * column number in which the error has occured. - * - * @param message the detailed message of the cause of - * exception - * @param fileName the name of the file which contains the - * script - * @param lineNumber the line number of the script where the - * error has occured - * @param columnNumber the column number of the script where the - * error has occured - */ - public ScriptException(String message, String fileName, int lineNumber, int columnNumber) { - super(message); - this.message = message; - this.fileName = fileName; - this.lineNumber = lineNumber; - this.columnNumber = columnNumber; - } - - /** - * Retrieves the file name in which the script is contained. - * - * @return Returns the file name in which the script is contained - */ - public String getFileName() { - return fileName; - } - - /** - * Retrieves the column number of the script where the error has - * occured. If the information is not available, returns -1. - * - * @return Returns the column number of the script where the - * error has occured - */ - public int getColumnNumber() { - return columnNumber; - } - - /** - * Retrieves the line number of the script where the error has - * occured. If the information is not available, returns -1. - * - * @return Returns the line number of the script where the error - * has occured - */ - public int getLineNumber() { - return lineNumber; - } - - /** - * Retrieves a String describing the cause of error. - * - * @return a String describing the cause of error - */ - public String getMessage() { - StringBuffer buffer = new StringBuffer(); - buffer.append(message); - if (fileName != null) { - buffer.append("in: " + fileName); - } - if (lineNumber != -1) { - buffer.append("at line no: " + lineNumber); - } - if (columnNumber != -1) { - buffer.append("at column number: " + columnNumber); - } - return buffer.toString(); - } -} diff --git a/server/javax/script/SimpleBindings.java b/server/javax/script/SimpleBindings.java deleted file mode 100644 index 10217d0..0000000 --- a/server/javax/script/SimpleBindings.java +++ /dev/null @@ -1,154 +0,0 @@ -package javax.script; - -import java.util.Collection; -import java.util.HashMap; -import java.util.Iterator; -import java.util.Map; -import java.util.Set; - -/** - * SimpleNamespace is an implementation of Namespace using an - * instance of java.util.HashMap or another Map passed in a - * constructor to store and expose key-pair values. - * - * @author Nandika Jayawardana - * @author Sanka Samaranayake - */ -public class SimpleBindings implements Bindings { - - /** - * In which the key-value pairs are stored. - */ - protected Map map; - - /** - * Constructs a SimpleNamespace. - */ - public SimpleBindings() { - map = new HashMap(); - } - - /** - * Constructs a SimpleNamespace and initializes it using a - * specified map. - * - * @param map a map which is used to initialize the - * SimpleNamespace - */ - public SimpleBindings(Map map) { - this.map = map; - } - - /** - * Associates the specified value with the specified key in a - * java.util.Map. If the map previously contained a mapping for - * this key, the old value is replaced. - * - * @param key the String value which uniquely identifies the - * object - * @param value the object to be stored. - * @return The old object - * @throws IllegalArgumentException if the key is null or is not - * java.lang.String type - */ - public Object put(Object key, Object value) - throws IllegalArgumentException { - if ((key == null) || !(key instanceof java.lang.String)) { - throw new IllegalArgumentException("key is null or not a String"); - } - return map.put(key, value); - } - - /** - * Copies all of the mappings from the specified map to this map. - * These mappings will replace any mappings that this map had for - * any of the keys currently in the specified map. - * - * @param toMerge mappings to be stored in the map. - * @throws IllegalArgumentException if a key is null or is not - * java.lang.String type in the specified map - */ - public void putAll(Map toMerge) throws IllegalArgumentException { - - Set keySet = toMerge.keySet(); - Iterator keys = keySet.iterator(); - - while (keys.hasNext()) { - if (keys.next() instanceof String) { - throw new IllegalArgumentException("a key is not a String"); - } - } - - map.putAll(toMerge); - } - - /** - * {@inheritDoc} - */ - public int size() { - return map.size(); - } - - /** - * {@inheritDoc} - */ - public void clear() { - map.clear(); - } - - /** - * {@inheritDoc} - */ - public boolean isEmpty() { - return map.isEmpty(); - } - - /** - * {@inheritDoc} - */ - public boolean containsKey(Object key) { - return map.containsKey(key); - } - - /** - * {@inheritDoc} - */ - public boolean containsValue(Object value) { - return map.containsValue(value); - } - - /** - * {@inheritDoc} - */ - public Collection values() { - return map.values(); - } - - /** - * {@inheritDoc} - */ - public Set entrySet() { - return map.entrySet(); - } - - /** - * {@inheritDoc} - */ - public Object get(Object key) { - return map.get(key); - } - - /** - * {@inheritDoc} - */ - public Set keySet() { - return map.keySet(); - } - - /** - * {@inheritDoc} - */ - public Object remove(Object key) { - return map.remove(key); - } -} diff --git a/server/javax/script/SimpleScriptContext.java b/server/javax/script/SimpleScriptContext.java deleted file mode 100644 index 5409bd2..0000000 --- a/server/javax/script/SimpleScriptContext.java +++ /dev/null @@ -1,266 +0,0 @@ -package javax.script; - -import java.io.InputStreamReader; -import java.io.PrintWriter; -import java.io.Reader; -import java.io.Writer; -import java.util.Arrays; -import java.util.List; - -/** - * The GenericScriptContext is a simple implementation of ScriptContext. - * - * @author Nandika Jayawardana - * @author Sanka Samaranayake - */ -public class SimpleScriptContext implements ScriptContext { - - /** - * namespace of the scope of level GLOBAL_SCOPE - */ - protected Bindings globalScope; - - /** - * namespace of the scope of level ENGINE_SCOPE - */ - protected Bindings engineScope; - - /** - * Create a simple script context - */ - public SimpleScriptContext() { - engineScope = new SimpleBindings(); - } - - /** - * Retrieves the value for getAttribute(String, int) for the - * lowest scope in which it returns a non-null value. - * - * @param name the name of the attribute - * @return the value of the attribute - * @throws IllegalArgumentException - */ - public Object getAttribute(String name) throws IllegalArgumentException { - - if (name == null) { - throw new IllegalArgumentException("name cannot be null"); - } - - if (engineScope.get(name) != null) { - return engineScope.get(name); - } else if (globalScope.get(name) != null) { - return globalScope.get(name); - } else { - return null; - } - } - - /** - * Retrieves the value associated with specified name in the - * specified level of scope. Returns null if no value is - * associated with specified key in specified level of scope. - * - * @param name the name of the attribute - * @param scope the level of scope - * @return the value value associated with the specified name in - * specified level of scope - * @throws IllegalArgumentException - */ - public Object getAttribute(String name, int scope) - throws IllegalArgumentException { - - if (name == null) { - throw new IllegalArgumentException("name cannot be null"); - } - - switch (scope) { - case ENGINE_SCOPE: - return engineScope.get(name); - case GLOBAL_SCOPE: - return globalScope.get(name); - default: - throw new IllegalArgumentException("invalid scope"); - } - } - - /** - * Retrieves the lowest value of scopes for which the attribute - * is defined. If there is no associate scope with the given - * attribute (-1) is returned. - * - * @param name the name of attribute - * @return the value of level of scope - */ - public int getAttributesScope(String name) { - if (engineScope.containsKey(name)) { - return ENGINE_SCOPE; - } else if (globalScope.containsKey(name)) { - return GLOBAL_SCOPE; - } - - return -1; - } - - /** - * Retrieves the Namespace instance associated with the specified - * level of scope. - * - * @param scope the level of the scope - * @return the namespace associated with the specified level of - * scope - */ - public Bindings getBindings(int scope) { - - switch (scope) { - case ENGINE_SCOPE: - return engineScope; - case GLOBAL_SCOPE: - return globalScope; - default: - return null; - } - } - - /** - * Removes the specified attribute form the specified level of - * scope. - * - * @param name the name of the attribute - * @param scope the level of scope - * @return value which is removed - * @throws IllegalArgumentException - */ - public Object removeAttribute(String name, int scope) - throws IllegalArgumentException { - - if (name == null) { - throw new IllegalArgumentException("name is null"); - } - - switch (scope) { - case ENGINE_SCOPE: - return engineScope.remove(name); - case GLOBAL_SCOPE: - return globalScope.remove(name); - default: - throw new IllegalArgumentException("invalid scope"); - } - } - - /** - * Sets an attribute specified by the name in specified level of - * scope. - * - * @param name the name of the attribute - * @param value the value of the attribute - * @param scope the level of the scope - * @throws IllegalArgumentException if the name is null scope is - * invalid - */ - public void setAttribute(String name, Object value, int scope) - throws IllegalArgumentException { - - if (name == null) { - throw new IllegalArgumentException("name is null"); - } - - switch (scope) { - case ENGINE_SCOPE: - engineScope.put(name, value); - break; - case GLOBAL_SCOPE: - globalScope.put(name, value); - break; - default: - throw new IllegalArgumentException("invalid scope"); - } - } - - /** - * Associates the specified namespace with specified level of - * scope. - * - * @param namespace the namespace to be associated with specified - * level of scope - * @param scope the level of scope - * @throws IllegalArgumentException - */ - public void setBindings(Bindings namespace, int scope) - throws IllegalArgumentException { - - switch (scope) { - case ENGINE_SCOPE: - engineScope = namespace; - break; - case GLOBAL_SCOPE: - globalScope = namespace; - break; - default: - throw new IllegalArgumentException("invalid scope"); - - } - } - - private static final List scopes = Arrays.asList(new Integer[]{new Integer(ENGINE_SCOPE), new Integer(GLOBAL_SCOPE)}); - - /** - * {@inheritDoc} - */ - public List getScopes() { - return scopes; - } - - protected Writer errorWriter; - - /** - * {@inheritDoc} - */ - public Writer getErrorWriter() { - if (this.errorWriter == null) return this.errorWriter = new PrintWriter(System.err, true); - return errorWriter; - } - - /** - * {@inheritDoc} - */ - public void setErrorWriter(Writer writer) { - this.errorWriter = writer; - } - - protected Reader reader; - - /** - * {@inheritDoc} - */ - public Reader getReader() { - if (this.reader == null) return new InputStreamReader(System.in); - return reader; - } - - /** - * {@inheritDoc} - */ - public void setReader(Reader reader) { - this.reader = reader; - } - - protected Writer writer; - - /** - * {@inheritDoc} - */ - public Writer getWriter() { - // autoflush is true so that I can see the output immediately - if (writer == null) { - writer = new PrintWriter(System.out, true); - } - return writer; - } - - /** - * {@inheritDoc} - */ - public void setWriter(Writer writer) { - this.writer = writer; - } -} diff --git a/server/javax/script/package.html b/server/javax/script/package.html deleted file mode 100644 index 68be312..0000000 --- a/server/javax/script/package.html +++ /dev/null @@ -1,8 +0,0 @@ - - - - - -JSR 223 classes and interfaces. - - From 532d6dd86f07494205d49def5707f5df4a371b02 Mon Sep 17 00:00:00 2001 From: "Christian P. Lerch" Date: Sun, 22 Jan 2017 20:51:21 +0100 Subject: [PATCH 10/25] move to test sources --- .../java/io/soluble/pjb/script/TestUtf8.java | 56 ++++++++++++++++++ .../test/java/tests_jsr223}/test/README | 0 .../java/tests_jsr223}/test/SwingTest.java | 8 +-- .../java/tests_jsr223}/test/SwingTest.php | 0 tests.jsr223/test/Utf8.java | 59 ------------------- 5 files changed, 60 insertions(+), 63 deletions(-) create mode 100644 src/test/java/io/soluble/pjb/script/TestUtf8.java rename {tests.jsr223 => src/test/java/tests_jsr223}/test/README (100%) rename {tests.jsr223 => src/test/java/tests_jsr223}/test/SwingTest.java (77%) rename {tests.jsr223 => src/test/java/tests_jsr223}/test/SwingTest.php (100%) delete mode 100644 tests.jsr223/test/Utf8.java diff --git a/src/test/java/io/soluble/pjb/script/TestUtf8.java b/src/test/java/io/soluble/pjb/script/TestUtf8.java new file mode 100644 index 0000000..0cba08d --- /dev/null +++ b/src/test/java/io/soluble/pjb/script/TestUtf8.java @@ -0,0 +1,56 @@ +/*-*- mode: Java; tab-width:8 -*-*/ + +package io.soluble.pjb.script; + +import java.io.StringReader; + +import javax.script.Invocable; +import javax.script.ScriptException; + +/** + * @author jostb + * + * Call this example with -Dfile.encoding=UTF-8 + */ +public class TestUtf8 { + + public static void main(String[] args) throws ScriptException, NoSuchMethodException { + int result = 0; + + System.setProperty("io.soluble.pjb.bridge.default_log_level", "4"); + System.setProperty("io.soluble.pjb.bridge.default_log_file", ""); + System.setProperty("io.soluble.pjb.bridge.php_exec", "php-cgi"); + + String utf8 = + "Cześć! -- שלום -- Grüß Gott -- Dobrý deň -- Dobrý den -- こんにちは, コンニチハ"; + + String phpCode = + "call(java_closure()); \n"+ + "?>"; + + InvocablePhpScriptEngine engine = new InvocablePhpScriptEngine(); + StringReader reader = new StringReader(phpCode); + engine.eval(reader); + + Invocable i = (Invocable)engine; + String utf82 = i.getInterface(null).toString(); + + if(!utf82.equals(utf8)) { + System.out.println("ERROR"); + System.out.println(utf82); + System.out.println(utf8); + result = 1; + } else { + System.out.println("test okay"); + } + + engine.release(); + System.exit(result); + } +} diff --git a/tests.jsr223/test/README b/src/test/java/tests_jsr223/test/README similarity index 100% rename from tests.jsr223/test/README rename to src/test/java/tests_jsr223/test/README diff --git a/tests.jsr223/test/SwingTest.java b/src/test/java/tests_jsr223/test/SwingTest.java similarity index 77% rename from tests.jsr223/test/SwingTest.java rename to src/test/java/tests_jsr223/test/SwingTest.java index 8359df9..e2626ce 100644 --- a/tests.jsr223/test/SwingTest.java +++ b/src/test/java/tests_jsr223/test/SwingTest.java @@ -10,7 +10,7 @@ import javax.script.ScriptException; import javax.swing.SwingUtilities; -import php.java.script.InvocablePhpScriptEngine; +import io.soluble.pjb.script.InvocablePhpScriptEngine; /** * @author jostb @@ -22,9 +22,9 @@ private interface SwingApplication extends Runnable { public void init(); } public static void main(String s[]) throws FileNotFoundException, ScriptException, InterruptedException, InvocationTargetException { - System.setProperty("php.java.bridge.default_log_level", "5"); - System.setProperty("php.java.bridge.default_log_file", ""); - System.setProperty("php.java.bridge.php_exec", "/usr/bin/php-cgi"); + System.setProperty("io.soluble.pjb.bridge.default_log_level", "5"); + System.setProperty("io.soluble.pjb.bridge.default_log_file", ""); + System.setProperty("io.soluble.pjb.bridge.php_exec", "/usr/bin/php-cgi"); InvocablePhpScriptEngine engine = new InvocablePhpScriptEngine(); engine.eval(new FileReader("test/SwingTest.php")); diff --git a/tests.jsr223/test/SwingTest.php b/src/test/java/tests_jsr223/test/SwingTest.php similarity index 100% rename from tests.jsr223/test/SwingTest.php rename to src/test/java/tests_jsr223/test/SwingTest.php diff --git a/tests.jsr223/test/Utf8.java b/tests.jsr223/test/Utf8.java deleted file mode 100644 index 70cda09..0000000 --- a/tests.jsr223/test/Utf8.java +++ /dev/null @@ -1,59 +0,0 @@ -/*-*- mode: Java; tab-width:8 -*-*/ - -package test; - -import java.io.StringReader; - -import javax.script.Invocable; -import javax.script.ScriptException; - -import php.java.script.InvocablePhpScriptEngine; -import php.java.script.PhpScriptEngine; - -/** - * @author jostb - * - * Call this example with -Dfile.encoding=UTF-8 - */ -public class Utf8 { - - public static void main(String[] args) throws ScriptException, NoSuchMethodException { - int result = 0; - - System.setProperty("php.java.bridge.default_log_level", "4"); - System.setProperty("php.java.bridge.default_log_file", ""); - System.setProperty("php.java.bridge.php_exec", "php-cgi"); - - String utf8 = - "Cześć! -- שלום -- Grüß Gott -- Dobrý deň -- Dobrý den -- こんにちは, コンニチハ"; - - String phpCode = - "call(java_closure()); \n"+ - "?>"; - - InvocablePhpScriptEngine engine = new InvocablePhpScriptEngine(); - StringReader reader = new StringReader(phpCode); - engine.eval(reader); - - Invocable i = (Invocable)engine; - String utf82 = i.getInterface(null).toString(); - - if(!utf82.equals(utf8)) { - System.out.println("ERROR"); - System.out.println(utf82); - System.out.println(utf8); - result = 1; - } else { - System.out.println("test okay"); - } - - engine.release(); - System.exit(result); - } -} From 8539788c94506d3d958a9f7e4745ad2960240ebd Mon Sep 17 00:00:00 2001 From: "Christian P. Lerch" Date: Sun, 22 Jan 2017 20:53:13 +0100 Subject: [PATCH 11/25] moved to resources --- .../io/soluble/pjb/bridge/global.properties | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 src/main/resources/io/soluble/pjb/bridge/global.properties diff --git a/src/main/resources/io/soluble/pjb/bridge/global.properties b/src/main/resources/io/soluble/pjb/bridge/global.properties new file mode 100644 index 0000000..81ad4e3 --- /dev/null +++ b/src/main/resources/io/soluble/pjb/bridge/global.properties @@ -0,0 +1,20 @@ +## auto-generated variables +## do not edit +BACKEND_VERSION = 6.2.11 + +## You can adjust and enable the following properties: +## + +# The name of the library, usually JavaBridge or MonoBridge +EXTENSION_DISPLAY_NAME = JavaBridge + +# A white space delimited list of environment entries; NOT to be passed to PHP +PHP_ENV_BLACKLIST = PHPRC + +# BASE = +# THREADS = 20 +# DEFAULT_LOG_LEVEL = 3 +# DEFAULT_LOG_FILE = +# PHP_EXEC = /usr/bin/php-cgi +# PHP_EXEC_ARGS = -d allow_url_include=On -d display_errors=Off -d log_errors=On -d java.persistent_servlet_connections=On +# MAX_WAIT = 15000 From 9446d7a6ed8e7a2db971c2b0a3409f3d121dccc5 Mon Sep 17 00:00:00 2001 From: "Christian P. Lerch" Date: Sun, 22 Jan 2017 20:54:01 +0100 Subject: [PATCH 12/25] moved to test sources --- .../java/io/soluble/pjb/script/AllTests.java | 32 ++++ .../soluble/pjb/script/SimpleCompileable.java | 33 ++++ .../io/soluble/pjb/script/TestBindings.java | 121 +++++++++++++ .../java/io/soluble/pjb/script/TestCli.java | 71 ++++++++ .../io/soluble/pjb/script/TestDiscovery.java | 43 +++++ .../io/soluble/pjb/script/TestException.java | 43 +++++ .../pjb/script/TestExceptionInvocable.java | 51 ++++++ .../pjb/script/TestExceptionInvocable2.java | 68 ++++++++ .../soluble/pjb/script/TestGetInterface.java | 67 ++++++++ .../io/soluble/pjb/script/TestGetResult.java | 49 ++++++ .../script/TestInteractiveRequestAbort.java | 46 +++++ .../io/soluble/pjb/script/TestInvocable.java | 39 +++++ .../script/TestInvocablePhpScriptEngine.java | 162 ++++++++++++++++++ .../pjb/script/TestPhpScriptEngine.java | 104 +++++++++++ .../io/soluble/pjb/script/TestScript.java | 42 +++++ .../io/soluble/pjb/script/TestSetWriter.java | 66 +++++++ .../pjb/script/TestSimpleInvocation.java | 42 +++++ .../io/soluble/pjb/script/TestURLReader.java | 46 +++++ 18 files changed, 1125 insertions(+) create mode 100644 src/test/java/io/soluble/pjb/script/AllTests.java create mode 100644 src/test/java/io/soluble/pjb/script/SimpleCompileable.java create mode 100644 src/test/java/io/soluble/pjb/script/TestBindings.java create mode 100644 src/test/java/io/soluble/pjb/script/TestCli.java create mode 100644 src/test/java/io/soluble/pjb/script/TestDiscovery.java create mode 100644 src/test/java/io/soluble/pjb/script/TestException.java create mode 100644 src/test/java/io/soluble/pjb/script/TestExceptionInvocable.java create mode 100644 src/test/java/io/soluble/pjb/script/TestExceptionInvocable2.java create mode 100644 src/test/java/io/soluble/pjb/script/TestGetInterface.java create mode 100644 src/test/java/io/soluble/pjb/script/TestGetResult.java create mode 100644 src/test/java/io/soluble/pjb/script/TestInteractiveRequestAbort.java create mode 100644 src/test/java/io/soluble/pjb/script/TestInvocable.java create mode 100644 src/test/java/io/soluble/pjb/script/TestInvocablePhpScriptEngine.java create mode 100644 src/test/java/io/soluble/pjb/script/TestPhpScriptEngine.java create mode 100644 src/test/java/io/soluble/pjb/script/TestScript.java create mode 100644 src/test/java/io/soluble/pjb/script/TestSetWriter.java create mode 100644 src/test/java/io/soluble/pjb/script/TestSimpleInvocation.java create mode 100644 src/test/java/io/soluble/pjb/script/TestURLReader.java diff --git a/src/test/java/io/soluble/pjb/script/AllTests.java b/src/test/java/io/soluble/pjb/script/AllTests.java new file mode 100644 index 0000000..3669dc1 --- /dev/null +++ b/src/test/java/io/soluble/pjb/script/AllTests.java @@ -0,0 +1,32 @@ +package io.soluble.pjb.script; + +import junit.framework.Test; +import junit.framework.TestSuite; + +public class AllTests { + + public static Test suite() { + TestSuite suite = new TestSuite("Test for io.soluble.pjb.test"); + //$JUnit-BEGIN$ + suite.addTestSuite(TestException.class); + suite.addTestSuite(TestGetResult.class); + suite.addTestSuite(SimpleCompileable.class); + suite.addTestSuite(TestGetInterface.class); + suite.addTestSuite(TestScript.class); + suite.addTestSuite(TestInvocablePhpScriptEngine.class); + suite.addTestSuite(TestExceptionInvocable.class); + suite.addTestSuite(TestSetWriter.class); + suite.addTestSuite(TestInteractiveRequestAbort.class); + suite.addTestSuite(TestExceptionInvocable2.class); + suite.addTestSuite(TestSimpleInvocation.class); + suite.addTestSuite(TestInvocable.class); + suite.addTestSuite(TestURLReader.class); + suite.addTestSuite(TestCli.class); + suite.addTestSuite(TestPhpScriptEngine.class); + suite.addTestSuite(TestDiscovery.class); + suite.addTestSuite(TestBindings.class); + //$JUnit-END$ + return suite; + } + +} diff --git a/src/test/java/io/soluble/pjb/script/SimpleCompileable.java b/src/test/java/io/soluble/pjb/script/SimpleCompileable.java new file mode 100644 index 0000000..46c8222 --- /dev/null +++ b/src/test/java/io/soluble/pjb/script/SimpleCompileable.java @@ -0,0 +1,33 @@ +package io.soluble.pjb.script; + +import javax.script.Compilable; +import javax.script.CompiledScript; +import javax.script.ScriptEngineManager; + +import junit.framework.TestCase; + +public class SimpleCompileable extends TestCase { + + private CompiledScript script; + + public SimpleCompileable(String name) { + super(name); + } + + protected void setUp() throws Exception { + super.setUp(); + script = ((Compilable) (new ScriptEngineManager().getEngineByName("php"))).compile( + "get('hello').'!'; ?>"); + } + + protected void tearDown() throws Exception { + super.tearDown(); + } + + public void test() throws Exception { + script.getEngine().put("hello", "world!"); + script.eval(); + script.getEngine().put("hello", String.valueOf(this)); + script.eval(); + } +} diff --git a/src/test/java/io/soluble/pjb/script/TestBindings.java b/src/test/java/io/soluble/pjb/script/TestBindings.java new file mode 100644 index 0000000..3678a50 --- /dev/null +++ b/src/test/java/io/soluble/pjb/script/TestBindings.java @@ -0,0 +1,121 @@ +package io.soluble.pjb.script; + +import java.io.ByteArrayOutputStream; +import java.io.Closeable; +import java.io.File; +import java.io.OutputStreamWriter; +import java.io.Reader; +import java.io.StringReader; + +import javax.script.Bindings; +import javax.script.Compilable; +import javax.script.CompiledScript; +import javax.script.ScriptEngine; +import javax.script.ScriptEngineManager; +import javax.script.ScriptException; +import javax.script.SimpleBindings; + +import junit.framework.TestCase; + +public class TestBindings extends TestCase { + + private ScriptEngine e; + private ScriptEngine e2; + private Bindings b; + private String script; + private ScriptEngineManager m; + + public TestBindings(String name) { + super(name); + } + + protected void setUp() throws Exception { + super.setUp(); + m = new ScriptEngineManager(); + e = m.getEngineByName("php"); + e2 = m.getEngineByName("php"); + e.put("javax.script.argv", new String[]{"1", "2", "3"}); + + b = new SimpleBindings(); + b.put("javax.script.argv", new String[]{"1", "2", "3"}); + + script = "get('javax.script.argv');" + + "$result = (string)$argv[0]+ (string)$argv[1]+ (string)$argv[2];" + + "exit($result);" + + "?>"; + } + + protected void tearDown() throws Exception { + super.tearDown(); + ((Closeable) e).close(); + } + + public void testEvalReader() { + try { + Reader r = new StringReader(script); + assertTrue("6".equals(String.valueOf(e.eval(r)))); + r.close(); + } catch (Exception e) { + fail(String.valueOf(e)); + } + } + + public void testEvalReaderBindings() { + try { + Reader r = new StringReader(script); + assertTrue("6".equals(String.valueOf(e2.eval(r, b)))); + r.close(); + } catch (Exception e) { + fail(String.valueOf(e)); + } + } + + public void testEvalString() { + try { + assertTrue("6".equals(String.valueOf(e.eval(script)))); + } catch (ScriptException e) { + fail(String.valueOf(e)); + } + } + + public void testEvalStringBindings() { + try { + assertTrue("6".equals(String.valueOf(e2.eval(script, b)))); + } catch (ScriptException e) { + fail(String.valueOf(e)); + } + } + + public void testEvalCompilableString() { + System.out.println("testEvalCompilableString"); + try { + ByteArrayOutputStream out = new ByteArrayOutputStream(); + OutputStreamWriter writer = new OutputStreamWriter(out); + ScriptEngine e = m.getEngineByName("php"); + + e.put("javax.script.argv", new String[]{"1", "2", "3"}); + e.getContext().setWriter(writer); + ((java.io.FileFilter) e).accept(new File(System.getProperty("java.io.tmpdir", "/tmp") + File.separator + "test.php")); + CompiledScript s = ((Compilable) e).compile("get('javax.script.argv');" + + "$result = (string)$argv[0]+ (string)$argv[1]+ (string)$argv[2];" + + "echo($result);" + + "?>"); + + long t1 = System.currentTimeMillis(); + //for (int i = 0; i < 100; i++) { // loop fails on second iteration !? + s.eval(); + final String result = out.toString(); + System.out.println("Result: " + result); + assertTrue("6".equals(result)); + out.reset(); + //} + long t2 = System.currentTimeMillis(); + System.out.println("testEvalCompilableString time:" + (t2 - t1)); + + } catch (Exception e) { + fail(String.valueOf(e)); + } + } +} diff --git a/src/test/java/io/soluble/pjb/script/TestCli.java b/src/test/java/io/soluble/pjb/script/TestCli.java new file mode 100644 index 0000000..db3663f --- /dev/null +++ b/src/test/java/io/soluble/pjb/script/TestCli.java @@ -0,0 +1,71 @@ +package io.soluble.pjb.script; + +import java.io.ByteArrayOutputStream; +import java.io.Closeable; +import java.io.OutputStreamWriter; +import java.io.Writer; + +import javax.script.ScriptEngine; +import javax.script.ScriptEngineManager; + +import junit.framework.TestCase; + +public class TestCli extends TestCase { + + public TestCli(String name) { + super(name); + } + + protected void setUp() throws Exception { + super.setUp(); + } + + protected void tearDown() throws Exception { + super.tearDown(); + } + + public void testSimple() { + try { + ByteArrayOutputStream errOut = new ByteArrayOutputStream(); + Writer err = new OutputStreamWriter(errOut); + ScriptEngine eng = (new ScriptEngineManager()).getEngineByName("php-interactive"); + eng.getContext().setErrorWriter(err); + eng.eval("$a=new java('java.util.Vector');"); + eng.eval("$a->add(1);"); + eng.eval("$a->add(2);"); + eng.eval("$a->add(3);"); + eng.eval("class C{function toString() {return 'foo';}}"); + eng.eval("$a->add(java_closure(new C()));"); + eng.eval("$b=new java('java.util.Vector');"); + eng.eval("$b->add(1);"); + eng.eval("$b->add(2);"); + eng.eval("$b->add(3);"); + assertTrue("[1, 2, 3]".equals(eng.eval("echo $b"))); + assertTrue("[1, 2, 3, foo]".equals(eng.eval("echo $a"))); + ((Closeable) eng).close(); + } catch (Exception e) { + fail(String.valueOf(e)); + } + } + + public void testClosure() { + try { + ByteArrayOutputStream errOut = new ByteArrayOutputStream(); + Writer err = new OutputStreamWriter(errOut); + ScriptEngine eng = (new ScriptEngineManager()).getEngineByName("php-interactive"); + eng.getContext().setErrorWriter(err); + eng.eval("$a=new java('java.util.Vector');"); + eng.eval("$a->add(1);"); + eng.eval("$a->add(2);"); + try { + eng.eval("die();"); + } catch (Exception e) { + assertTrue(e.getMessage().equals("io.soluble.pjb.bridge.Request$AbortException")); + } + assertTrue(eng.eval("echo $a").equals("[1, 2]")); + ((Closeable) eng).close(); + } catch (Exception e) { + fail(String.valueOf(e)); + } + } +} diff --git a/src/test/java/io/soluble/pjb/script/TestDiscovery.java b/src/test/java/io/soluble/pjb/script/TestDiscovery.java new file mode 100644 index 0000000..a4940f1 --- /dev/null +++ b/src/test/java/io/soluble/pjb/script/TestDiscovery.java @@ -0,0 +1,43 @@ +package io.soluble.pjb.script; + +import javax.script.ScriptEngine; +import javax.script.ScriptEngineManager; + +import junit.framework.TestCase; + +public class TestDiscovery extends TestCase { + + public TestDiscovery(String name) { + super(name); + } + + protected void setUp() throws Exception { + super.setUp(); + } + + protected void tearDown() throws Exception { + super.tearDown(); + } + + public void testDiscovery() { + try { + StringBuffer s = new StringBuffer(); + ScriptEngineManager manager = new ScriptEngineManager(); + ScriptEngine e = manager.getEngineByName("php"); + e.put("hello", new StringBuffer("hello world")); + e.put("s", s); + e.eval("getAttribute('s');" + + "$s->append(java_values(java_context()->getAttribute('hello')));" + + "/*echo java_values($s);*/" + + "java_context()->setAttribute('hello', '!', 100);" + + "?>"); + s.append(e.get("hello")); + if (!(s.toString().equals("hello world!"))) { + fail("ERROR"); + } + } catch (Exception e) { + fail(String.valueOf(e)); + } + } +} diff --git a/src/test/java/io/soluble/pjb/script/TestException.java b/src/test/java/io/soluble/pjb/script/TestException.java new file mode 100644 index 0000000..62d25e2 --- /dev/null +++ b/src/test/java/io/soluble/pjb/script/TestException.java @@ -0,0 +1,43 @@ +package io.soluble.pjb.script; + +import java.io.ByteArrayOutputStream; +import java.io.OutputStream; +import java.io.OutputStreamWriter; +import java.io.Writer; + +import javax.script.ScriptEngine; +import javax.script.ScriptEngineManager; +import javax.script.ScriptException; + +import junit.framework.TestCase; + +public class TestException extends TestCase { + + public TestException(String name) { + super(name); + } + + protected void setUp() throws Exception { + super.setUp(); + } + + protected void tearDown() throws Exception { + super.tearDown(); + } + + public void test() throws Exception { + ScriptEngineManager manager = new ScriptEngineManager(); + ScriptEngine e = manager.getEngineByName("php"); + OutputStream out = new ByteArrayOutputStream(); + Writer w = new OutputStreamWriter(out); + e.getContext().setWriter(w); + e.getContext().setErrorWriter(w); + try { + e.eval(""); + } catch (ScriptException ex) { + if (out.toString().length() == 0) throw new Exception("test failed"); + return; + } + fail("test failed"); + } +} diff --git a/src/test/java/io/soluble/pjb/script/TestExceptionInvocable.java b/src/test/java/io/soluble/pjb/script/TestExceptionInvocable.java new file mode 100644 index 0000000..479a0a6 --- /dev/null +++ b/src/test/java/io/soluble/pjb/script/TestExceptionInvocable.java @@ -0,0 +1,51 @@ +package io.soluble.pjb.script; + +import java.io.ByteArrayOutputStream; +import java.io.Closeable; +import java.io.OutputStream; +import java.io.OutputStreamWriter; +import java.io.Writer; + +import javax.script.Invocable; +import javax.script.ScriptEngine; +import javax.script.ScriptEngineManager; +import javax.script.ScriptException; + +import junit.framework.TestCase; + +public class TestExceptionInvocable extends TestCase { + + public TestExceptionInvocable(String name) { + super(name); + } + + protected void setUp() throws Exception { + super.setUp(); + } + + protected void tearDown() throws Exception { + super.tearDown(); + } + + public void test() throws Exception { + ScriptEngineManager manager = new ScriptEngineManager(); + ScriptEngine e = manager.getEngineByName("php-invocable"); + OutputStream out = new ByteArrayOutputStream(); + Writer w = new OutputStreamWriter(out); + e.getContext().setWriter(w); + e.getContext().setErrorWriter(w); + e.eval(""); + + Invocable i = (Invocable) e; + try { + i.invokeFunction("f", new Object[]{}); + } catch (ScriptException ex) { + ((Closeable) e).close(); + if (out.toString().length() != 0) throw new Exception("test failed"); + return; + } + ((Closeable) e).close(); + fail("test failed"); + } + +} diff --git a/src/test/java/io/soluble/pjb/script/TestExceptionInvocable2.java b/src/test/java/io/soluble/pjb/script/TestExceptionInvocable2.java new file mode 100644 index 0000000..4b2ed98 --- /dev/null +++ b/src/test/java/io/soluble/pjb/script/TestExceptionInvocable2.java @@ -0,0 +1,68 @@ +package io.soluble.pjb.script; + +import java.io.ByteArrayOutputStream; +import java.io.Closeable; +import java.io.OutputStream; +import java.io.OutputStreamWriter; +import java.io.Writer; + +import javax.script.Invocable; +import javax.script.ScriptEngine; +import javax.script.ScriptEngineManager; + +import junit.framework.TestCase; + +public class TestExceptionInvocable2 extends TestCase { + + public TestExceptionInvocable2(String name) { + super(name); + } + + protected void setUp() throws Exception { + super.setUp(); + } + + protected void tearDown() throws Exception { + super.tearDown(); + } + + public void test() throws Exception { + ScriptEngineManager manager = new ScriptEngineManager(); + ScriptEngine e = manager.getEngineByName("php-invocable"); + OutputStream out = new ByteArrayOutputStream(); + Writer w = new OutputStreamWriter(out); + e.getContext().setWriter(w); + e.getContext().setErrorWriter(w); + e.eval("setAttribute('c', java_closure(new c()), 100); " + + "?>"); + + Invocable i = (Invocable) e; + try { + assertTrue("f ok".equals(i.invokeFunction("f", new Object[]{}))); + } catch (Throwable ex) { + fail("2"); + } + try { + i.invokeFunction("g", new Object[]{}); + System.err.println("test failed"); + fail("3"); + } catch (NoSuchMethodException ex) { +// ex.printStackTrace(System.out); + } + try { + assertTrue("c::p ok".equals(i.invokeMethod(e.get("c"), "p", new Object[]{}))); + } catch (NoSuchMethodException ex) { + fail("4"); + } + try { + i.invokeMethod(e.get("c"), "g", new Object[]{}); + fail("5"); + } catch (NoSuchMethodException ex) { + //ex.printStackTrace(System.out); + } + ((Closeable) e).close(); + if (out.toString().length() != 0) throw new Exception("test failed"); + } +} diff --git a/src/test/java/io/soluble/pjb/script/TestGetInterface.java b/src/test/java/io/soluble/pjb/script/TestGetInterface.java new file mode 100644 index 0000000..f7e1077 --- /dev/null +++ b/src/test/java/io/soluble/pjb/script/TestGetInterface.java @@ -0,0 +1,67 @@ +package io.soluble.pjb.script; + +import java.io.ByteArrayOutputStream; +import java.io.Closeable; +import java.io.OutputStreamWriter; + +import javax.script.Invocable; +import javax.script.ScriptEngine; +import javax.script.ScriptEngineManager; + +import junit.framework.TestCase; + +public class TestGetInterface extends TestCase { + + public TestGetInterface(String name) { + super(name); + } + + protected void setUp() throws Exception { + super.setUp(); + } + + protected void tearDown() throws Exception { + super.tearDown(); + } + + private ScriptEngine scriptEngine; + + String classA = "class A{function toString(){return '::A';} function invokeA($b){$b->invokeB();}}\n"; + String classB = "class B{function toString(){return '::B';} function invokeB(){echo '::B';}}\n"; + String test = "getAttribute('thiz');\n$thiz->call(java_closure(new A()), java_closure(new B())); ?>"; + + public void test() throws Exception { + scriptEngine = new ScriptEngineManager().getEngineByName("php-invocable"); + scriptEngine.put("thiz", this); + ByteArrayOutputStream out; + OutputStreamWriter writer; + scriptEngine.getContext().setWriter(writer = new OutputStreamWriter(out = new ByteArrayOutputStream())); + scriptEngine.eval(test); + ((Closeable) scriptEngine).close(); + + writer.close(); + if (!"::B".equals(out.toString())) { + fail("test failed"); + } + return; + } + + interface IA { + public void invokeA(IB ccb); + } + + ; + + interface IB { + public void invokeB(); + } + + ; + + public void call(Object $cca, Object $ccb) { + IA cca = (IA) ((Invocable) scriptEngine).getInterface($cca, IA.class); + IB ccb = (IB) ((Invocable) scriptEngine).getInterface($ccb, IB.class); + cca.invokeA(ccb); + } + +} diff --git a/src/test/java/io/soluble/pjb/script/TestGetResult.java b/src/test/java/io/soluble/pjb/script/TestGetResult.java new file mode 100644 index 0000000..0d5207d --- /dev/null +++ b/src/test/java/io/soluble/pjb/script/TestGetResult.java @@ -0,0 +1,49 @@ +package io.soluble.pjb.script; + +import java.io.ByteArrayOutputStream; +import java.io.OutputStream; +import java.io.OutputStreamWriter; +import java.io.Writer; + +import javax.script.Invocable; +import javax.script.ScriptEngine; +import javax.script.ScriptEngineManager; +import javax.script.ScriptException; + +import junit.framework.TestCase; + +public class TestGetResult extends TestCase { + + public TestGetResult(String name) { + super(name); + } + + protected void setUp() throws Exception { + super.setUp(); + } + + protected void tearDown() throws Exception { + super.tearDown(); + } + + public void testDiscovery() { + try { + ScriptEngine e = new ScriptEngineManager().getEngineByName("php"); + String result = String.valueOf(e.eval(""); + result = String.valueOf(o); // note that this releases the engine, the next invoke will implicitly call eval() with an empty script + ((Invocable) e).invokeFunction("phpinfo", new Object[]{}); + if (!result.equals("16")) throw new ScriptException("test failed"); + if (out.toString().length() == 0) throw new ScriptException("test failed"); + } catch (Exception e1) { + fail(String.valueOf(e1)); + } + } +} diff --git a/src/test/java/io/soluble/pjb/script/TestInteractiveRequestAbort.java b/src/test/java/io/soluble/pjb/script/TestInteractiveRequestAbort.java new file mode 100644 index 0000000..6c03ff2 --- /dev/null +++ b/src/test/java/io/soluble/pjb/script/TestInteractiveRequestAbort.java @@ -0,0 +1,46 @@ +package io.soluble.pjb.script; + +import java.io.File; +import java.io.FileWriter; + +import javax.script.ScriptEngine; +import javax.script.ScriptEngineManager; +import javax.script.ScriptException; + +import junit.framework.TestCase; +import io.soluble.pjb.bridge.Request.AbortException; + +public class TestInteractiveRequestAbort extends TestCase { + + public TestInteractiveRequestAbort(String name) { + super(name); + } + + protected void setUp() throws Exception { + super.setUp(); + } + + protected void tearDown() throws Exception { + super.tearDown(); + } + + public void test() throws Exception { + String devNull = new File("/dev/null").exists() ? "/dev/null" : "devNull"; + ScriptEngineManager m = new ScriptEngineManager(); + ScriptEngine e = m.getEngineByName("php-interactive"); + e.getContext().setErrorWriter(new FileWriter(new File(devNull))); + e.getContext().setWriter(new FileWriter(new File(devNull))); + + try { + e.eval("function toString() {return 'hello'; }; echo java_closure(); echo new JavaException('java.lang.Exception', 'hello'); echo JavaException('foo')"); + } catch (ScriptException ex) { + Throwable orig = ex.getCause(); + if (orig instanceof AbortException) { + return; + } + } + + fail("test failed"); + } + +} diff --git a/src/test/java/io/soluble/pjb/script/TestInvocable.java b/src/test/java/io/soluble/pjb/script/TestInvocable.java new file mode 100644 index 0000000..94ca207 --- /dev/null +++ b/src/test/java/io/soluble/pjb/script/TestInvocable.java @@ -0,0 +1,39 @@ +package io.soluble.pjb.script; + +import java.io.Reader; + +import javax.script.Invocable; +import javax.script.ScriptEngine; +import javax.script.ScriptEngineManager; + +import junit.framework.TestCase; + +public class TestInvocable extends TestCase { + + public TestInvocable(String name) { + super(name); + } + + protected void setUp() throws Exception { + super.setUp(); + } + + protected void tearDown() throws Exception { + super.tearDown(); + } + + public void test() throws Exception { + + ScriptEngineManager manager = new ScriptEngineManager(); + ScriptEngine e = manager.getEngineByName("php-invocable"); + + e.eval("setAttribute('f', java_closure(new f()), 100); ?>"); + + Invocable i = (Invocable) e; + Object f = e.getContext().getAttribute("f", 100); + assertTrue(2 == (Integer) i.invokeMethod(f, "a", new Object[]{new Integer(1)})); + + e.eval((Reader) null); + } +} diff --git a/src/test/java/io/soluble/pjb/script/TestInvocablePhpScriptEngine.java b/src/test/java/io/soluble/pjb/script/TestInvocablePhpScriptEngine.java new file mode 100644 index 0000000..c1f37a7 --- /dev/null +++ b/src/test/java/io/soluble/pjb/script/TestInvocablePhpScriptEngine.java @@ -0,0 +1,162 @@ +package io.soluble.pjb.script; + +import java.io.ByteArrayOutputStream; +import java.io.Closeable; +import java.io.File; +import java.io.OutputStreamWriter; +import java.io.Reader; +import java.io.StringReader; + +import javax.script.Bindings; +import javax.script.Compilable; +import javax.script.CompiledScript; +import javax.script.Invocable; +import javax.script.ScriptEngine; +import javax.script.ScriptEngineManager; +import javax.script.ScriptException; +import javax.script.SimpleBindings; + +import junit.framework.TestCase; + +public class TestInvocablePhpScriptEngine extends TestCase { + + private ScriptEngine e; + private Bindings b; + private String script; + private ScriptEngineManager m; + private String invocableScript; + + public TestInvocablePhpScriptEngine(String name) { + super(name); + } + + protected void setUp() throws Exception { + super.setUp(); + + m = new ScriptEngineManager(); + e = m.getEngineByName("php-invocable"); + b = new SimpleBindings(); + script = ""; + invocableScript = ""; // no exit() + + } + + protected void tearDown() throws Exception { + super.tearDown(); + ((Closeable) e).close(); + } + + public void testEvalReader() { + try { + Reader r = new StringReader(script); + assertTrue("3".equals(String.valueOf(e.eval(r)))); + r.close(); + } catch (Exception e) { + fail(String.valueOf(e)); + } + } + + public void testEvalReaderBindings() { + try { + Reader r = new StringReader(script); + assertTrue("3".equals(String.valueOf(e.eval(r, b)))); + r.close(); + } catch (Exception e) { + fail(String.valueOf(e)); + } + } + + public void testEvalString() { + try { + assertTrue("3".equals(String.valueOf(e.eval(script)))); + } catch (ScriptException e) { + fail(String.valueOf(e)); + } + } + + public void testEvalStringBindings() { + try { + assertTrue("3".equals(String.valueOf(e.eval(script, b)))); + } catch (ScriptException e) { + fail(String.valueOf(e)); + } + } + + public void testEvalCompilableString() { + try { + ScriptEngine e = m.getEngineByName("php-invocable"); + ByteArrayOutputStream out = new ByteArrayOutputStream(); + OutputStreamWriter writer = new OutputStreamWriter(out); + e.getContext().setWriter(writer); + e.getContext().getWriter(); + ((java.io.FileFilter) e).accept(new File(System.getProperty("java.io.tmpdir", "/tmp") + File.separator + "test.php")); + CompiledScript s = ((Compilable) e).compile(""); + + long t1 = System.currentTimeMillis(); + //for (int i = 0; i < 100; i++) { // loop fails on second iteration !? + s.eval(); + ((Closeable) e).close(); + assertTrue("3".equals(out.toString())); + out.reset(); + //} + long t2 = System.currentTimeMillis(); + System.out.println("testEvalInvocableCompilableString time:" + (t2 - t1)); + + } catch (Exception e) { + fail(String.valueOf(e)); + } + } + + public void testInvokeFunction() { + try { + ScriptEngine e = m.getEngineByName("php-invocable"); + e.eval(invocableScript); + assertTrue(6 == (Integer) ((Invocable) e).invokeFunction("f", new Object[]{"5"})); + ((Closeable) e).close(); + } catch (Exception e) { + fail(String.valueOf(e)); + } + } + + public void testInvokeFunctionCompiled() { + try { + ScriptEngine e = m.getEngineByName("php-invocable"); + ((java.io.FileFilter) e).accept(new File(System.getProperty("java.io.tmpdir", "/tmp") + File.separator + "test.php")); + CompiledScript c = ((Compilable) e).compile(invocableScript); + c.eval(); + assertTrue(6 == (Integer) ((Invocable) e).invokeFunction("f", new Object[]{"5"})); + c.eval(); + assertTrue(6 == (Integer) ((Invocable) e).invokeFunction("f", new Object[]{"5"})); + ((Closeable) e).close(); + } catch (Exception e) { + fail(String.valueOf(e)); + } + } + +// public void testInvokeMethod() { +// fail("Not yet implemented"); +// } +// +// public void testGetInterfaceClass() { +// fail("Not yet implemented"); +// } +// +// public void testGetInterfaceObjectClass() { +// fail("Not yet implemented"); +// } +// public void testInvokeFunctionCompiled() { +// fail("Not yet implemented"); +// } +// +// public void testInvokeMethodCompiled() { +// fail("Not yet implemented"); +// } +// +// public void testGetInterfaceClassCompiled() { +// fail("Not yet implemented"); +// } +// +// public void testGetInterfaceObjectClassCompiled() { +// fail("Not yet implemented"); +// } +} diff --git a/src/test/java/io/soluble/pjb/script/TestPhpScriptEngine.java b/src/test/java/io/soluble/pjb/script/TestPhpScriptEngine.java new file mode 100644 index 0000000..e98593f --- /dev/null +++ b/src/test/java/io/soluble/pjb/script/TestPhpScriptEngine.java @@ -0,0 +1,104 @@ +package io.soluble.pjb.script; + +import java.io.ByteArrayOutputStream; +import java.io.Closeable; +import java.io.File; +import java.io.OutputStreamWriter; +import java.io.Reader; +import java.io.StringReader; + +import javax.script.Bindings; +import javax.script.Compilable; +import javax.script.CompiledScript; +import javax.script.ScriptEngine; +import javax.script.ScriptEngineManager; +import javax.script.ScriptException; +import javax.script.SimpleBindings; + +import junit.framework.TestCase; + +public class TestPhpScriptEngine extends TestCase { + + private ScriptEngine e; + private Bindings b; + private String script; + private ScriptEngineManager m; + + public TestPhpScriptEngine(String name) { + super(name); + } + + protected void setUp() throws Exception { + super.setUp(); + m = new ScriptEngineManager(); + e = m.getEngineByName("php"); + b = new SimpleBindings(); + script = ""; + } + + protected void tearDown() throws Exception { + super.tearDown(); + ((Closeable) e).close(); + } + + public void testEvalReader() { + try { + Reader r = new StringReader(script); + assertTrue("3".equals(String.valueOf(e.eval(r)))); + r.close(); + } catch (Exception e) { + fail(String.valueOf(e)); + } + } + + public void testEvalReaderBindings() { + try { + Reader r = new StringReader(script); + assertTrue("3".equals(String.valueOf(e.eval(r, b)))); + r.close(); + } catch (Exception e) { + fail(String.valueOf(e)); + } + } + + public void testEvalString() { + try { + assertTrue("3".equals(String.valueOf(e.eval(script)))); + } catch (ScriptException e) { + fail(String.valueOf(e)); + } + } + + public void testEvalStringBindings() { + try { + assertTrue("3".equals(String.valueOf(e.eval(script, b)))); + } catch (ScriptException e) { + fail(String.valueOf(e)); + } + } + + public void testEvalCompilableString() { + try { + ByteArrayOutputStream out = new ByteArrayOutputStream(); + OutputStreamWriter writer = new OutputStreamWriter(out); + ScriptEngine e = m.getEngineByName("php"); + + e.getContext().setWriter(writer); + ((java.io.FileFilter) e).accept(new File(System.getProperty("java.io.tmpdir", "/tmp") + File.separator + "test.php")); + CompiledScript s = ((Compilable) e).compile(""); + + long t1 = System.currentTimeMillis(); + //for (int i = 0; i < 100; i++) { // loop fails on second iteration !? + s.eval(); + assertTrue("3".equals(out.toString())); + out.reset(); + //} + long t2 = System.currentTimeMillis(); + System.out.println("testEvalCompilableString time:" + (t2 - t1)); + + } catch (Exception e) { + fail(String.valueOf(e)); + } + } + +} diff --git a/src/test/java/io/soluble/pjb/script/TestScript.java b/src/test/java/io/soluble/pjb/script/TestScript.java new file mode 100644 index 0000000..6fb8d3b --- /dev/null +++ b/src/test/java/io/soluble/pjb/script/TestScript.java @@ -0,0 +1,42 @@ +package io.soluble.pjb.script; + +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.io.OutputStream; +import java.io.OutputStreamWriter; +import java.io.Writer; + +import javax.script.ScriptEngine; +import javax.script.ScriptEngineManager; +import javax.script.ScriptException; + +import junit.framework.TestCase; + +public class TestScript extends TestCase { + + public TestScript(String name) { + super(name); + } + + protected void setUp() throws Exception { + super.setUp(); + } + + protected void tearDown() throws Exception { + super.tearDown(); + } + + public void test() throws IOException, ScriptException { + ScriptEngine eng = (new ScriptEngineManager()).getEngineByName("php"); + OutputStream out = new ByteArrayOutputStream(); + Writer w = new OutputStreamWriter(out); + eng.getContext().setWriter(w); + eng.getContext().setErrorWriter(w); + + eng.eval("call(java_closure()))) print('test okay'); ?>"); + eng.eval((String) null); + + assertTrue("test okay".equals(String.valueOf(out))); + } + +} diff --git a/src/test/java/io/soluble/pjb/script/TestSetWriter.java b/src/test/java/io/soluble/pjb/script/TestSetWriter.java new file mode 100644 index 0000000..a467312 --- /dev/null +++ b/src/test/java/io/soluble/pjb/script/TestSetWriter.java @@ -0,0 +1,66 @@ +package io.soluble.pjb.script; + +import java.io.IOException; +import java.io.Reader; +import java.io.Writer; + +import javax.script.ScriptContext; +import javax.script.ScriptEngine; +import javax.script.ScriptEngineManager; + +import junit.framework.TestCase; + +public class TestSetWriter extends TestCase { + + public TestSetWriter(String name) { + super(name); + } + + protected void setUp() throws Exception { + super.setUp(); + } + + protected void tearDown() throws Exception { + super.tearDown(); + } + + public static class TestWriter extends Writer { + + public void close() throws IOException { + throw new RuntimeException("failed"); + } + + public void flush() throws IOException { + + } + + public void write(char[] cbuf, int off, int len) throws IOException { + assertTrue("3".equals(new String(cbuf, off, len))); + } + + } + + public static class TestReader extends Reader { + + public void close() throws IOException { + throw new RuntimeException("failed"); + } + + public int read(char[] cbuf, int off, int len) throws IOException { + return 0; + } + + } + + public void test() throws Exception { + ScriptEngineManager m = new ScriptEngineManager(); + ScriptEngine e = m.getEngineByName("php"); + ScriptContext c = e.getContext(); + c.setWriter(new TestWriter()); + c.setErrorWriter(new TestWriter()); + c.setReader(new TestReader()); + e.eval(""); + + } + +} diff --git a/src/test/java/io/soluble/pjb/script/TestSimpleInvocation.java b/src/test/java/io/soluble/pjb/script/TestSimpleInvocation.java new file mode 100644 index 0000000..4d8b2da --- /dev/null +++ b/src/test/java/io/soluble/pjb/script/TestSimpleInvocation.java @@ -0,0 +1,42 @@ +package io.soluble.pjb.script; + +import java.io.ByteArrayOutputStream; +import java.io.Closeable; +import java.io.OutputStream; +import java.io.OutputStreamWriter; +import java.io.Writer; + +import javax.script.Invocable; +import javax.script.ScriptEngine; +import javax.script.ScriptEngineManager; +import javax.script.ScriptException; + +import junit.framework.TestCase; + +public class TestSimpleInvocation extends TestCase { + + public TestSimpleInvocation(String name) { + super(name); + } + + protected void setUp() throws Exception { + super.setUp(); + } + + protected void tearDown() throws Exception { + super.tearDown(); + } + + public void test() throws Exception { + ScriptEngineManager m = new ScriptEngineManager(); + ScriptEngine e = m.getEngineByName("php-invocable"); + OutputStream out = new ByteArrayOutputStream(); + Writer w = new OutputStreamWriter(out); + e.getContext().setWriter(w); + e.getContext().setErrorWriter(w); + Invocable i = (Invocable) e; + i.invokeFunction("phpinfo", new Object[0]); + if (out.toString().length() == 0) throw new ScriptException("test failed"); + ((Closeable) e).close(); + } +} diff --git a/src/test/java/io/soluble/pjb/script/TestURLReader.java b/src/test/java/io/soluble/pjb/script/TestURLReader.java new file mode 100644 index 0000000..6f65e35 --- /dev/null +++ b/src/test/java/io/soluble/pjb/script/TestURLReader.java @@ -0,0 +1,46 @@ +package io.soluble.pjb.script; + +import java.io.ByteArrayOutputStream; +import java.io.OutputStream; +import java.io.OutputStreamWriter; +import java.io.Writer; +import java.net.URL; + +import javax.script.Invocable; +import javax.script.ScriptEngine; +import javax.script.ScriptEngineManager; + +import junit.framework.TestCase; +import io.soluble.pjb.script.IPhpScriptContext; +import io.soluble.pjb.script.URLReader; + +public class TestURLReader extends TestCase { + + public TestURLReader(String name) { + super(name); + } + + protected void setUp() throws Exception { + super.setUp(); + } + + protected void tearDown() throws Exception { + super.tearDown(); + } + + public void test() throws Exception { + ScriptEngine e = new ScriptEngineManager().getEngineByName("php-invocable"); + + // Note: don't use the following line in your own code + // URLReader should be used to connect to a real HTTP server, usually running on port 80 + e.eval(new URLReader(new URL("http://localhost:" + ((IPhpScriptContext) e.getContext()).getSocketName() + "/JavaBridge/java/JavaProxy.php"))); + + OutputStream out = new ByteArrayOutputStream(); + Writer w = new OutputStreamWriter(out); + e.getContext().setWriter(w); + e.getContext().setErrorWriter(w); + String result = String.valueOf(((Invocable) e).invokeFunction("addslashes", new Object[]{"Is your name O'reilly?"})); + assertTrue(out.toString().length() == 0); + assertTrue("Is your name O\\'reilly?".equals(result)); + } +} From 2f3580ec68bf3a4b61295fc1979f4e8dd0573125 Mon Sep 17 00:00:00 2001 From: "Christian P. Lerch" Date: Sun, 22 Jan 2017 21:00:26 +0100 Subject: [PATCH 13/25] moved from server/ to resources --- .../META-INF/SSLServerSocketHelperKeystore | Bin 0 -> 1364 bytes .../services/javax.script.ScriptEngineFactory | 9 +++++++++ 2 files changed, 9 insertions(+) create mode 100644 src/main/resources/META-INF/SSLServerSocketHelperKeystore create mode 100644 src/main/resources/META-INF/services/javax.script.ScriptEngineFactory diff --git a/src/main/resources/META-INF/SSLServerSocketHelperKeystore b/src/main/resources/META-INF/SSLServerSocketHelperKeystore new file mode 100644 index 0000000000000000000000000000000000000000..93686a92f22b9b7c84f8d86afa3293d67a436047 GIT binary patch literal 1364 zcmezO_TO6u1_mY|W&~r_+{*0KN+3^r5{I)fP-eG56VrABJ~l3GHbxdkEha%mMpg!v zCZ@$A(oHN@8+P|w=gfV$vi|E5pFG~)jJWkX_ZM&AyW$d9RdT{mr)S-P2kY}VuU|MU zoO)R#_~1*E8>SVKyDeU8-=3|WE9Z8Op;P6j%#Ez+GijBU zL1+2)w8ogcHEuiGUwu|%m7c~M=CsVFBDDO}y2u5hb=lFYrw1;(5%EMW$6-_6)Rx5S zAw8deIQ=NxRbZ31HuH1mZHBFKXE$d5sNrzq(qA2Hv@oAJ@{$xUkHm?%+INfRPyfB7 z?d!$~CsntVyAw@s;xu$Mz3DY zcbECqzZw0y58q+RI&1GRjd{J_??OjOwWZRv(FvROT~apz3}cZ9vE>#=?7<_eXmeA=`(zu4JrtjHpyy6d)Y_Gm zI50%mF+{j9M7S|TnBgJ@a^k#(28IR(mWJj==7y$GKrV=H4&~C>HI4I;Lj#!0nHzf< z3>rI`8XFnTE)kb3lX;lW(D7QWf^YtP)mw*zeP3Que|F^ghu5yxyF(7lGQ7(Y&;DK` z=AYOrljfAWj*m7xNxY<;_^UTp_s5&;UH9+ye4V#PIXz8~>!_2fPwhgDo$q5yPEEg_ zzLaCeH<9NP?iQ9WKghLPGu_{qL-%;}H8yJ54klH3WcxT zO#iXvbxVtNR*I2NK>w@E&HK-3*k8AN%gb0GRk6rWw|!E7y0*1c!rFH=4z4+I?1%21 zpLyos51F3#?J=9Zir4<0zh#C_d+oQ2C%4Y}Zoz+zsqoI_7l-^lFvhTYZP>iVxT1Co E0GK*4A^-pY literal 0 HcmV?d00001 diff --git a/src/main/resources/META-INF/services/javax.script.ScriptEngineFactory b/src/main/resources/META-INF/services/javax.script.ScriptEngineFactory new file mode 100644 index 0000000..5dd16c8 --- /dev/null +++ b/src/main/resources/META-INF/services/javax.script.ScriptEngineFactory @@ -0,0 +1,9 @@ +# list of script engine factories +# +# php => io.soluble.pjb.script.PhpScriptEngineFactory +# php-invocable => io.soluble.pjb.script.InvocablePhpScriptEngineFactory +# php-interactive => io.soluble.pjb.script.InteractivePhpScriptEngineFactory + +io.soluble.pjb.script.PhpScriptEngineFactory +io.soluble.pjb.script.InvocablePhpScriptEngineFactory +io.soluble.pjb.script.InteractivePhpScriptEngineFactory From bc1cb714735965f7da8707e0d9ddfdd7647f7830 Mon Sep 17 00:00:00 2001 From: "Christian P. Lerch" Date: Mon, 23 Jan 2017 09:42:56 +0100 Subject: [PATCH 14/25] add jacoco code coverage plugin --- build.gradle | 13 +++++++++++-- server/php/java/bridge/.cvsignore | 8 -------- 2 files changed, 11 insertions(+), 10 deletions(-) delete mode 100644 server/php/java/bridge/.cvsignore diff --git a/build.gradle b/build.gradle index ea18461..83968ff 100644 --- a/build.gradle +++ b/build.gradle @@ -4,6 +4,7 @@ version '6.2.11' ant.importBuild 'build.xml' apply plugin: 'java' +apply plugin: 'jacoco' compileJava.options.encoding = 'UTF-8' compileTestJava.options.encoding = 'UTF-8' @@ -16,8 +17,8 @@ repositories { } dependencies { - compileOnly group: 'javax.servlet', name: 'servlet-api', version: '2.5' - testCompile group: 'junit', name: 'junit', version: '3.8.2' // the project still uses this junit API + compileOnly('javax.servlet:servlet-api:2.5') + testCompile('junit:junit:3.8.2') // the project still uses this junit API } jar { @@ -36,3 +37,11 @@ compileJava { dependsOn genAll } +jacocoTestReport { + group = "Reporting" + reports { + xml.enabled true + csv.enabled false + html.destination "${buildDir}/reports/coverage" + } +} \ No newline at end of file diff --git a/server/php/java/bridge/.cvsignore b/server/php/java/bridge/.cvsignore deleted file mode 100644 index 9e70c09..0000000 --- a/server/php/java/bridge/.cvsignore +++ /dev/null @@ -1,8 +0,0 @@ -JavaProxy.java -LauncherWindows.java -LauncherWindows2.java -LauncherWindows3.java -LauncherUnix.java -JavaInc.java -LauncherWindows4.java -PhpDebuggerPHP.java \ No newline at end of file From bb4025bccb592c9a31d596192690b0ed02638d56 Mon Sep 17 00:00:00 2001 From: "Christian P. Lerch" Date: Mon, 23 Jan 2017 09:43:42 +0100 Subject: [PATCH 15/25] another round... --- .gitignore | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/.gitignore b/.gitignore index 9a2cd63..bada022 100644 --- a/.gitignore +++ b/.gitignore @@ -7,18 +7,19 @@ bin/ lib/ nbproject/ doc/API/ -server/META-INF/java/JavaProxy.php -server/META-INF/java/Java.inc -server/php/java/bridge/JavaProxy.java -server/php/java/bridge/LauncherWindows.java -server/php/java/bridge/LauncherWindows2.java -server/php/java/bridge/LauncherWindows3.java -server/php/java/bridge/LauncherUnix.java -server/php/java/bridge/JavaInc.java -server/php/java/bridge/LauncherWindows4.java -server/php/java/bridge/PhpDebuggerPHP.java +META-INF/java/JavaProxy.php +META-INF/java/Java.inc +bridge/JavaProxy.java +bridge/LauncherWindows.java +bridge/LauncherWindows2.java +bridge/LauncherWindows3.java +bridge/LauncherUnix.java +bridge/JavaInc.java +bridge/LauncherWindows4.java +bridge/PhpDebuggerPHP.java .classpath nbbuild.xml +manifest.mf *.iml *.lock *.log From 22c3cfa11d60385e5b624a8707991db8f17ea1ac Mon Sep 17 00:00:00 2001 From: "Christian P. Lerch" Date: Mon, 23 Jan 2017 09:52:21 +0100 Subject: [PATCH 16/25] moved from server/php/java to src/main/java/io/soluble/pjb --- server/php/java/test/AllTests.java | 32 ------------- server/php/java/test/SimpleCompileable.java | 33 ------------- .../io/soluble/pjb}/bridge/AppThreadPool.java | 6 +-- .../bridge/Base64EncodingOutputBuffer.java | 2 +- .../soluble/pjb}/bridge/ChainsawLogger.java | 8 ++-- .../soluble/pjb}/bridge/ConstructorCache.java | 2 +- .../soluble/pjb}/bridge/DefaultOptions.java | 7 +-- .../io/soluble/pjb}/bridge/FileLogger.java | 6 +-- .../io/soluble/pjb}/bridge/GlobalRef.java | 2 +- .../soluble/pjb}/bridge/HexOutputBuffer.java | 5 +- .../io/soluble/pjb}/bridge/IDocHandler.java | 2 +- .../pjb}/bridge/IJavaBridgeFactory.java | 9 ++-- .../java/io/soluble/pjb}/bridge/ILogger.java | 6 +-- .../java/io/soluble/pjb}/bridge/IManaged.java | 4 +- .../java/io/soluble/pjb}/bridge/ISession.java | 3 +- .../soluble/pjb}/bridge/ISocketFactory.java | 3 +- .../pjb}/bridge/IntegerComparator.java | 3 +- .../io/soluble/pjb}/bridge/Invocable.java | 4 +- .../io/soluble/pjb}/bridge/JavaBridge.java | 16 +++---- .../pjb}/bridge/JavaBridgeFactory.java | 8 ++-- .../JavaBridgeIllegalArgumentException.java | 4 +- .../JavaBridgeIllegalStateException.java | 4 +- .../soluble/pjb}/bridge/JavaBridgeRunner.java | 18 +++---- .../bridge/JavaBridgeSecurityManager.java | 6 +-- .../io/soluble/pjb}/bridge/MethodCache.java | 3 +- .../pjb}/bridge/NoSuchConstantException.java | 4 +- .../pjb}/bridge/NoSuchProcedureException.java | 4 +- .../pjb}/bridge/NotImplementedException.java | 4 +- .../java/io/soluble/pjb}/bridge/Options.java | 5 +- .../java/io/soluble/pjb}/bridge/Parser.java | 2 +- .../io/soluble/pjb}/bridge/ParserString.java | 2 +- .../io/soluble/pjb}/bridge/ParserTag.java | 4 +- .../java/io/soluble/pjb}/bridge/PhpArray.java | 2 +- .../soluble/pjb}/bridge/PhpExactNumber.java | 4 +- .../java/io/soluble/pjb}/bridge/PhpMap.java | 3 +- .../soluble/pjb}/bridge/PhpParserString.java | 2 +- .../io/soluble/pjb}/bridge/PhpProcedure.java | 2 +- .../io/soluble/pjb}/bridge/PhpString.java | 3 +- .../java/io/soluble/pjb}/bridge/Request.java | 4 +- .../java/io/soluble/pjb}/bridge/Response.java | 2 +- .../pjb}/bridge/SSLServerSocketHelper.java | 3 +- .../java/io/soluble/pjb}/bridge/Session.java | 2 +- .../soluble/pjb}/bridge/SessionFactory.java | 9 ++-- .../pjb}/bridge/SimpleLog4jLogger.java | 6 +-- .../soluble/pjb}/bridge/SimplePhpString.java | 4 +- .../io/soluble/pjb}/bridge/Standalone.java | 28 +++++------ .../io/soluble/pjb}/bridge/StringCache.java | 2 +- .../soluble/pjb}/bridge/TCPServerSocket.java | 3 +- .../io/soluble/pjb}/bridge/ThreadPool.java | 2 +- .../java/io/soluble/pjb}/bridge/Util.java | 48 +++++++++---------- .../pjb}/bridge/http/AbstractChannel.java | 2 +- .../pjb}/bridge/http/AbstractChannelName.java | 4 +- .../pjb}/bridge/http/ChunkedInputStream.java | 4 +- .../pjb}/bridge/http/ChunkedOutputStream.java | 4 +- .../io/soluble/pjb}/bridge/http/Context.java | 12 ++--- .../pjb}/bridge/http/ContextFactory.java | 16 +++---- .../pjb}/bridge/http/ContextRunner.java | 12 ++--- .../pjb}/bridge/http/ContextServer.java | 13 ++--- .../DefaultCharsetWriterOutputStream.java | 4 +- .../bridge/http/FCGIConnectException.java | 2 +- .../pjb}/bridge/http/FCGIConnection.java | 2 +- .../bridge/http/FCGIConnectionException.java | 4 +- .../bridge/http/FCGIConnectionFactory.java | 8 ++-- .../http/FCGIConnectionInputStream.java | 6 +-- .../http/FCGIConnectionOutputStream.java | 6 +-- .../pjb}/bridge/http/FCGIConnectionPool.java | 4 +- .../pjb}/bridge/http/FCGIIOFactory.java | 2 +- .../pjb}/bridge/http/FCGIInputStream.java | 4 +- .../pjb}/bridge/http/FCGIOutputStream.java | 6 +-- .../io/soluble/pjb}/bridge/http/FCGIUtil.java | 2 +- .../pjb}/bridge/http/HeaderParser.java | 4 +- .../soluble/pjb}/bridge/http/HttpRequest.java | 4 +- .../pjb}/bridge/http/HttpResponse.java | 6 +-- .../soluble/pjb}/bridge/http/HttpServer.java | 12 ++--- .../io/soluble/pjb}/bridge/http/IContext.java | 30 ++++++------ .../pjb}/bridge/http/IContextFactory.java | 12 ++--- .../bridge/http/IContextFactoryVisitor.java | 2 +- .../pjb}/bridge/http/IContextServer.java | 4 +- .../pjb}/bridge/http/IFCGIProcess.java | 2 +- .../pjb}/bridge/http/IFCGIProcessFactory.java | 2 +- .../soluble/pjb}/bridge/http/NPChannel.java | 2 +- .../pjb}/bridge/http/NPChannelFactory.java | 6 +-- .../pjb}/bridge/http/OutputStreamFactory.java | 2 +- .../http/RandomAccessFileInputStream.java | 2 +- .../http/RandomAccessFileOutputStream.java | 4 +- .../bridge/http/RemoteHttpContextFactory.java | 12 ++--- .../bridge/http/SimpleContextFactory.java | 10 ++-- .../pjb}/bridge/http/SimpleHeaderParser.java | 2 +- .../pjb}/bridge/http/SocketChannel.java | 2 +- .../bridge/http/SocketChannelFactory.java | 8 ++-- .../pjb}/bridge/http/SocketContextServer.java | 22 ++++----- .../pjb}/bridge/http/WriterOutputStream.java | 4 +- .../io/soluble/pjb}/bridge/http/package.html | 0 .../java/io/soluble/pjb}/bridge/package.html | 0 .../pjb}/script/AbstractPhpScriptContext.java | 8 ++-- .../pjb}/script/AbstractPhpScriptEngine.java | 20 ++++---- .../io/soluble/pjb}/script/CGIRunner.java | 16 +++---- .../soluble/pjb}/script/CloneableScript.java | 2 +- .../CloseableInteractivePhpScriptEngine.java | 2 +- .../CloseableInvocablePhpScriptEngine.java | 2 +- .../pjb}/script/CloseablePhpScriptEngine.java | 2 +- .../pjb}/script/CompiledPhpScript.java | 2 +- .../io/soluble/pjb}/script/Continuation.java | 12 ++--- .../io/soluble/pjb}/script/FCGIProcess.java | 6 +-- .../io/soluble/pjb}/script/FastCGIProxy.java | 30 ++++++------ .../io/soluble/pjb}/script/HttpProxy.java | 8 ++-- .../io/soluble/pjb}/script/IContinuation.java | 2 +- .../pjb}/script/IPhpScriptContext.java | 14 +++--- .../soluble/pjb}/script/IPhpScriptEngine.java | 2 +- .../io/soluble/pjb}/script/IScriptReader.java | 6 +-- .../InteractivePhpScriptContextFactory.java | 8 ++-- .../script/InteractivePhpScriptEngine.java | 10 ++-- .../InteractivePhpScriptEngineFactory.java | 2 +- .../pjb}/script/InvocablePhpScriptEngine.java | 11 +++-- .../InvocablePhpScriptEngineFactory.java | 2 +- .../pjb}/script/JavaBridgeScriptRunner.java | 12 ++--- .../pjb}/script/PhpCompiledScriptContext.java | 6 +-- .../PhpJavaBridgeRunnerScriptContext.java | 6 +-- .../soluble/pjb}/script/PhpScriptContext.java | 24 +++++----- .../script/PhpScriptContextDecorator.java | 10 ++-- .../pjb}/script/PhpScriptContextFactory.java | 10 ++-- .../soluble/pjb}/script/PhpScriptEngine.java | 6 +-- .../pjb}/script/PhpScriptEngineFactory.java | 4 +- .../pjb}/script/PhpScriptException.java | 2 +- .../soluble/pjb}/script/PhpScriptWriter.java | 2 +- .../pjb}/script/PhpSecureScriptContext.java | 2 +- .../io/soluble/pjb}/script/ResultProxy.java | 4 +- .../pjb}/script/ScriptContextDecorator.java | 2 +- .../io/soluble/pjb}/script/URLReader.java | 6 +-- .../java/io/soluble/pjb}/script/package.html | 0 .../pjb}/script/servlet/HttpFastCGIProxy.java | 22 ++++----- .../script/servlet/PhpHttpScriptContext.java | 38 +++++++-------- .../script/servlet/PhpScriptLogWriter.java | 8 ++-- .../soluble/pjb}/script/servlet/package.html | 0 .../pjb}/servlet/BufferedResponse.java | 2 +- .../pjb}/servlet/ContextLoaderListener.java | 46 +++++++++--------- .../io/soluble/pjb}/servlet/HttpContext.java | 12 ++--- .../pjb}/servlet/HttpContextRunner.java | 12 ++--- .../pjb}/servlet/HttpSessionFacade.java | 6 +-- .../java/io/soluble/pjb}/servlet/Logger.java | 4 +- .../io/soluble/pjb}/servlet/PhpCGIFilter.java | 4 +- .../soluble/pjb}/servlet/PhpJavaServlet.java | 14 +++--- .../soluble/pjb}/servlet/RemoteContext.java | 4 +- .../RemoteHttpServletContextFactory.java | 22 ++++----- .../servlet/RemoteHttpServletRequest.java | 2 +- .../servlet/RemoteHttpServletResponse.java | 2 +- .../servlet/RemoteServletContextFactory.java | 14 +++--- .../pjb}/servlet/ServletContextFactory.java | 10 ++-- .../io/soluble/pjb}/servlet/ServletUtil.java | 6 +-- .../servlet/SimpleHttpServletResponse.java | 2 +- .../servlet/SimpleServletContextFactory.java | 14 +++--- .../servlet/VoidInputHttpServletRequest.java | 2 +- .../pjb}/servlet/fastcgi/FCGIProcess.java | 6 +-- .../pjb}/servlet/fastcgi/FastCGIServlet.java | 30 ++++++------ .../soluble/pjb}/servlet/fastcgi/package.html | 0 .../java/io/soluble/pjb}/servlet/package.html | 0 156 files changed, 556 insertions(+), 610 deletions(-) delete mode 100644 server/php/java/test/AllTests.java delete mode 100644 server/php/java/test/SimpleCompileable.java rename {server/php/java => src/main/java/io/soluble/pjb}/bridge/AppThreadPool.java (98%) rename {server/php/java => src/main/java/io/soluble/pjb}/bridge/Base64EncodingOutputBuffer.java (99%) rename {server/php/java => src/main/java/io/soluble/pjb}/bridge/ChainsawLogger.java (94%) rename {server/php/java => src/main/java/io/soluble/pjb}/bridge/ConstructorCache.java (99%) rename {server/php/java => src/main/java/io/soluble/pjb}/bridge/DefaultOptions.java (96%) rename {server/php/java => src/main/java/io/soluble/pjb}/bridge/FileLogger.java (96%) rename {server/php/java => src/main/java/io/soluble/pjb}/bridge/GlobalRef.java (99%) rename {server/php/java => src/main/java/io/soluble/pjb}/bridge/HexOutputBuffer.java (98%) rename {server/php/java => src/main/java/io/soluble/pjb}/bridge/IDocHandler.java (98%) rename {server/php/java => src/main/java/io/soluble/pjb}/bridge/IJavaBridgeFactory.java (96%) rename {server/php/java => src/main/java/io/soluble/pjb}/bridge/ILogger.java (97%) rename {server/php/java => src/main/java/io/soluble/pjb}/bridge/IManaged.java (97%) rename {server/php/java => src/main/java/io/soluble/pjb}/bridge/ISession.java (99%) rename {server/php/java => src/main/java/io/soluble/pjb}/bridge/ISocketFactory.java (96%) rename {server/php/java => src/main/java/io/soluble/pjb}/bridge/IntegerComparator.java (95%) rename {server/php/java => src/main/java/io/soluble/pjb}/bridge/Invocable.java (96%) rename {server/php/java => src/main/java/io/soluble/pjb}/bridge/JavaBridge.java (99%) rename {server/php/java => src/main/java/io/soluble/pjb}/bridge/JavaBridgeFactory.java (95%) rename {server/php/java => src/main/java/io/soluble/pjb}/bridge/JavaBridgeIllegalArgumentException.java (96%) rename {server/php/java => src/main/java/io/soluble/pjb}/bridge/JavaBridgeIllegalStateException.java (96%) rename {server/php/java => src/main/java/io/soluble/pjb}/bridge/JavaBridgeRunner.java (97%) rename {server/php/java => src/main/java/io/soluble/pjb}/bridge/JavaBridgeSecurityManager.java (93%) rename {server/php/java => src/main/java/io/soluble/pjb}/bridge/MethodCache.java (98%) rename {server/php/java => src/main/java/io/soluble/pjb}/bridge/NoSuchConstantException.java (96%) rename {server/php/java => src/main/java/io/soluble/pjb}/bridge/NoSuchProcedureException.java (96%) rename {server/php/java => src/main/java/io/soluble/pjb}/bridge/NotImplementedException.java (96%) rename {server/php/java => src/main/java/io/soluble/pjb}/bridge/Options.java (98%) rename {server/php/java => src/main/java/io/soluble/pjb}/bridge/Parser.java (99%) rename {server/php/java => src/main/java/io/soluble/pjb}/bridge/ParserString.java (99%) rename {server/php/java => src/main/java/io/soluble/pjb}/bridge/ParserTag.java (95%) rename {server/php/java => src/main/java/io/soluble/pjb}/bridge/PhpArray.java (98%) rename {server/php/java => src/main/java/io/soluble/pjb}/bridge/PhpExactNumber.java (96%) rename {server/php/java => src/main/java/io/soluble/pjb}/bridge/PhpMap.java (99%) rename {server/php/java => src/main/java/io/soluble/pjb}/bridge/PhpParserString.java (98%) rename {server/php/java => src/main/java/io/soluble/pjb}/bridge/PhpProcedure.java (99%) rename {server/php/java => src/main/java/io/soluble/pjb}/bridge/PhpString.java (96%) rename {server/php/java => src/main/java/io/soluble/pjb}/bridge/Request.java (99%) rename {server/php/java => src/main/java/io/soluble/pjb}/bridge/Response.java (99%) rename {server/php/java => src/main/java/io/soluble/pjb}/bridge/SSLServerSocketHelper.java (98%) rename {server/php/java => src/main/java/io/soluble/pjb}/bridge/Session.java (99%) rename {server/php/java => src/main/java/io/soluble/pjb}/bridge/SessionFactory.java (96%) rename {server/php/java => src/main/java/io/soluble/pjb}/bridge/SimpleLog4jLogger.java (95%) rename {server/php/java => src/main/java/io/soluble/pjb}/bridge/SimplePhpString.java (95%) rename {server/php/java => src/main/java/io/soluble/pjb}/bridge/Standalone.java (90%) rename {server/php/java => src/main/java/io/soluble/pjb}/bridge/StringCache.java (99%) rename {server/php/java => src/main/java/io/soluble/pjb}/bridge/TCPServerSocket.java (98%) rename {server/php/java => src/main/java/io/soluble/pjb}/bridge/ThreadPool.java (99%) rename {server/php/java => src/main/java/io/soluble/pjb}/bridge/Util.java (96%) rename {server/php/java => src/main/java/io/soluble/pjb}/bridge/http/AbstractChannel.java (98%) rename {server/php/java => src/main/java/io/soluble/pjb}/bridge/http/AbstractChannelName.java (97%) rename {server/php/java => src/main/java/io/soluble/pjb}/bridge/http/ChunkedInputStream.java (98%) rename {server/php/java => src/main/java/io/soluble/pjb}/bridge/http/ChunkedOutputStream.java (97%) rename {server/php/java => src/main/java/io/soluble/pjb}/bridge/http/Context.java (97%) rename {server/php/java => src/main/java/io/soluble/pjb}/bridge/http/ContextFactory.java (97%) rename {server/php/java => src/main/java/io/soluble/pjb}/bridge/http/ContextRunner.java (94%) rename {server/php/java => src/main/java/io/soluble/pjb}/bridge/http/ContextServer.java (95%) rename {server/php/java => src/main/java/io/soluble/pjb}/bridge/http/DefaultCharsetWriterOutputStream.java (95%) rename {server/php/java => src/main/java/io/soluble/pjb}/bridge/http/FCGIConnectException.java (97%) rename {server/php/java => src/main/java/io/soluble/pjb}/bridge/http/FCGIConnection.java (98%) rename {server/php/java => src/main/java/io/soluble/pjb}/bridge/http/FCGIConnectionException.java (93%) rename {server/php/java => src/main/java/io/soluble/pjb}/bridge/http/FCGIConnectionFactory.java (97%) rename {server/php/java => src/main/java/io/soluble/pjb}/bridge/http/FCGIConnectionInputStream.java (94%) rename {server/php/java => src/main/java/io/soluble/pjb}/bridge/http/FCGIConnectionOutputStream.java (95%) rename {server/php/java => src/main/java/io/soluble/pjb}/bridge/http/FCGIConnectionPool.java (99%) rename {server/php/java => src/main/java/io/soluble/pjb}/bridge/http/FCGIIOFactory.java (98%) rename {server/php/java => src/main/java/io/soluble/pjb}/bridge/http/FCGIInputStream.java (98%) rename {server/php/java => src/main/java/io/soluble/pjb}/bridge/http/FCGIOutputStream.java (97%) rename {server/php/java => src/main/java/io/soluble/pjb}/bridge/http/FCGIUtil.java (99%) rename {server/php/java => src/main/java/io/soluble/pjb}/bridge/http/HeaderParser.java (98%) rename {server/php/java => src/main/java/io/soluble/pjb}/bridge/http/HttpRequest.java (98%) rename {server/php/java => src/main/java/io/soluble/pjb}/bridge/http/HttpResponse.java (97%) rename {server/php/java => src/main/java/io/soluble/pjb}/bridge/http/HttpServer.java (97%) rename {server/php/java => src/main/java/io/soluble/pjb}/bridge/http/IContext.java (83%) rename {server/php/java => src/main/java/io/soluble/pjb}/bridge/http/IContextFactory.java (93%) rename {server/php/java => src/main/java/io/soluble/pjb}/bridge/http/IContextFactoryVisitor.java (97%) rename {server/php/java => src/main/java/io/soluble/pjb}/bridge/http/IContextServer.java (96%) rename {server/php/java => src/main/java/io/soluble/pjb}/bridge/http/IFCGIProcess.java (98%) rename {server/php/java => src/main/java/io/soluble/pjb}/bridge/http/IFCGIProcessFactory.java (99%) rename {server/php/java => src/main/java/io/soluble/pjb}/bridge/http/NPChannel.java (98%) rename {server/php/java => src/main/java/io/soluble/pjb}/bridge/http/NPChannelFactory.java (98%) rename {server/php/java => src/main/java/io/soluble/pjb}/bridge/http/OutputStreamFactory.java (90%) rename {server/php/java => src/main/java/io/soluble/pjb}/bridge/http/RandomAccessFileInputStream.java (98%) rename {server/php/java => src/main/java/io/soluble/pjb}/bridge/http/RandomAccessFileOutputStream.java (96%) rename {server/php/java => src/main/java/io/soluble/pjb}/bridge/http/RemoteHttpContextFactory.java (94%) rename {server/php/java => src/main/java/io/soluble/pjb}/bridge/http/SimpleContextFactory.java (97%) rename {server/php/java => src/main/java/io/soluble/pjb}/bridge/http/SimpleHeaderParser.java (97%) rename {server/php/java => src/main/java/io/soluble/pjb}/bridge/http/SocketChannel.java (97%) rename {server/php/java => src/main/java/io/soluble/pjb}/bridge/http/SocketChannelFactory.java (97%) rename {server/php/java => src/main/java/io/soluble/pjb}/bridge/http/SocketContextServer.java (93%) rename {server/php/java => src/main/java/io/soluble/pjb}/bridge/http/WriterOutputStream.java (96%) rename {server/php/java => src/main/java/io/soluble/pjb}/bridge/http/package.html (100%) rename {server/php/java => src/main/java/io/soluble/pjb}/bridge/package.html (100%) rename {server/php/java => src/main/java/io/soluble/pjb}/script/AbstractPhpScriptContext.java (95%) rename {server/php/java => src/main/java/io/soluble/pjb}/script/AbstractPhpScriptEngine.java (97%) rename {server/php/java => src/main/java/io/soluble/pjb}/script/CGIRunner.java (92%) rename {server/php/java => src/main/java/io/soluble/pjb}/script/CloneableScript.java (97%) rename {server/php/java => src/main/java/io/soluble/pjb}/script/CloseableInteractivePhpScriptEngine.java (97%) rename {server/php/java => src/main/java/io/soluble/pjb}/script/CloseableInvocablePhpScriptEngine.java (97%) rename {server/php/java => src/main/java/io/soluble/pjb}/script/CloseablePhpScriptEngine.java (97%) rename {server/php/java => src/main/java/io/soluble/pjb}/script/CompiledPhpScript.java (98%) rename {server/php/java => src/main/java/io/soluble/pjb}/script/Continuation.java (95%) rename {server/php/java => src/main/java/io/soluble/pjb}/script/FCGIProcess.java (96%) rename {server/php/java => src/main/java/io/soluble/pjb}/script/FastCGIProxy.java (92%) rename {server/php/java => src/main/java/io/soluble/pjb}/script/HttpProxy.java (93%) rename {server/php/java => src/main/java/io/soluble/pjb}/script/IContinuation.java (97%) rename {server/php/java => src/main/java/io/soluble/pjb}/script/IPhpScriptContext.java (90%) rename {server/php/java => src/main/java/io/soluble/pjb}/script/IPhpScriptEngine.java (98%) rename {server/php/java => src/main/java/io/soluble/pjb}/script/IScriptReader.java (95%) rename {server/php/java => src/main/java/io/soluble/pjb}/script/InteractivePhpScriptContextFactory.java (92%) rename {server/php/java => src/main/java/io/soluble/pjb}/script/InteractivePhpScriptEngine.java (94%) rename {server/php/java => src/main/java/io/soluble/pjb}/script/InteractivePhpScriptEngineFactory.java (98%) rename {server/php/java => src/main/java/io/soluble/pjb}/script/InvocablePhpScriptEngine.java (98%) rename {server/php/java => src/main/java/io/soluble/pjb}/script/InvocablePhpScriptEngineFactory.java (98%) rename {server/php/java => src/main/java/io/soluble/pjb}/script/JavaBridgeScriptRunner.java (96%) rename {server/php/java => src/main/java/io/soluble/pjb}/script/PhpCompiledScriptContext.java (95%) rename {server/php/java => src/main/java/io/soluble/pjb}/script/PhpJavaBridgeRunnerScriptContext.java (94%) rename {server/php/java => src/main/java/io/soluble/pjb}/script/PhpScriptContext.java (90%) rename {server/php/java => src/main/java/io/soluble/pjb}/script/PhpScriptContextDecorator.java (97%) rename {server/php/java => src/main/java/io/soluble/pjb}/script/PhpScriptContextFactory.java (86%) rename {server/php/java => src/main/java/io/soluble/pjb}/script/PhpScriptEngine.java (98%) rename {server/php/java => src/main/java/io/soluble/pjb}/script/PhpScriptEngineFactory.java (98%) rename {server/php/java => src/main/java/io/soluble/pjb}/script/PhpScriptException.java (98%) rename {server/php/java => src/main/java/io/soluble/pjb}/script/PhpScriptWriter.java (98%) rename {server/php/java => src/main/java/io/soluble/pjb}/script/PhpSecureScriptContext.java (98%) rename {server/php/java => src/main/java/io/soluble/pjb}/script/ResultProxy.java (98%) rename {server/php/java => src/main/java/io/soluble/pjb}/script/ScriptContextDecorator.java (99%) rename {server/php/java => src/main/java/io/soluble/pjb}/script/URLReader.java (98%) rename {server/php/java => src/main/java/io/soluble/pjb}/script/package.html (100%) rename {server/php/java => src/main/java/io/soluble/pjb}/script/servlet/HttpFastCGIProxy.java (84%) rename {server/php/java => src/main/java/io/soluble/pjb}/script/servlet/PhpHttpScriptContext.java (90%) rename {server/php/java => src/main/java/io/soluble/pjb}/script/servlet/PhpScriptLogWriter.java (92%) rename {server/php/java => src/main/java/io/soluble/pjb}/script/servlet/package.html (100%) rename {server/php/java => src/main/java/io/soluble/pjb}/servlet/BufferedResponse.java (97%) rename {server/php/java => src/main/java/io/soluble/pjb}/servlet/ContextLoaderListener.java (94%) rename {server/php/java => src/main/java/io/soluble/pjb}/servlet/HttpContext.java (95%) rename {server/php/java => src/main/java/io/soluble/pjb}/servlet/HttpContextRunner.java (94%) rename {server/php/java => src/main/java/io/soluble/pjb}/servlet/HttpSessionFacade.java (98%) rename {server/php/java => src/main/java/io/soluble/pjb}/servlet/Logger.java (95%) rename {server/php/java => src/main/java/io/soluble/pjb}/servlet/PhpCGIFilter.java (98%) rename {server/php/java => src/main/java/io/soluble/pjb}/servlet/PhpJavaServlet.java (97%) rename {server/php/java => src/main/java/io/soluble/pjb}/servlet/RemoteContext.java (97%) rename {server/php/java => src/main/java/io/soluble/pjb}/servlet/RemoteHttpServletContextFactory.java (95%) rename {server/php/java => src/main/java/io/soluble/pjb}/servlet/RemoteHttpServletRequest.java (96%) rename {server/php/java => src/main/java/io/soluble/pjb}/servlet/RemoteHttpServletResponse.java (99%) rename {server/php/java => src/main/java/io/soluble/pjb}/servlet/RemoteServletContextFactory.java (92%) rename {server/php/java => src/main/java/io/soluble/pjb}/servlet/ServletContextFactory.java (92%) rename {server/php/java => src/main/java/io/soluble/pjb}/servlet/ServletUtil.java (98%) rename {server/php/java => src/main/java/io/soluble/pjb}/servlet/SimpleHttpServletResponse.java (98%) rename {server/php/java => src/main/java/io/soluble/pjb}/servlet/SimpleServletContextFactory.java (93%) rename {server/php/java => src/main/java/io/soluble/pjb}/servlet/VoidInputHttpServletRequest.java (96%) rename {server/php/java => src/main/java/io/soluble/pjb}/servlet/fastcgi/FCGIProcess.java (95%) rename {server/php/java => src/main/java/io/soluble/pjb}/servlet/fastcgi/FastCGIServlet.java (96%) rename {server/php/java => src/main/java/io/soluble/pjb}/servlet/fastcgi/package.html (100%) rename {server/php/java => src/main/java/io/soluble/pjb}/servlet/package.html (100%) diff --git a/server/php/java/test/AllTests.java b/server/php/java/test/AllTests.java deleted file mode 100644 index 2b9b72c..0000000 --- a/server/php/java/test/AllTests.java +++ /dev/null @@ -1,32 +0,0 @@ -package php.java.test; - -import junit.framework.Test; -import junit.framework.TestSuite; - -public class AllTests { - - public static Test suite() { - TestSuite suite = new TestSuite("Test for php.java.test"); - //$JUnit-BEGIN$ - suite.addTestSuite(TestException.class); - suite.addTestSuite(TestGetResult.class); - suite.addTestSuite(SimpleCompileable.class); - suite.addTestSuite(TestGetInterface.class); - suite.addTestSuite(TestScript.class); - suite.addTestSuite(TestInvocablePhpScriptEngine.class); - suite.addTestSuite(TestExceptionInvocable.class); - suite.addTestSuite(TestSetWriter.class); - suite.addTestSuite(TestInteractiveRequestAbort.class); - suite.addTestSuite(TestExceptionInvocable2.class); - suite.addTestSuite(TestSimpleInvocation.class); - suite.addTestSuite(TestInvocable.class); - suite.addTestSuite(TestURLReader.class); - suite.addTestSuite(TestCli.class); - suite.addTestSuite(TestPhpScriptEngine.class); - suite.addTestSuite(TestDiscovery.class); - suite.addTestSuite(TestBindings.class); - //$JUnit-END$ - return suite; - } - -} diff --git a/server/php/java/test/SimpleCompileable.java b/server/php/java/test/SimpleCompileable.java deleted file mode 100644 index 44e4139..0000000 --- a/server/php/java/test/SimpleCompileable.java +++ /dev/null @@ -1,33 +0,0 @@ -package php.java.test; - -import javax.script.Compilable; -import javax.script.CompiledScript; -import javax.script.ScriptEngineManager; - -import junit.framework.TestCase; - -public class SimpleCompileable extends TestCase { - - private CompiledScript script; - - public SimpleCompileable(String name) { - super(name); - } - - protected void setUp() throws Exception { - super.setUp(); - script = ((Compilable) (new ScriptEngineManager().getEngineByName("php"))).compile( - "get('hello').'!'; ?>"); - } - - protected void tearDown() throws Exception { - super.tearDown(); - } - - public void test() throws Exception { - script.getEngine().put("hello", "world!"); - script.eval(); - script.getEngine().put("hello", String.valueOf(this)); - script.eval(); - } -} diff --git a/server/php/java/bridge/AppThreadPool.java b/src/main/java/io/soluble/pjb/bridge/AppThreadPool.java similarity index 98% rename from server/php/java/bridge/AppThreadPool.java rename to src/main/java/io/soluble/pjb/bridge/AppThreadPool.java index 9688f1d..63a5ea2 100644 --- a/server/php/java/bridge/AppThreadPool.java +++ b/src/main/java/io/soluble/pjb/bridge/AppThreadPool.java @@ -1,7 +1,3 @@ -/*-*- mode: Java; tab-width:8 -*-*/ - -package php.java.bridge; - /* * Copyright (C) 2003-2007 Jost Boekemeier * @@ -24,6 +20,8 @@ * OTHER DEALINGS IN THE SOFTWARE. */ +package io.soluble.pjb.bridge; + /** * A specialized thread pool which automatically terminates all group threads at the end of the request. * When this thread pool is used, users cannot create long-running threads from PHP scripts diff --git a/server/php/java/bridge/Base64EncodingOutputBuffer.java b/src/main/java/io/soluble/pjb/bridge/Base64EncodingOutputBuffer.java similarity index 99% rename from server/php/java/bridge/Base64EncodingOutputBuffer.java rename to src/main/java/io/soluble/pjb/bridge/Base64EncodingOutputBuffer.java index 5f4d30e..27f5782 100644 --- a/server/php/java/bridge/Base64EncodingOutputBuffer.java +++ b/src/main/java/io/soluble/pjb/bridge/Base64EncodingOutputBuffer.java @@ -18,7 +18,7 @@ * limitations under the License. */ -package php.java.bridge; +package io.soluble.pjb.bridge; class Base64EncodingOutputBuffer extends HexOutputBuffer { static private final int LOOKUPLENGTH = 64; diff --git a/server/php/java/bridge/ChainsawLogger.java b/src/main/java/io/soluble/pjb/bridge/ChainsawLogger.java similarity index 94% rename from server/php/java/bridge/ChainsawLogger.java rename to src/main/java/io/soluble/pjb/bridge/ChainsawLogger.java index cd696e0..8f12fa6 100644 --- a/server/php/java/bridge/ChainsawLogger.java +++ b/src/main/java/io/soluble/pjb/bridge/ChainsawLogger.java @@ -22,7 +22,7 @@ * OTHER DEALINGS IN THE SOFTWARE. */ -package php.java.bridge; +package io.soluble.pjb.bridge; import java.lang.reflect.Constructor; import java.lang.reflect.Method; @@ -36,7 +36,7 @@ * Programming -> Chainsaw or via:

java -classpath * /usr/share/java/log4j.jar org.apache.log4j.chainsaw.Main
* and then start the PHP/Java Bridge:
- *
java -classpath /usr/share/java/log4j.jar:/usr/share/java/JavaBridge.jar php.java.bridge.JavaBridge
+ *
java -classpath /usr/share/java/log4j.jar:/usr/share/java/JavaBridge.jar io.soluble.pjb.bridge.JavaBridge
* or set the PHP .ini option
java.log_file=@127.0.0.1:4445
. */ public class ChainsawLogger extends SimpleLog4jLogger implements ILogger { @@ -90,7 +90,7 @@ protected void init() throws Exception { * Create a new chainsaw logger. * * @throws UnknownHostException If the host does not exist. - * @see php.java.bridge.Util#setDefaultLogger(ILogger) + * @see io.soluble.pjb.bridge.Util#setDefaultLogger(ILogger) */ protected ChainsawLogger() { super(); @@ -101,7 +101,7 @@ protected ChainsawLogger() { * * @return The chainsaw logger * @throws Exception If chainsaw isn't running. - * @see php.java.bridge.Util#setDefaultLogger(ILogger) + * @see io.soluble.pjb.bridge.Util#setDefaultLogger(ILogger) */ public static ChainsawLogger createChainsawLogger() throws Exception { ChainsawLogger logger = new ChainsawLogger(); diff --git a/server/php/java/bridge/ConstructorCache.java b/src/main/java/io/soluble/pjb/bridge/ConstructorCache.java similarity index 99% rename from server/php/java/bridge/ConstructorCache.java rename to src/main/java/io/soluble/pjb/bridge/ConstructorCache.java index 8cd14da..65671af 100644 --- a/server/php/java/bridge/ConstructorCache.java +++ b/src/main/java/io/soluble/pjb/bridge/ConstructorCache.java @@ -22,7 +22,7 @@ * OTHER DEALINGS IN THE SOFTWARE. */ -package php.java.bridge; +package io.soluble.pjb.bridge; import java.lang.reflect.Constructor; import java.util.HashMap; diff --git a/server/php/java/bridge/DefaultOptions.java b/src/main/java/io/soluble/pjb/bridge/DefaultOptions.java similarity index 96% rename from server/php/java/bridge/DefaultOptions.java rename to src/main/java/io/soluble/pjb/bridge/DefaultOptions.java index 9d97392..d33f741 100644 --- a/server/php/java/bridge/DefaultOptions.java +++ b/src/main/java/io/soluble/pjb/bridge/DefaultOptions.java @@ -1,8 +1,3 @@ -/*-*- mode: Java; tab-width:8 -*-*/ - -package php.java.bridge; - - /* * Copyright (C) 2003-2007 Jost Boekemeier * @@ -25,6 +20,8 @@ * OTHER DEALINGS IN THE SOFTWARE. */ +package io.soluble.pjb.bridge; + /** * Exposes the request options. There is one Options instance for each request, but certain options may change for each packet. * For example if a user calls java_set_file_encoding(enc), the new file encoding becomes available in the next packet. diff --git a/server/php/java/bridge/FileLogger.java b/src/main/java/io/soluble/pjb/bridge/FileLogger.java similarity index 96% rename from server/php/java/bridge/FileLogger.java rename to src/main/java/io/soluble/pjb/bridge/FileLogger.java index 129bab1..b26bd86 100644 --- a/server/php/java/bridge/FileLogger.java +++ b/src/main/java/io/soluble/pjb/bridge/FileLogger.java @@ -22,7 +22,7 @@ * OTHER DEALINGS IN THE SOFTWARE. */ -package php.java.bridge; +package io.soluble.pjb.bridge; import java.io.FileNotFoundException; import java.util.Date; @@ -86,7 +86,7 @@ public void log(String s) { } /* (non-Javadoc) - * @see php.java.bridge.ILogger#printStackTrace(java.lang.Throwable) + * @see io.soluble.pjb.bridge.ILogger#printStackTrace(java.lang.Throwable) */ public void printStackTrace(Throwable t) { if (!isInit) init(); @@ -101,7 +101,7 @@ public void printStackTrace(Throwable t) { } /* (non-Javadoc) - * @see php.java.bridge.ILogger#log(int, java.lang.String) + * @see io.soluble.pjb.bridge.ILogger#log(int, java.lang.String) */ public void log(int level, String msg) { StringBuffer b = new StringBuffer(now()); diff --git a/server/php/java/bridge/GlobalRef.java b/src/main/java/io/soluble/pjb/bridge/GlobalRef.java similarity index 99% rename from server/php/java/bridge/GlobalRef.java rename to src/main/java/io/soluble/pjb/bridge/GlobalRef.java index a4cdc85..229b01f 100644 --- a/server/php/java/bridge/GlobalRef.java +++ b/src/main/java/io/soluble/pjb/bridge/GlobalRef.java @@ -22,7 +22,7 @@ * OTHER DEALINGS IN THE SOFTWARE. */ -package php.java.bridge; +package io.soluble.pjb.bridge; /** * A global array of object references that the client keeps during diff --git a/server/php/java/bridge/HexOutputBuffer.java b/src/main/java/io/soluble/pjb/bridge/HexOutputBuffer.java similarity index 98% rename from server/php/java/bridge/HexOutputBuffer.java rename to src/main/java/io/soluble/pjb/bridge/HexOutputBuffer.java index d544d81..6ad8862 100644 --- a/server/php/java/bridge/HexOutputBuffer.java +++ b/src/main/java/io/soluble/pjb/bridge/HexOutputBuffer.java @@ -1,6 +1,3 @@ -/*-*- mode: Java; tab-width:8 -*-*/ -package php.java.bridge; - /* * Copyright (C) 2003-2007 Jost Boekemeier * @@ -23,6 +20,8 @@ * OTHER DEALINGS IN THE SOFTWARE. */ +package io.soluble.pjb.bridge; + import java.io.ByteArrayOutputStream; import java.io.IOException; diff --git a/server/php/java/bridge/IDocHandler.java b/src/main/java/io/soluble/pjb/bridge/IDocHandler.java similarity index 98% rename from server/php/java/bridge/IDocHandler.java rename to src/main/java/io/soluble/pjb/bridge/IDocHandler.java index a52dccf..20a4266 100644 --- a/server/php/java/bridge/IDocHandler.java +++ b/src/main/java/io/soluble/pjb/bridge/IDocHandler.java @@ -22,7 +22,7 @@ * OTHER DEALINGS IN THE SOFTWARE. */ -package php.java.bridge; +package io.soluble.pjb.bridge; import java.io.IOException; import java.io.InputStream; diff --git a/server/php/java/bridge/IJavaBridgeFactory.java b/src/main/java/io/soluble/pjb/bridge/IJavaBridgeFactory.java similarity index 96% rename from server/php/java/bridge/IJavaBridgeFactory.java rename to src/main/java/io/soluble/pjb/bridge/IJavaBridgeFactory.java index d44c74e..4b2cd43 100644 --- a/server/php/java/bridge/IJavaBridgeFactory.java +++ b/src/main/java/io/soluble/pjb/bridge/IJavaBridgeFactory.java @@ -1,8 +1,3 @@ -/*-*- mode: Java; tab-width:8 -*-*/ - -package php.java.bridge; - - /* * Copyright (C) 2003-2007 Jost Boekemeier * @@ -25,10 +20,12 @@ * OTHER DEALINGS IN THE SOFTWARE. */ +package io.soluble.pjb.bridge; + import java.io.IOException; import java.io.InputStream; -import php.java.bridge.http.IContext; +import io.soluble.pjb.bridge.http.IContext; /** * Create {@link JavaBridge}, {@link IContext} and {@link ISession} instances. diff --git a/server/php/java/bridge/ILogger.java b/src/main/java/io/soluble/pjb/bridge/ILogger.java similarity index 97% rename from server/php/java/bridge/ILogger.java rename to src/main/java/io/soluble/pjb/bridge/ILogger.java index a0f8840..d200f38 100644 --- a/server/php/java/bridge/ILogger.java +++ b/src/main/java/io/soluble/pjb/bridge/ILogger.java @@ -1,7 +1,3 @@ -/*-*- mode: Java; tab-width:8 -*-*/ - -package php.java.bridge; - /* * Copyright (C) 2003-2007 Jost Boekemeier * @@ -24,6 +20,8 @@ * OTHER DEALINGS IN THE SOFTWARE. */ +package io.soluble.pjb.bridge; + /** * The log interface for the PHP/Java Bridge log. * diff --git a/server/php/java/bridge/IManaged.java b/src/main/java/io/soluble/pjb/bridge/IManaged.java similarity index 97% rename from server/php/java/bridge/IManaged.java rename to src/main/java/io/soluble/pjb/bridge/IManaged.java index faa174e..ebc7dd4 100644 --- a/server/php/java/bridge/IManaged.java +++ b/src/main/java/io/soluble/pjb/bridge/IManaged.java @@ -1,6 +1,8 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.bridge; +package io.soluble.pjb.bridge; + +import io.soluble.pjb.bridge.*; /* diff --git a/server/php/java/bridge/ISession.java b/src/main/java/io/soluble/pjb/bridge/ISession.java similarity index 99% rename from server/php/java/bridge/ISession.java rename to src/main/java/io/soluble/pjb/bridge/ISession.java index 8f04d0f..8b114a8 100644 --- a/server/php/java/bridge/ISession.java +++ b/src/main/java/io/soluble/pjb/bridge/ISession.java @@ -1,6 +1,6 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.bridge; +package io.soluble.pjb.bridge; /* * Copyright (C) 2003-2007 Jost Boekemeier @@ -24,6 +24,7 @@ * OTHER DEALINGS IN THE SOFTWARE. */ +import io.soluble.pjb.bridge.*; import java.util.Map; /** diff --git a/server/php/java/bridge/ISocketFactory.java b/src/main/java/io/soluble/pjb/bridge/ISocketFactory.java similarity index 96% rename from server/php/java/bridge/ISocketFactory.java rename to src/main/java/io/soluble/pjb/bridge/ISocketFactory.java index 785a155..cb12a3a 100644 --- a/server/php/java/bridge/ISocketFactory.java +++ b/src/main/java/io/soluble/pjb/bridge/ISocketFactory.java @@ -1,6 +1,6 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.bridge; +package io.soluble.pjb.bridge; /* * Copyright (C) 2003-2007 Jost Boekemeier @@ -24,6 +24,7 @@ * OTHER DEALINGS IN THE SOFTWARE. */ +import io.soluble.pjb.bridge.*; import java.io.IOException; import java.net.Socket; diff --git a/server/php/java/bridge/IntegerComparator.java b/src/main/java/io/soluble/pjb/bridge/IntegerComparator.java similarity index 95% rename from server/php/java/bridge/IntegerComparator.java rename to src/main/java/io/soluble/pjb/bridge/IntegerComparator.java index 83f94a5..e8a2445 100644 --- a/server/php/java/bridge/IntegerComparator.java +++ b/src/main/java/io/soluble/pjb/bridge/IntegerComparator.java @@ -1,6 +1,6 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.bridge; +package io.soluble.pjb.bridge; /* * Copyright (C) 2003-2007 Jost Boekemeier @@ -24,6 +24,7 @@ * OTHER DEALINGS IN THE SOFTWARE. */ +import io.soluble.pjb.bridge.*; import java.util.Comparator; final class IntegerComparator implements Comparator { diff --git a/server/php/java/bridge/Invocable.java b/src/main/java/io/soluble/pjb/bridge/Invocable.java similarity index 96% rename from server/php/java/bridge/Invocable.java rename to src/main/java/io/soluble/pjb/bridge/Invocable.java index 9b64de4..60fbf6a 100644 --- a/server/php/java/bridge/Invocable.java +++ b/src/main/java/io/soluble/pjb/bridge/Invocable.java @@ -1,6 +1,8 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.bridge; +package io.soluble.pjb.bridge; + +import io.soluble.pjb.bridge.*; /* * Copyright (C) 2003-2007 Jost Boekemeier diff --git a/server/php/java/bridge/JavaBridge.java b/src/main/java/io/soluble/pjb/bridge/JavaBridge.java similarity index 99% rename from server/php/java/bridge/JavaBridge.java rename to src/main/java/io/soluble/pjb/bridge/JavaBridge.java index 46f0c2f..8f6ba42 100644 --- a/server/php/java/bridge/JavaBridge.java +++ b/src/main/java/io/soluble/pjb/bridge/JavaBridge.java @@ -1,6 +1,6 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.bridge; +package io.soluble.pjb.bridge; /* * Copyright (C) 2003-2007 Jost Boekemeier and others. @@ -56,8 +56,8 @@ * @author Sam Ruby (methods coerce and select) * @author Kai Londenberg * @author Jost Boekemeier - * @see php.java.bridge.Standalone - * @see php.java.servlet.PhpJavaServlet + * @see io.soluble.pjb.bridge.Standalone + * @see io.soluble.pjb.servlet.PhpJavaServlet */ public class JavaBridge implements Runnable { @@ -289,7 +289,7 @@ static void initLog(String socket, int logLevel, String s[]) { Util.logMessage("default logLevel : " + Util.logLevel); Util.logMessage("socket : " + socket); Util.logMessage("java.ext.dirs : " + System.getProperty("java.ext.dirs")); - Util.logMessage("php.java.bridge.base: " + Util.JAVABRIDGE_BASE); + Util.logMessage("io.soluble.pjb.bridge.base: " + Util.JAVABRIDGE_BASE); Util.logMessage("thread pool size : " + Util.THREAD_POOL_MAX_SIZE); } catch (Throwable t) { throw new RuntimeException(t); @@ -304,7 +304,7 @@ static void init(ISocketFactory socket, int logLevel, String s[]) { String policy = System.getProperty("java.security.policy"); String base = Util.JAVABRIDGE_BASE; if (policy != null && base != null) { - SecurityManager manager = new php.java.bridge.JavaBridgeSecurityManager(); + SecurityManager manager = new JavaBridgeSecurityManager(); System.setSecurityManager(manager); Util.logMessage(Util.EXTENSION_NAME + " policy base : " + base); Util.logMessage(Util.EXTENSION_NAME + " security policy : " + policy); @@ -347,7 +347,7 @@ static void init(ISocketFactory socket, int logLevel, String s[]) { * * @param s an array of [socketname, level, logFile] * Use Standalone.main() - * @see php.java.bridge.Standalone#main(String[]) + * @see io.soluble.pjb.bridge.Standalone#main(String[]) */ public static void main(String s[]) { Standalone.main(s); @@ -1503,7 +1503,7 @@ protected JavaBridge(IJavaBridgeFactory factory) { * * @param value - The value which must be an array or implement Map or Collection. * @return The PHP map. - * @see php.java.bridge.PhpMap + * @see io.soluble.pjb.bridge.PhpMap */ public PhpMap getPhpMap(Object value) { return PhpMap.getPhpMap(value, this); @@ -1672,7 +1672,7 @@ public Object getContext() { * @param timeout session timeout in seconds. If timeout is <= 0, the session will never expire * @return The session context. * @throws Exception - * @see php.java.bridge.ISession + * @see io.soluble.pjb.bridge.ISession */ public ISession getSession(String name, short clientIsNew, int timeout) throws Exception { if (timeout == 0) timeout = -1; diff --git a/server/php/java/bridge/JavaBridgeFactory.java b/src/main/java/io/soluble/pjb/bridge/JavaBridgeFactory.java similarity index 95% rename from server/php/java/bridge/JavaBridgeFactory.java rename to src/main/java/io/soluble/pjb/bridge/JavaBridgeFactory.java index e0fe441..e0f5225 100644 --- a/server/php/java/bridge/JavaBridgeFactory.java +++ b/src/main/java/io/soluble/pjb/bridge/JavaBridgeFactory.java @@ -1,11 +1,11 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.bridge; +package io.soluble.pjb.bridge; import java.io.IOException; import java.io.InputStream; -import php.java.bridge.http.IContext; +import io.soluble.pjb.bridge.http.IContext; /* * Copyright (C) 2003-2007 Jost Boekemeier @@ -35,9 +35,9 @@ * * @author jostb * @see php.java.bridge.Session - * @see php.java.bridge.http.Context + * @see io.soluble.pjb.bridge.http.Context * @see php.java.servlet.HttpContext - * @see php.java.bridge.http.ContextFactory + * @see io.soluble.pjb.bridge.http.ContextFactory * @see php.java.servlet.ServletContextFactory * @see php.java.script.PhpScriptContextFactory */ diff --git a/server/php/java/bridge/JavaBridgeIllegalArgumentException.java b/src/main/java/io/soluble/pjb/bridge/JavaBridgeIllegalArgumentException.java similarity index 96% rename from server/php/java/bridge/JavaBridgeIllegalArgumentException.java rename to src/main/java/io/soluble/pjb/bridge/JavaBridgeIllegalArgumentException.java index 6d1c244..3fd8a05 100644 --- a/server/php/java/bridge/JavaBridgeIllegalArgumentException.java +++ b/src/main/java/io/soluble/pjb/bridge/JavaBridgeIllegalArgumentException.java @@ -1,6 +1,8 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.bridge; +package io.soluble.pjb.bridge; + +import io.soluble.pjb.bridge.*; /* * Copyright (C) 2003-2007 Jost Boekemeier diff --git a/server/php/java/bridge/JavaBridgeIllegalStateException.java b/src/main/java/io/soluble/pjb/bridge/JavaBridgeIllegalStateException.java similarity index 96% rename from server/php/java/bridge/JavaBridgeIllegalStateException.java rename to src/main/java/io/soluble/pjb/bridge/JavaBridgeIllegalStateException.java index c0807b6..7407c1a 100644 --- a/server/php/java/bridge/JavaBridgeIllegalStateException.java +++ b/src/main/java/io/soluble/pjb/bridge/JavaBridgeIllegalStateException.java @@ -1,6 +1,8 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.bridge; +package io.soluble.pjb.bridge; + +import io.soluble.pjb.bridge.*; /* * Copyright (C) 2003-2007 Jost Boekemeier diff --git a/server/php/java/bridge/JavaBridgeRunner.java b/src/main/java/io/soluble/pjb/bridge/JavaBridgeRunner.java similarity index 97% rename from server/php/java/bridge/JavaBridgeRunner.java rename to src/main/java/io/soluble/pjb/bridge/JavaBridgeRunner.java index 36168d8..d724f4d 100644 --- a/server/php/java/bridge/JavaBridgeRunner.java +++ b/src/main/java/io/soluble/pjb/bridge/JavaBridgeRunner.java @@ -1,6 +1,6 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.bridge; +package io.soluble.pjb.bridge; /* * Copyright (C) 2003-2007 Jost Boekemeier @@ -38,14 +38,14 @@ import java.util.Iterator; import java.util.List; -import php.java.bridge.http.ChunkedInputStream; -import php.java.bridge.http.ChunkedOutputStream; -import php.java.bridge.http.ContextFactory; -import php.java.bridge.http.ContextServer; -import php.java.bridge.http.HttpRequest; -import php.java.bridge.http.HttpResponse; -import php.java.bridge.http.HttpServer; -import php.java.bridge.http.RemoteHttpContextFactory; +import io.soluble.pjb.bridge.http.ChunkedInputStream; +import io.soluble.pjb.bridge.http.ChunkedOutputStream; +import io.soluble.pjb.bridge.http.ContextFactory; +import io.soluble.pjb.bridge.http.ContextServer; +import io.soluble.pjb.bridge.http.HttpRequest; +import io.soluble.pjb.bridge.http.HttpResponse; +import io.soluble.pjb.bridge.http.HttpServer; +import io.soluble.pjb.bridge.http.RemoteHttpContextFactory; /** * This is the main entry point for the PHP/Java Bridge library. diff --git a/server/php/java/bridge/JavaBridgeSecurityManager.java b/src/main/java/io/soluble/pjb/bridge/JavaBridgeSecurityManager.java similarity index 93% rename from server/php/java/bridge/JavaBridgeSecurityManager.java rename to src/main/java/io/soluble/pjb/bridge/JavaBridgeSecurityManager.java index 644ab5d..5ed27a7 100644 --- a/server/php/java/bridge/JavaBridgeSecurityManager.java +++ b/src/main/java/io/soluble/pjb/bridge/JavaBridgeSecurityManager.java @@ -1,6 +1,6 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.bridge; +package io.soluble.pjb.bridge; /* * Copyright (C) 2003-2007 Jost Boekemeier @@ -30,11 +30,11 @@ * A custom security manager for the PHP/Java Bridge. *

* Example:
- * PHP_HOME=/usr/lib/php/modules java -Dphp.java.bridge.base=${PHP_HOME} -Djava.security.policy=${PHP_HOME}/javabridge.policy -jar ${PHP_HOME}/JavaBridge.jar + * PHP_HOME=/usr/lib/php/modules java -Dio.soluble.pjb.bridge.base=${PHP_HOME} -Djava.security.policy=${PHP_HOME}/javabridge.policy -jar ${PHP_HOME}/JavaBridge.jar *
* Example options for eclipse:
* - * -Dphp.java.bridge.base=${workspace_loc}${project_path}/
+ * -Dio.soluble.pjb.bridge.base=${workspace_loc}${project_path}/
* -Djava.security.policy=${workspace_loc}${project_path}/javabridge.policy *

* diff --git a/server/php/java/bridge/MethodCache.java b/src/main/java/io/soluble/pjb/bridge/MethodCache.java similarity index 98% rename from server/php/java/bridge/MethodCache.java rename to src/main/java/io/soluble/pjb/bridge/MethodCache.java index 33a2fa4..f664594 100644 --- a/server/php/java/bridge/MethodCache.java +++ b/src/main/java/io/soluble/pjb/bridge/MethodCache.java @@ -1,6 +1,6 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.bridge; +package io.soluble.pjb.bridge; /* * Copyright (C) 2003-2007 Jost Boekemeier @@ -24,6 +24,7 @@ * OTHER DEALINGS IN THE SOFTWARE. */ +import io.soluble.pjb.bridge.*; import java.lang.reflect.Method; import java.util.HashMap; import java.util.Map; diff --git a/server/php/java/bridge/NoSuchConstantException.java b/src/main/java/io/soluble/pjb/bridge/NoSuchConstantException.java similarity index 96% rename from server/php/java/bridge/NoSuchConstantException.java rename to src/main/java/io/soluble/pjb/bridge/NoSuchConstantException.java index 1133350..08670e9 100644 --- a/server/php/java/bridge/NoSuchConstantException.java +++ b/src/main/java/io/soluble/pjb/bridge/NoSuchConstantException.java @@ -1,6 +1,8 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.bridge; +package io.soluble.pjb.bridge; + +import io.soluble.pjb.bridge.*; /* * Copyright (C) 2003-2007 Jost Boekemeier and others. diff --git a/server/php/java/bridge/NoSuchProcedureException.java b/src/main/java/io/soluble/pjb/bridge/NoSuchProcedureException.java similarity index 96% rename from server/php/java/bridge/NoSuchProcedureException.java rename to src/main/java/io/soluble/pjb/bridge/NoSuchProcedureException.java index f35b44b..c72ac40 100644 --- a/server/php/java/bridge/NoSuchProcedureException.java +++ b/src/main/java/io/soluble/pjb/bridge/NoSuchProcedureException.java @@ -1,6 +1,8 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.bridge; +package io.soluble.pjb.bridge; + +import io.soluble.pjb.bridge.*; /* * Copyright (C) 2003-2007 Jost Boekemeier and others. diff --git a/server/php/java/bridge/NotImplementedException.java b/src/main/java/io/soluble/pjb/bridge/NotImplementedException.java similarity index 96% rename from server/php/java/bridge/NotImplementedException.java rename to src/main/java/io/soluble/pjb/bridge/NotImplementedException.java index 4482a2c..faced7a 100644 --- a/server/php/java/bridge/NotImplementedException.java +++ b/src/main/java/io/soluble/pjb/bridge/NotImplementedException.java @@ -1,5 +1,7 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.bridge; +package io.soluble.pjb.bridge; + +import io.soluble.pjb.bridge.*; /* * Copyright (C) 2003-2007 Jost Boekemeier diff --git a/server/php/java/bridge/Options.java b/src/main/java/io/soluble/pjb/bridge/Options.java similarity index 98% rename from server/php/java/bridge/Options.java rename to src/main/java/io/soluble/pjb/bridge/Options.java index 1b87930..16ba91b 100644 --- a/server/php/java/bridge/Options.java +++ b/src/main/java/io/soluble/pjb/bridge/Options.java @@ -1,7 +1,4 @@ -/*-*- mode: Java; tab-width:8 -*-*/ - -package php.java.bridge; - +package io.soluble.pjb.bridge; /* * Copyright (C) 2003-2007 Jost Boekemeier diff --git a/server/php/java/bridge/Parser.java b/src/main/java/io/soluble/pjb/bridge/Parser.java similarity index 99% rename from server/php/java/bridge/Parser.java rename to src/main/java/io/soluble/pjb/bridge/Parser.java index d307db2..51f6335 100644 --- a/server/php/java/bridge/Parser.java +++ b/src/main/java/io/soluble/pjb/bridge/Parser.java @@ -1,6 +1,6 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.bridge; +package io.soluble.pjb.bridge; /* * Copyright (C) 2003-2007 Jost Boekemeier diff --git a/server/php/java/bridge/ParserString.java b/src/main/java/io/soluble/pjb/bridge/ParserString.java similarity index 99% rename from server/php/java/bridge/ParserString.java rename to src/main/java/io/soluble/pjb/bridge/ParserString.java index dcf9f70..b39b85f 100644 --- a/server/php/java/bridge/ParserString.java +++ b/src/main/java/io/soluble/pjb/bridge/ParserString.java @@ -1,6 +1,6 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.bridge; +package io.soluble.pjb.bridge; /* * Copyright (C) 2003-2007 Jost Boekemeier diff --git a/server/php/java/bridge/ParserTag.java b/src/main/java/io/soluble/pjb/bridge/ParserTag.java similarity index 95% rename from server/php/java/bridge/ParserTag.java rename to src/main/java/io/soluble/pjb/bridge/ParserTag.java index bc50fcc..f2f06ea 100644 --- a/server/php/java/bridge/ParserTag.java +++ b/src/main/java/io/soluble/pjb/bridge/ParserTag.java @@ -1,6 +1,8 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.bridge; +package io.soluble.pjb.bridge; + +import io.soluble.pjb.bridge.*; /* * Copyright (C) 2003-2007 Jost Boekemeier diff --git a/server/php/java/bridge/PhpArray.java b/src/main/java/io/soluble/pjb/bridge/PhpArray.java similarity index 98% rename from server/php/java/bridge/PhpArray.java rename to src/main/java/io/soluble/pjb/bridge/PhpArray.java index fe71272..f2d68ab 100644 --- a/server/php/java/bridge/PhpArray.java +++ b/src/main/java/io/soluble/pjb/bridge/PhpArray.java @@ -1,6 +1,6 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.bridge; +package io.soluble.pjb.bridge; /* * Copyright (C) 2003-2007 Jost Boekemeier diff --git a/server/php/java/bridge/PhpExactNumber.java b/src/main/java/io/soluble/pjb/bridge/PhpExactNumber.java similarity index 96% rename from server/php/java/bridge/PhpExactNumber.java rename to src/main/java/io/soluble/pjb/bridge/PhpExactNumber.java index 8683795..e43bf7b 100644 --- a/server/php/java/bridge/PhpExactNumber.java +++ b/src/main/java/io/soluble/pjb/bridge/PhpExactNumber.java @@ -1,6 +1,8 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.bridge; +package io.soluble.pjb.bridge; + +import io.soluble.pjb.bridge.*; /* * Copyright (C) 2003-2007 Jost Boekemeier diff --git a/server/php/java/bridge/PhpMap.java b/src/main/java/io/soluble/pjb/bridge/PhpMap.java similarity index 99% rename from server/php/java/bridge/PhpMap.java rename to src/main/java/io/soluble/pjb/bridge/PhpMap.java index e78566e..2168746 100644 --- a/server/php/java/bridge/PhpMap.java +++ b/src/main/java/io/soluble/pjb/bridge/PhpMap.java @@ -1,6 +1,6 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.bridge; +package io.soluble.pjb.bridge; /* * Copyright (C) 2003-2007 Jost Boekemeier @@ -24,6 +24,7 @@ * OTHER DEALINGS IN THE SOFTWARE. */ +import io.soluble.pjb.bridge.*; import java.lang.reflect.Array; import java.util.Collection; import java.util.Iterator; diff --git a/server/php/java/bridge/PhpParserString.java b/src/main/java/io/soluble/pjb/bridge/PhpParserString.java similarity index 98% rename from server/php/java/bridge/PhpParserString.java rename to src/main/java/io/soluble/pjb/bridge/PhpParserString.java index 3ce47aa..7f0a6ca 100644 --- a/server/php/java/bridge/PhpParserString.java +++ b/src/main/java/io/soluble/pjb/bridge/PhpParserString.java @@ -1,6 +1,6 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.bridge; +package io.soluble.pjb.bridge; /* * Copyright (C) 2003-2007 Jost Boekemeier diff --git a/server/php/java/bridge/PhpProcedure.java b/src/main/java/io/soluble/pjb/bridge/PhpProcedure.java similarity index 99% rename from server/php/java/bridge/PhpProcedure.java rename to src/main/java/io/soluble/pjb/bridge/PhpProcedure.java index bb4bdd2..c66303b 100644 --- a/server/php/java/bridge/PhpProcedure.java +++ b/src/main/java/io/soluble/pjb/bridge/PhpProcedure.java @@ -1,6 +1,6 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.bridge; +package io.soluble.pjb.bridge; /* * Copyright (C) 2003-2007 Jost Boekemeier diff --git a/server/php/java/bridge/PhpString.java b/src/main/java/io/soluble/pjb/bridge/PhpString.java similarity index 96% rename from server/php/java/bridge/PhpString.java rename to src/main/java/io/soluble/pjb/bridge/PhpString.java index 7867a52..24330a5 100644 --- a/server/php/java/bridge/PhpString.java +++ b/src/main/java/io/soluble/pjb/bridge/PhpString.java @@ -1,6 +1,5 @@ -/*-*- mode: Java; tab-width:8 -*-*/ +package io.soluble.pjb.bridge; -package php.java.bridge; /* * Copyright (C) 2003-2007 Jost Boekemeier diff --git a/server/php/java/bridge/Request.java b/src/main/java/io/soluble/pjb/bridge/Request.java similarity index 99% rename from server/php/java/bridge/Request.java rename to src/main/java/io/soluble/pjb/bridge/Request.java index a356807..f8ac0d9 100644 --- a/server/php/java/bridge/Request.java +++ b/src/main/java/io/soluble/pjb/bridge/Request.java @@ -1,6 +1,4 @@ -/*-*- mode: Java; tab-width:8 -*-*/ - -package php.java.bridge; +package io.soluble.pjb.bridge; /* * Copyright (C) 2003-2007 Jost Boekemeier diff --git a/server/php/java/bridge/Response.java b/src/main/java/io/soluble/pjb/bridge/Response.java similarity index 99% rename from server/php/java/bridge/Response.java rename to src/main/java/io/soluble/pjb/bridge/Response.java index 00c1c77..1ff345d 100644 --- a/server/php/java/bridge/Response.java +++ b/src/main/java/io/soluble/pjb/bridge/Response.java @@ -1,6 +1,6 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.bridge; +package io.soluble.pjb.bridge; /* * Copyright (C) 2003-2007 Jost Boekemeier diff --git a/server/php/java/bridge/SSLServerSocketHelper.java b/src/main/java/io/soluble/pjb/bridge/SSLServerSocketHelper.java similarity index 98% rename from server/php/java/bridge/SSLServerSocketHelper.java rename to src/main/java/io/soluble/pjb/bridge/SSLServerSocketHelper.java index 6e9d8de..b6b06c9 100644 --- a/server/php/java/bridge/SSLServerSocketHelper.java +++ b/src/main/java/io/soluble/pjb/bridge/SSLServerSocketHelper.java @@ -1,6 +1,6 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.bridge; +package io.soluble.pjb.bridge; /* * Copyright (C) 2003-2007 Jost Boekemeier @@ -24,6 +24,7 @@ * OTHER DEALINGS IN THE SOFTWARE. */ +import io.soluble.pjb.bridge.*; import java.io.IOException; import java.io.InputStream; import java.net.InetAddress; diff --git a/server/php/java/bridge/Session.java b/src/main/java/io/soluble/pjb/bridge/Session.java similarity index 99% rename from server/php/java/bridge/Session.java rename to src/main/java/io/soluble/pjb/bridge/Session.java index 43166c5..6e8a08f 100644 --- a/server/php/java/bridge/Session.java +++ b/src/main/java/io/soluble/pjb/bridge/Session.java @@ -1,6 +1,6 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.bridge; +package io.soluble.pjb.bridge; /* * Copyright (C) 2003-2007 Jost Boekemeier diff --git a/server/php/java/bridge/SessionFactory.java b/src/main/java/io/soluble/pjb/bridge/SessionFactory.java similarity index 96% rename from server/php/java/bridge/SessionFactory.java rename to src/main/java/io/soluble/pjb/bridge/SessionFactory.java index d76b46d..10b2651 100644 --- a/server/php/java/bridge/SessionFactory.java +++ b/src/main/java/io/soluble/pjb/bridge/SessionFactory.java @@ -1,6 +1,6 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.bridge; +package io.soluble.pjb.bridge; /* * Copyright (C) 2003-2007 Jost Boekemeier @@ -30,17 +30,16 @@ import java.util.LinkedList; import java.util.List; -import php.java.bridge.Util.Thread; -import php.java.bridge.http.IContext; +import io.soluble.pjb.bridge.http.IContext; /** * Create new session instances * * @author jostb * @see php.java.bridge.Session - * @see php.java.bridge.http.Context + * @see io.soluble.pjb.bridge.http.Context * @see php.java.servlet.HttpContext - * @see php.java.bridge.http.ContextFactory + * @see io.soluble.pjb.bridge.http.ContextFactory * @see php.java.servlet.ServletContextFactory * @see php.java.script.PhpScriptContextFactory */ diff --git a/server/php/java/bridge/SimpleLog4jLogger.java b/src/main/java/io/soluble/pjb/bridge/SimpleLog4jLogger.java similarity index 95% rename from server/php/java/bridge/SimpleLog4jLogger.java rename to src/main/java/io/soluble/pjb/bridge/SimpleLog4jLogger.java index 30c85fc..87aa66a 100644 --- a/server/php/java/bridge/SimpleLog4jLogger.java +++ b/src/main/java/io/soluble/pjb/bridge/SimpleLog4jLogger.java @@ -1,6 +1,6 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.bridge; +package io.soluble.pjb.bridge; /* * Copyright (C) 2003-2007 Jost Boekemeier @@ -40,7 +40,7 @@ protected class LoggerProxy { protected LoggerProxy() throws Exception { Class c = Class.forName("org.apache.log4j.Logger"); Method m = c.getMethod("getLogger", new Class[]{String.class}); - logger = m.invoke(c, new Object[]{"php.java.bridge.JavaBridge"}); + logger = m.invoke(c, new Object[]{"io.soluble.pjb.bridge.JavaBridge"}); c = priority = Class.forName("org.apache.log4j.Priority"); fatal = c.getField("FATAL").get(c); error = c.getField("ERROR").get(c); @@ -85,7 +85,7 @@ public synchronized void log(int level, String msg) throws Exception { /** * Create a new log4j logger using the default appender. * - * @see php.java.bridge.Util#setDefaultLogger(ILogger) + * @see io.soluble.pjb.bridge.Util#setDefaultLogger(ILogger) */ protected SimpleLog4jLogger() { } diff --git a/server/php/java/bridge/SimplePhpString.java b/src/main/java/io/soluble/pjb/bridge/SimplePhpString.java similarity index 95% rename from server/php/java/bridge/SimplePhpString.java rename to src/main/java/io/soluble/pjb/bridge/SimplePhpString.java index c0ff2e7..7677234 100644 --- a/server/php/java/bridge/SimplePhpString.java +++ b/src/main/java/io/soluble/pjb/bridge/SimplePhpString.java @@ -1,6 +1,8 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.bridge; +package io.soluble.pjb.bridge; + +import io.soluble.pjb.bridge.*; /* * Copyright (C) 2003-2007 Jost Boekemeier diff --git a/server/php/java/bridge/Standalone.java b/src/main/java/io/soluble/pjb/bridge/Standalone.java similarity index 90% rename from server/php/java/bridge/Standalone.java rename to src/main/java/io/soluble/pjb/bridge/Standalone.java index 02e6bc3..df20174 100644 --- a/server/php/java/bridge/Standalone.java +++ b/src/main/java/io/soluble/pjb/bridge/Standalone.java @@ -1,5 +1,5 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.bridge; +package io.soluble.pjb.bridge; /* * Copyright (C) 2003-2007 Jost Boekemeier @@ -93,8 +93,8 @@ protected void javaUsage() { System.err.println("The certificate for example 3 can be created with e.g.: jdk1.6.0/bin/keytool -keystore mySrvKeystore -genkey -keyalg RSA"); System.err.println(""); System.err.println("Influential system properties: threads, daemon, php_exec, default_log_file, default_log_level, base."); - System.err.println("Example: java -Djava.awt.headless=\"true\" -Dphp.java.bridge.threads=50 -Dphp.java.bridge.base=/usr/lib/php/modules -Dphp.java.bridge.php_exec=/usr/local/bin/php-cgi -Dphp.java.bridge.default_log_file= -Dphp.java.bridge.default_log_level=5 -jar JavaBridge.jar"); - System.err.println("Example: java -Dphp.java.bridge.daemon=\"true\" -jar JavaBridge.jar"); + System.err.println("Example: java -Djava.awt.headless=\"true\" -Dio.soluble.pjb.bridge.threads=50 -Dio.soluble.pjb.bridge.base=/usr/lib/php/modules -Dio.soluble.pjb.bridge.php_exec=/usr/local/bin/php-cgi -Dio.soluble.pjb.bridge.default_log_file= -Dio.soluble.pjb.bridge.default_log_level=5 -jar JavaBridge.jar"); + System.err.println("Example: java -Dio.soluble.pjb.bridge.daemon=\"true\" -jar JavaBridge.jar"); } protected void usage() { @@ -183,7 +183,7 @@ protected void init(String s[]) { ISocketFactory socket = bind(logLevel, sockname); - if ("true".equals(System.getProperty("php.java.bridge.test.startup"))) System.exit(0); + if ("true".equals(System.getProperty("io.soluble.pjb.bridge.test.startup"))) System.exit(0); JavaBridge.initLog(String.valueOf(socket), logLevel, s); JavaBridge.init(socket, logLevel, s); } catch (Exception e) { @@ -209,10 +209,10 @@ private static boolean checkServlet(int logLevel, String sockname, String[] s) t if (sockname == null) return false; if (sockname.startsWith("SERVLET_LOCAL:") || sockname.startsWith("HTTP_LOCAL:") || sockname.startsWith("HTTPS_LOCAL:")) { Util.JAVABRIDGE_PROMISCUOUS = false; - System.setProperty("php.java.bridge.promiscuous", "false"); + System.setProperty("io.soluble.pjb.bridge.promiscuous", "false"); } else if (sockname.startsWith("SERVLET:") || sockname.startsWith("HTTP:") || sockname.startsWith("HTTPS:")) { Util.JAVABRIDGE_PROMISCUOUS = true; - System.setProperty("php.java.bridge.promiscuous", "true"); + System.setProperty("io.soluble.pjb.bridge.promiscuous", "true"); } else return false; @@ -225,7 +225,7 @@ private static boolean checkServlet(int logLevel, String sockname, String[] s) t Class runner = JavaBridgeRunner.class; JavaBridgeRunner r; try { - runner = Util.classForName("php.java.script.JavaBridgeScriptRunner"); + runner = Util.classForName("io.soluble.pjb.script.JavaBridgeScriptRunner"); Method m = runner.getMethod("getRequiredInstance", new Class[]{String.class, Boolean.TYPE}); r = (JavaBridgeRunner) m.invoke(runner, new Object[]{serverPort, new Boolean(isSecure)}); } catch (Throwable e) { @@ -256,18 +256,18 @@ private static final boolean checkGNUVM() { * @param s an array of [socketname, level, logFile] */ public static void main(String s[]) { - // check for -Dphp.java.bridge.daemon=true - if (!(System.getProperty("php.java.bridge.daemon", "false").equals("false"))) { + // check for -Dio.soluble.pjb.bridge.daemon=true + if (!(System.getProperty("io.soluble.pjb.bridge.daemon", "false").equals("false"))) { final String[] args = new String[s.length + 8]; - args[0] = System.getProperty("php.java.bridge.daemon"); + args[0] = System.getProperty("io.soluble.pjb.bridge.daemon"); if ("true".equals(args[0])) args[0] = "java"; args[1] = "-Djava.library.path=" + System.getProperty("java.library.path", "."); args[2] = "-Djava.ext.dirs=" + System.getProperty("java.ext.dirs", "."); args[3] = "-Djava.awt.headless=" + System.getProperty("java.awt.headless", "true"); - args[4] = "-Dphp.java.bridge.asDaemon=true"; + args[4] = "-Dio.soluble.pjb.bridge.asDaemon=true"; args[5] = "-classpath"; args[6] = System.getProperty("java.class.path", "."); - args[7] = "php.java.bridge.Standalone"; + args[7] = "io.soluble.pjb.bridge.Standalone"; for (int j = 0; j < s.length; j++) { args[j + 8] = s[j]; @@ -312,9 +312,9 @@ public void run() { String javaExec = sunJavaInstalled ? "/usr/java/default/bin/java" : "java"; if (s.length == 0 && - (System.getProperty("php.java.bridge.exec_sun_vm", "true").equals("true")) && + (System.getProperty("io.soluble.pjb.bridge.exec_sun_vm", "true").equals("true")) && ((sunJavaInstalled && checkGNUVM()) || isExecutableJavaBridgeJar)) { - Process p = Runtime.getRuntime().exec(new String[]{javaExec, "-Dphp.java.bridge.exec_sun_vm=false", "-classpath", cp, "php.java.bridge.Standalone"}, null, wd); + Process p = Runtime.getRuntime().exec(new String[]{javaExec, "-Dio.soluble.pjb.bridge.exec_sun_vm=false", "-classpath", cp, "io.soluble.pjb.bridge.Standalone"}, null, wd); if (p != null) System.exit(p.waitFor()); } } catch (Throwable t) {/*ignore*/} diff --git a/server/php/java/bridge/StringCache.java b/src/main/java/io/soluble/pjb/bridge/StringCache.java similarity index 99% rename from server/php/java/bridge/StringCache.java rename to src/main/java/io/soluble/pjb/bridge/StringCache.java index 564d9c3..c1669e0 100644 --- a/server/php/java/bridge/StringCache.java +++ b/src/main/java/io/soluble/pjb/bridge/StringCache.java @@ -1,6 +1,6 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.bridge; +package io.soluble.pjb.bridge; /* * Copyright (C) 2003-2007 Jost Boekemeier diff --git a/server/php/java/bridge/TCPServerSocket.java b/src/main/java/io/soluble/pjb/bridge/TCPServerSocket.java similarity index 98% rename from server/php/java/bridge/TCPServerSocket.java rename to src/main/java/io/soluble/pjb/bridge/TCPServerSocket.java index 85b24d1..be2a9b5 100644 --- a/server/php/java/bridge/TCPServerSocket.java +++ b/src/main/java/io/soluble/pjb/bridge/TCPServerSocket.java @@ -1,6 +1,6 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.bridge; +package io.soluble.pjb.bridge; /* * Copyright (C) 2003-2007 Jost Boekemeier @@ -24,6 +24,7 @@ * OTHER DEALINGS IN THE SOFTWARE. */ +import io.soluble.pjb.bridge.*; import java.io.IOException; import java.net.InetAddress; import java.net.ServerSocket; diff --git a/server/php/java/bridge/ThreadPool.java b/src/main/java/io/soluble/pjb/bridge/ThreadPool.java similarity index 99% rename from server/php/java/bridge/ThreadPool.java rename to src/main/java/io/soluble/pjb/bridge/ThreadPool.java index ac30097..d36abd7 100644 --- a/server/php/java/bridge/ThreadPool.java +++ b/src/main/java/io/soluble/pjb/bridge/ThreadPool.java @@ -1,6 +1,6 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.bridge; +package io.soluble.pjb.bridge; /* * Copyright (C) 2003-2007 Jost Boekemeier diff --git a/server/php/java/bridge/Util.java b/src/main/java/io/soluble/pjb/bridge/Util.java similarity index 96% rename from server/php/java/bridge/Util.java rename to src/main/java/io/soluble/pjb/bridge/Util.java index c4951fc..22e979c 100644 --- a/server/php/java/bridge/Util.java +++ b/src/main/java/io/soluble/pjb/bridge/Util.java @@ -1,6 +1,6 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.bridge; +package io.soluble.pjb.bridge; /* * Copyright (C) 2003-2007 Jost Boekemeier @@ -49,7 +49,7 @@ import java.util.Vector; import java.util.Map.Entry; -import php.java.bridge.http.FCGIConnectionPool; +import io.soluble.pjb.bridge.http.FCGIConnectionPool; /** @@ -83,7 +83,7 @@ protected Delegate createDelegate(String name) { /** * Used by the watchdog. After MAX_WAIT (default 1500ms) the ContextRunner times out. Raise this value if you want to debug the bridge. - * See also system property php.java.bridge.max_wait + * See also system property io.soluble.pjb.bridge.max_wait */ public static int MAX_WAIT; @@ -230,7 +230,7 @@ public void warn(String msg) { } /** - * The default PHP arguments. Can be passed via -Dphp.java.bridge.php_exec_args=list of urlencoded strings separated by space + * The default PHP arguments. Can be passed via -Dio.soluble.pjb.bridge.php_exec_args=list of urlencoded strings separated by space * Default: "-d display_errors=Off -d log_errors=On -d java.persistent_servlet_connections=On" */ private static String[] PHP_ARGS; @@ -298,7 +298,7 @@ public void warn(String msg) { /** * The max. number of threads in the thread pool. Default is 20. * - * @see System property php.java.bridge.threads + * @see System property io.soluble.pjb.bridge.threads */ public static String THREAD_POOL_MAX_SIZE; @@ -307,7 +307,7 @@ public void warn(String msg) { * overrides. Default is 3, if started via java -jar * JavaBridge.jar or 2, if started as a sub-process of Apache/IIS. * - * @see System property php.java.bridge.default_log_level + * @see System property io.soluble.pjb.bridge.default_log_level */ public static int DEFAULT_LOG_LEVEL; @@ -338,7 +338,7 @@ public void warn(String msg) { */ public static String VM_NAME; /** - * Set to true, if the Java VM has been started with -Dphp.java.bridge.promiscuous=true; + * Set to true, if the Java VM has been started with -Dio.soluble.pjb.bridge.promiscuous=true; */ public static boolean JAVABRIDGE_PROMISCUOUS; @@ -347,7 +347,7 @@ public void warn(String msg) { * sub-process of Apache/IIS or EXTENSION_NAME.log, * if started via java -jar JavaBridge.jar. * - * @see System property php.java.bridge.default_log_file + * @see System property io.soluble.pjb.bridge.default_log_file */ public static String DEFAULT_LOG_FILE; @@ -361,7 +361,7 @@ public void warn(String msg) { private static String getProperty(Properties p, String key, String defaultValue) { String s = null; if (p != null) s = p.getProperty(key); - if (s == null) s = System.getProperty("php.java.bridge." + String.valueOf(key).toLowerCase()); + if (s == null) s = System.getProperty("io.soluble.pjb.bridge." + String.valueOf(key).toLowerCase()); if (s == null) s = defaultValue; return s; } @@ -392,22 +392,22 @@ private static String getProperty(Properties p, String key, String defaultValue) private static void initGlobals() { try { - JAVA_INC = Class.forName("php.java.bridge.JavaInc"); + JAVA_INC = Class.forName("io.soluble.pjb.bridge.JavaInc"); } catch (Exception e) {/*ignore*/} try { - PHPDEBUGGER_PHP = Class.forName("php.java.bridge.PhpDebuggerPHP"); + PHPDEBUGGER_PHP = Class.forName("io.soluble.pjb.bridge.PhpDebuggerPHP"); } catch (Exception e) {/*ignore*/} try { - JAVA_PROXY = Class.forName("php.java.bridge.JavaProxy"); + JAVA_PROXY = Class.forName("io.soluble.pjb.bridge.JavaProxy"); } catch (Exception e) {/*ignore*/} try { - LAUNCHER_UNIX = Class.forName("php.java.bridge.LauncherUnix"); + LAUNCHER_UNIX = Class.forName("io.soluble.pjb.bridge.LauncherUnix"); } catch (Exception e) {/*ignore*/} try { - LAUNCHER_WINDOWS = Class.forName("php.java.bridge.LauncherWindows"); - LAUNCHER_WINDOWS2 = Class.forName("php.java.bridge.LauncherWindows2"); - LAUNCHER_WINDOWS3 = Class.forName("php.java.bridge.LauncherWindows3"); - LAUNCHER_WINDOWS4 = Class.forName("php.java.bridge.LauncherWindows4"); + LAUNCHER_WINDOWS = Class.forName("io.soluble.pjb.bridge.LauncherWindows"); + LAUNCHER_WINDOWS2 = Class.forName("io.soluble.pjb.bridge.LauncherWindows2"); + LAUNCHER_WINDOWS3 = Class.forName("io.soluble.pjb.bridge.LauncherWindows3"); + LAUNCHER_WINDOWS4 = Class.forName("io.soluble.pjb.bridge.LauncherWindows4"); } catch (Exception e) {/*ignore*/} Properties p = new Properties(); @@ -453,7 +453,7 @@ private static void initGlobals() { } catch (Exception e) { /*ignore*/ } } catch (Throwable xe) {/*ignore*/} try { - MAX_WAIT = Integer.parseInt(getProperty(p, "php.java.bridge.max_wait", "15000")); + MAX_WAIT = Integer.parseInt(getProperty(p, "io.soluble.pjb.bridge.max_wait", "15000")); } catch (Exception e) { MAX_WAIT = 15000; } @@ -463,7 +463,7 @@ private static void initGlobals() { HOME_DIR = null; } try { - JAVABRIDGE_BASE = getProperty(p, "php.java.bridge.base", System.getProperty("user.home")); + JAVABRIDGE_BASE = getProperty(p, "io.soluble.pjb.bridge.base", System.getProperty("user.home")); } catch (Exception e) { JAVABRIDGE_BASE = "."; } @@ -473,7 +473,7 @@ private static void initGlobals() { } catch (Exception e) {/*ignore*/} try { JAVABRIDGE_PROMISCUOUS = false; - JAVABRIDGE_PROMISCUOUS = getProperty(p, "php.java.bridge.promiscuous", "false").toLowerCase().equals("true"); + JAVABRIDGE_PROMISCUOUS = getProperty(p, "io.soluble.pjb.bridge.promiscuous", "false").toLowerCase().equals("true"); } catch (Exception e) {/*ignore*/} try { @@ -532,7 +532,7 @@ private static void initGlobals() { try { DEFAULT_LOG_FILE_SET = false; DEFAULT_LOG_FILE = getProperty(p, "DEFAULT_LOG_FILE", Util.EXTENSION_NAME + ".log"); - DEFAULT_LOG_FILE_SET = System.getProperty("php.java.bridge.default_log_file") != null; + DEFAULT_LOG_FILE_SET = System.getProperty("io.soluble.pjb.bridge.default_log_file") != null; } catch (Throwable t) {/*ignore*/} String separator = "/-+.,;: "; @@ -881,7 +881,7 @@ public static ILogger getLogger() { } /** - * Returns the string "127.0.0.1". If the system property "php.java.bridge.promiscuous" is "true", + * Returns the string "127.0.0.1". If the system property "io.soluble.pjb.bridge.promiscuous" is "true", * the real host address is returned. * * @return The host address as a string. @@ -1319,7 +1319,7 @@ protected Process(String[] args, boolean includeJava, String cgiDir, String pear /** * Starts a CGI process and returns the process handle. * - * @param args The args array, e.g.: new String[]{null, "-b", ...};. If args is null or if args[0] is null, the function looks for the system property "php.java.bridge.php_exec". + * @param args The args array, e.g.: new String[]{null, "-b", ...};. If args is null or if args[0] is null, the function looks for the system property "io.soluble.pjb.bridge.php_exec". * @param homeDir The home directory. If null, the current working directory is used. * @param env The CGI environment. If null, Util.DEFAULT_CGI_ENVIRONMENT is used. * @param tryOtherLocations true if we should check the DEFAULT_CGI_LOCATIONS first @@ -1484,7 +1484,7 @@ public synchronized int waitFor() throws InterruptedException { /** * Starts a CGI process and returns the process handle. * - * @param args The args array, e.g.: new String[]{null, "-b", ...};. If args is null or if args[0] is null, the function looks for the system property "php.java.bridge.php_exec". + * @param args The args array, e.g.: new String[]{null, "-b", ...};. If args is null or if args[0] is null, the function looks for the system property "io.soluble.pjb.bridge.php_exec". * @param homeDir The home directory. If null, the current working directory is used. * @param env The CGI environment. If null, Util.DEFAULT_CGI_ENVIRONMENT is used. * @param tryOtherLocations true if the should check DEFAULT_CGI_LOCATIONS diff --git a/server/php/java/bridge/http/AbstractChannel.java b/src/main/java/io/soluble/pjb/bridge/http/AbstractChannel.java similarity index 98% rename from server/php/java/bridge/http/AbstractChannel.java rename to src/main/java/io/soluble/pjb/bridge/http/AbstractChannel.java index 489ee3a..56c2de1 100644 --- a/server/php/java/bridge/http/AbstractChannel.java +++ b/src/main/java/io/soluble/pjb/bridge/http/AbstractChannel.java @@ -1,6 +1,6 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.bridge.http; +package io.soluble.pjb.bridge.http; /* * Copyright (C) 2003-2007 Jost Boekemeier diff --git a/server/php/java/bridge/http/AbstractChannelName.java b/src/main/java/io/soluble/pjb/bridge/http/AbstractChannelName.java similarity index 97% rename from server/php/java/bridge/http/AbstractChannelName.java rename to src/main/java/io/soluble/pjb/bridge/http/AbstractChannelName.java index bef8f7b..c6d1e0c 100644 --- a/server/php/java/bridge/http/AbstractChannelName.java +++ b/src/main/java/io/soluble/pjb/bridge/http/AbstractChannelName.java @@ -1,8 +1,8 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.bridge.http; +package io.soluble.pjb.bridge.http; -import php.java.bridge.ILogger; +import io.soluble.pjb.bridge.ILogger; /* * Copyright (C) 2003-2007 Jost Boekemeier diff --git a/server/php/java/bridge/http/ChunkedInputStream.java b/src/main/java/io/soluble/pjb/bridge/http/ChunkedInputStream.java similarity index 98% rename from server/php/java/bridge/http/ChunkedInputStream.java rename to src/main/java/io/soluble/pjb/bridge/http/ChunkedInputStream.java index b73fcf6..14d115f 100644 --- a/server/php/java/bridge/http/ChunkedInputStream.java +++ b/src/main/java/io/soluble/pjb/bridge/http/ChunkedInputStream.java @@ -1,6 +1,6 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.bridge.http; +package io.soluble.pjb.bridge.http; /* * Copyright (C) 2003-2007 Jost Boekemeier @@ -29,7 +29,7 @@ import java.io.IOException; import java.io.InputStream; -import php.java.bridge.Util; +import io.soluble.pjb.bridge.Util; /** * An output stream which reads data in HTTP chunks. diff --git a/server/php/java/bridge/http/ChunkedOutputStream.java b/src/main/java/io/soluble/pjb/bridge/http/ChunkedOutputStream.java similarity index 97% rename from server/php/java/bridge/http/ChunkedOutputStream.java rename to src/main/java/io/soluble/pjb/bridge/http/ChunkedOutputStream.java index b823e48..d3237f9 100644 --- a/server/php/java/bridge/http/ChunkedOutputStream.java +++ b/src/main/java/io/soluble/pjb/bridge/http/ChunkedOutputStream.java @@ -1,6 +1,6 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.bridge.http; +package io.soluble.pjb.bridge.http; /* * Copyright (C) 2003-2007 Jost Boekemeier @@ -29,7 +29,7 @@ import java.io.IOException; import java.io.OutputStream; -import php.java.bridge.Util; +import io.soluble.pjb.bridge.Util; /** * An output stream which writes data in HTTP chunks. diff --git a/server/php/java/bridge/http/Context.java b/src/main/java/io/soluble/pjb/bridge/http/Context.java similarity index 97% rename from server/php/java/bridge/http/Context.java rename to src/main/java/io/soluble/pjb/bridge/http/Context.java index dd34d95..73fa6ea 100644 --- a/server/php/java/bridge/http/Context.java +++ b/src/main/java/io/soluble/pjb/bridge/http/Context.java @@ -1,6 +1,6 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.bridge.http; +package io.soluble.pjb.bridge.http; /* * Copyright (C) 2003-2007 Jost Boekemeier @@ -35,10 +35,10 @@ import java.util.LinkedList; import java.util.Map; -import php.java.bridge.IManaged; -import php.java.bridge.Invocable; -import php.java.bridge.NotImplementedException; -import php.java.bridge.Util; +import io.soluble.pjb.bridge.IManaged; +import io.soluble.pjb.bridge.Invocable; +import io.soluble.pjb.bridge.NotImplementedException; +import io.soluble.pjb.bridge.Util; /** @@ -310,7 +310,7 @@ public Object init(Object callable) throws Exception { * {@inheritDoc} */ public void onShutdown(Object closeable) { - php.java.bridge.http.Context.handleManaged(closeable); + io.soluble.pjb.bridge.http.Context.handleManaged(closeable); } /** diff --git a/server/php/java/bridge/http/ContextFactory.java b/src/main/java/io/soluble/pjb/bridge/http/ContextFactory.java similarity index 97% rename from server/php/java/bridge/http/ContextFactory.java rename to src/main/java/io/soluble/pjb/bridge/http/ContextFactory.java index 5596b0d..65ea2c0 100644 --- a/server/php/java/bridge/http/ContextFactory.java +++ b/src/main/java/io/soluble/pjb/bridge/http/ContextFactory.java @@ -1,6 +1,6 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.bridge.http; +package io.soluble.pjb.bridge.http; /* * Copyright (C) 2003-2007 Jost Boekemeier @@ -31,11 +31,11 @@ import java.util.HashMap; import java.util.Iterator; -import php.java.bridge.ISession; -import php.java.bridge.JavaBridge; -import php.java.bridge.Request; -import php.java.bridge.SessionFactory; -import php.java.bridge.Util; +import io.soluble.pjb.bridge.ISession; +import io.soluble.pjb.bridge.JavaBridge; +import io.soluble.pjb.bridge.Request; +import io.soluble.pjb.bridge.SessionFactory; +import io.soluble.pjb.bridge.Util; /** @@ -80,7 +80,7 @@ *

* * @see php.java.servlet.ServletContextFactory - * @see php.java.bridge.http.ContextServer + * @see io.soluble.pjb.bridge.http.ContextServer * @see php.java.bridge.SessionFactory#TIMER_DURATION */ public final class ContextFactory extends SessionFactory implements IContextFactory { @@ -292,7 +292,7 @@ private static synchronized void destroyOrphaned() { * Remove all context factories from the classloader. * May only be called by the ContextServer. * - * @see php.java.bridge.http.ContextServer + * @see io.soluble.pjb.bridge.http.ContextServer */ public static synchronized void destroyAll() { for (Iterator ii = contexts.values().iterator(); ii.hasNext(); ) { diff --git a/server/php/java/bridge/http/ContextRunner.java b/src/main/java/io/soluble/pjb/bridge/http/ContextRunner.java similarity index 94% rename from server/php/java/bridge/http/ContextRunner.java rename to src/main/java/io/soluble/pjb/bridge/http/ContextRunner.java index 31ddc8d..e2a9ae9 100644 --- a/server/php/java/bridge/http/ContextRunner.java +++ b/src/main/java/io/soluble/pjb/bridge/http/ContextRunner.java @@ -1,6 +1,6 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.bridge.http; +package io.soluble.pjb.bridge.http; /* * Copyright (C) 2003-2007 Jost Boekemeier @@ -28,10 +28,10 @@ import java.io.InputStream; import java.io.OutputStream; -import php.java.bridge.ILogger; -import php.java.bridge.JavaBridge; -import php.java.bridge.Request; -import php.java.bridge.Util; +import io.soluble.pjb.bridge.ILogger; +import io.soluble.pjb.bridge.JavaBridge; +import io.soluble.pjb.bridge.Request; +import io.soluble.pjb.bridge.Util; /** * The ContextRunner usually represents the physical connection, it @@ -132,7 +132,7 @@ protected boolean init() throws IOException { String name = readName(); ctx = (IContextFactory) ContextFactory.get(name); if (ctx == null) - throw new IOException("No context available for: " + name + ". Please make sure that your script does not exceed php.java.bridge.max_wait, currently set to: " + Util.MAX_WAIT); + throw new IOException("No context available for: " + name + ". Please make sure that your script does not exceed io.soluble.pjb.bridge.max_wait, currently set to: " + Util.MAX_WAIT); JavaBridge bridge = ctx.getBridge(); if (Util.logLevel > 4) Util.logDebug(ctx + " created new thread"); diff --git a/server/php/java/bridge/http/ContextServer.java b/src/main/java/io/soluble/pjb/bridge/http/ContextServer.java similarity index 95% rename from server/php/java/bridge/http/ContextServer.java rename to src/main/java/io/soluble/pjb/bridge/http/ContextServer.java index 5ddac2b..80edd51 100644 --- a/server/php/java/bridge/http/ContextServer.java +++ b/src/main/java/io/soluble/pjb/bridge/http/ContextServer.java @@ -1,6 +1,6 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.bridge.http; +package io.soluble.pjb.bridge.http; /* * Copyright (C) 2003-2007 Jost Boekemeier @@ -24,9 +24,10 @@ * OTHER DEALINGS IN THE SOFTWARE. */ -import php.java.bridge.AppThreadPool; -import php.java.bridge.ILogger; -import php.java.bridge.Util; +import io.soluble.pjb.bridge.AppThreadPool; +import io.soluble.pjb.bridge.ILogger; +import io.soluble.pjb.bridge.SessionFactory; +import io.soluble.pjb.bridge.Util; /** * A bridge pattern which either uses the PipeContextServer or the SocketContextServer, @@ -43,7 +44,7 @@ *

* * @author jostb - * @see php.java.bridge.http.SocketContextServer + * @see io.soluble.pjb.bridge.http.SocketContextServer */ public final class ContextServer { private String contextName; @@ -100,7 +101,7 @@ private synchronized static final void destroyContextServer() { sock = null; ContextFactory.destroyAll(); - php.java.bridge.SessionFactory.destroyTimer(); + SessionFactory.destroyTimer(); if (pool != null) pool.destroy(); pool = null; diff --git a/server/php/java/bridge/http/DefaultCharsetWriterOutputStream.java b/src/main/java/io/soluble/pjb/bridge/http/DefaultCharsetWriterOutputStream.java similarity index 95% rename from server/php/java/bridge/http/DefaultCharsetWriterOutputStream.java rename to src/main/java/io/soluble/pjb/bridge/http/DefaultCharsetWriterOutputStream.java index d8bd4b3..6225ccd 100644 --- a/server/php/java/bridge/http/DefaultCharsetWriterOutputStream.java +++ b/src/main/java/io/soluble/pjb/bridge/http/DefaultCharsetWriterOutputStream.java @@ -1,6 +1,6 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.bridge.http; +package io.soluble.pjb.bridge.http; /* * Copyright (C) 2003-2007 Jost Boekemeier @@ -28,7 +28,7 @@ import java.io.OutputStream; import java.io.Writer; -import php.java.bridge.NotImplementedException; +import io.soluble.pjb.bridge.NotImplementedException; /** * A PrintWriter backed by an OutputStream. diff --git a/server/php/java/bridge/http/FCGIConnectException.java b/src/main/java/io/soluble/pjb/bridge/http/FCGIConnectException.java similarity index 97% rename from server/php/java/bridge/http/FCGIConnectException.java rename to src/main/java/io/soluble/pjb/bridge/http/FCGIConnectException.java index d4e0457..89b9f62 100644 --- a/server/php/java/bridge/http/FCGIConnectException.java +++ b/src/main/java/io/soluble/pjb/bridge/http/FCGIConnectException.java @@ -1,5 +1,5 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.bridge.http; +package io.soluble.pjb.bridge.http; /* * Copyright (C) 2003-2007 Jost Boekemeier diff --git a/server/php/java/bridge/http/FCGIConnection.java b/src/main/java/io/soluble/pjb/bridge/http/FCGIConnection.java similarity index 98% rename from server/php/java/bridge/http/FCGIConnection.java rename to src/main/java/io/soluble/pjb/bridge/http/FCGIConnection.java index 0604c0b..ebebfe2 100644 --- a/server/php/java/bridge/http/FCGIConnection.java +++ b/src/main/java/io/soluble/pjb/bridge/http/FCGIConnection.java @@ -1,5 +1,5 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.bridge.http; +package io.soluble.pjb.bridge.http; /* * Copyright (C) 2003-2007 Jost Boekemeier diff --git a/server/php/java/bridge/http/FCGIConnectionException.java b/src/main/java/io/soluble/pjb/bridge/http/FCGIConnectionException.java similarity index 93% rename from server/php/java/bridge/http/FCGIConnectionException.java rename to src/main/java/io/soluble/pjb/bridge/http/FCGIConnectionException.java index f2f78c8..ff6d456 100644 --- a/server/php/java/bridge/http/FCGIConnectionException.java +++ b/src/main/java/io/soluble/pjb/bridge/http/FCGIConnectionException.java @@ -1,5 +1,5 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.bridge.http; +package io.soluble.pjb.bridge.http; /* * Copyright (C) 2003-2007 Jost Boekemeier @@ -25,7 +25,7 @@ import java.io.IOException; -import php.java.bridge.http.FCGIConnectionPool.Connection; +import io.soluble.pjb.bridge.http.FCGIConnectionPool.Connection; /** * Thrown when an IO exception occurs diff --git a/server/php/java/bridge/http/FCGIConnectionFactory.java b/src/main/java/io/soluble/pjb/bridge/http/FCGIConnectionFactory.java similarity index 97% rename from server/php/java/bridge/http/FCGIConnectionFactory.java rename to src/main/java/io/soluble/pjb/bridge/http/FCGIConnectionFactory.java index 0eef167..a6608db 100644 --- a/server/php/java/bridge/http/FCGIConnectionFactory.java +++ b/src/main/java/io/soluble/pjb/bridge/http/FCGIConnectionFactory.java @@ -1,5 +1,5 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.bridge.http; +package io.soluble.pjb.bridge.http; import java.io.IOException; import java.io.InputStream; @@ -7,9 +7,9 @@ import java.net.UnknownHostException; import java.util.Map; -import php.java.bridge.ILogger; -import php.java.bridge.Util; -import php.java.bridge.Util.Process; +import io.soluble.pjb.bridge.ILogger; +import io.soluble.pjb.bridge.Util; +import io.soluble.pjb.bridge.Util.Process; /* * Copyright (C) 2003-2007 Jost Boekemeier diff --git a/server/php/java/bridge/http/FCGIConnectionInputStream.java b/src/main/java/io/soluble/pjb/bridge/http/FCGIConnectionInputStream.java similarity index 94% rename from server/php/java/bridge/http/FCGIConnectionInputStream.java rename to src/main/java/io/soluble/pjb/bridge/http/FCGIConnectionInputStream.java index ad1ff06..4078098 100644 --- a/server/php/java/bridge/http/FCGIConnectionInputStream.java +++ b/src/main/java/io/soluble/pjb/bridge/http/FCGIConnectionInputStream.java @@ -1,6 +1,6 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.bridge.http; +package io.soluble.pjb.bridge.http; /* * Copyright (C) 2003-2007 Jost Boekemeier @@ -27,8 +27,8 @@ import java.io.IOException; import java.io.InputStream; -import php.java.bridge.NotImplementedException; -import php.java.bridge.http.FCGIConnectionPool.Connection; +import io.soluble.pjb.bridge.NotImplementedException; +import io.soluble.pjb.bridge.http.FCGIConnectionPool.Connection; /** * Default InputStream used by the connection pool. diff --git a/server/php/java/bridge/http/FCGIConnectionOutputStream.java b/src/main/java/io/soluble/pjb/bridge/http/FCGIConnectionOutputStream.java similarity index 95% rename from server/php/java/bridge/http/FCGIConnectionOutputStream.java rename to src/main/java/io/soluble/pjb/bridge/http/FCGIConnectionOutputStream.java index 91a9542..a11d2d0 100644 --- a/server/php/java/bridge/http/FCGIConnectionOutputStream.java +++ b/src/main/java/io/soluble/pjb/bridge/http/FCGIConnectionOutputStream.java @@ -1,6 +1,6 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.bridge.http; +package io.soluble.pjb.bridge.http; /* * Copyright (C) 2003-2007 Jost Boekemeier @@ -28,8 +28,8 @@ import java.io.IOException; import java.io.OutputStream; -import php.java.bridge.NotImplementedException; -import php.java.bridge.http.FCGIConnectionPool.Connection; +import io.soluble.pjb.bridge.NotImplementedException; +import io.soluble.pjb.bridge.http.FCGIConnectionPool.Connection; /** * Default OutputStream used by the connection pool. diff --git a/server/php/java/bridge/http/FCGIConnectionPool.java b/src/main/java/io/soluble/pjb/bridge/http/FCGIConnectionPool.java similarity index 99% rename from server/php/java/bridge/http/FCGIConnectionPool.java rename to src/main/java/io/soluble/pjb/bridge/http/FCGIConnectionPool.java index da7ff8d..3a1e41a 100644 --- a/server/php/java/bridge/http/FCGIConnectionPool.java +++ b/src/main/java/io/soluble/pjb/bridge/http/FCGIConnectionPool.java @@ -1,6 +1,6 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.bridge.http; +package io.soluble.pjb.bridge.http; /* * Copyright (C) 2003-2007 Jost Boekemeier @@ -31,7 +31,7 @@ import java.util.LinkedList; import java.util.List; -import php.java.bridge.Util; +import io.soluble.pjb.bridge.Util; /** * A connection pool. Example:

diff --git a/server/php/java/bridge/http/FCGIIOFactory.java b/src/main/java/io/soluble/pjb/bridge/http/FCGIIOFactory.java similarity index 98% rename from server/php/java/bridge/http/FCGIIOFactory.java rename to src/main/java/io/soluble/pjb/bridge/http/FCGIIOFactory.java index f819126..bae4d11 100644 --- a/server/php/java/bridge/http/FCGIIOFactory.java +++ b/src/main/java/io/soluble/pjb/bridge/http/FCGIIOFactory.java @@ -1,6 +1,6 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.bridge.http; +package io.soluble.pjb.bridge.http; /* * Copyright (C) 2003-2007 Jost Boekemeier diff --git a/server/php/java/bridge/http/FCGIInputStream.java b/src/main/java/io/soluble/pjb/bridge/http/FCGIInputStream.java similarity index 98% rename from server/php/java/bridge/http/FCGIInputStream.java rename to src/main/java/io/soluble/pjb/bridge/http/FCGIInputStream.java index 4e80430..dcdc0a7 100644 --- a/server/php/java/bridge/http/FCGIInputStream.java +++ b/src/main/java/io/soluble/pjb/bridge/http/FCGIInputStream.java @@ -1,6 +1,6 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.bridge.http; +package io.soluble.pjb.bridge.http; /* * Copyright (C) 2003-2007 Jost Boekemeier @@ -26,7 +26,7 @@ import java.io.IOException; -import php.java.bridge.Util; +import io.soluble.pjb.bridge.Util; /** * A FastCGI input stream diff --git a/server/php/java/bridge/http/FCGIOutputStream.java b/src/main/java/io/soluble/pjb/bridge/http/FCGIOutputStream.java similarity index 97% rename from server/php/java/bridge/http/FCGIOutputStream.java rename to src/main/java/io/soluble/pjb/bridge/http/FCGIOutputStream.java index 8cf0ca9..ecfc53a 100644 --- a/server/php/java/bridge/http/FCGIOutputStream.java +++ b/src/main/java/io/soluble/pjb/bridge/http/FCGIOutputStream.java @@ -1,6 +1,6 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.bridge.http; +package io.soluble.pjb.bridge.http; /* * Copyright (C) 2003-2007 Jost Boekemeier @@ -29,8 +29,8 @@ import java.util.Iterator; import java.util.Map; -import php.java.bridge.NotImplementedException; -import php.java.bridge.Util; +import io.soluble.pjb.bridge.NotImplementedException; +import io.soluble.pjb.bridge.Util; /** * A FastCGI OutputStream diff --git a/server/php/java/bridge/http/FCGIUtil.java b/src/main/java/io/soluble/pjb/bridge/http/FCGIUtil.java similarity index 99% rename from server/php/java/bridge/http/FCGIUtil.java rename to src/main/java/io/soluble/pjb/bridge/http/FCGIUtil.java index 4a308e2..b319f01 100644 --- a/server/php/java/bridge/http/FCGIUtil.java +++ b/src/main/java/io/soluble/pjb/bridge/http/FCGIUtil.java @@ -1,6 +1,6 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.bridge.http; +package io.soluble.pjb.bridge.http; /* * Copyright (C) 2003-2007 Jost Boekemeier diff --git a/server/php/java/bridge/http/HeaderParser.java b/src/main/java/io/soluble/pjb/bridge/http/HeaderParser.java similarity index 98% rename from server/php/java/bridge/http/HeaderParser.java rename to src/main/java/io/soluble/pjb/bridge/http/HeaderParser.java index 9b226e9..a34ce79 100644 --- a/server/php/java/bridge/http/HeaderParser.java +++ b/src/main/java/io/soluble/pjb/bridge/http/HeaderParser.java @@ -1,12 +1,12 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.bridge.http; +package io.soluble.pjb.bridge.http; import java.io.IOException; import java.io.InputStream; import java.io.UnsupportedEncodingException; -import php.java.bridge.Util; +import io.soluble.pjb.bridge.Util; /* * Copyright (C) 2003-2007 Jost Boekemeier diff --git a/server/php/java/bridge/http/HttpRequest.java b/src/main/java/io/soluble/pjb/bridge/http/HttpRequest.java similarity index 98% rename from server/php/java/bridge/http/HttpRequest.java rename to src/main/java/io/soluble/pjb/bridge/http/HttpRequest.java index c3cc2ac..d20937f 100644 --- a/server/php/java/bridge/http/HttpRequest.java +++ b/src/main/java/io/soluble/pjb/bridge/http/HttpRequest.java @@ -1,6 +1,6 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.bridge.http; +package io.soluble.pjb.bridge.http; /* * Copyright (C) 2003-2007 Jost Boekemeier @@ -29,7 +29,7 @@ import java.io.InputStream; import java.util.HashMap; -import php.java.bridge.NotImplementedException; +import io.soluble.pjb.bridge.NotImplementedException; /** * A simple HTTP request implementation. diff --git a/server/php/java/bridge/http/HttpResponse.java b/src/main/java/io/soluble/pjb/bridge/http/HttpResponse.java similarity index 97% rename from server/php/java/bridge/http/HttpResponse.java rename to src/main/java/io/soluble/pjb/bridge/http/HttpResponse.java index f3993b6..67afdb5 100644 --- a/server/php/java/bridge/http/HttpResponse.java +++ b/src/main/java/io/soluble/pjb/bridge/http/HttpResponse.java @@ -1,6 +1,6 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.bridge.http; +package io.soluble.pjb.bridge.http; /* * Copyright (C) 2003-2007 Jost Boekemeier @@ -31,8 +31,8 @@ import java.util.HashMap; import java.util.Iterator; -import php.java.bridge.NotImplementedException; -import php.java.bridge.Util; +import io.soluble.pjb.bridge.NotImplementedException; +import io.soluble.pjb.bridge.Util; /** * A simple HTTP response implementation. diff --git a/server/php/java/bridge/http/HttpServer.java b/src/main/java/io/soluble/pjb/bridge/http/HttpServer.java similarity index 97% rename from server/php/java/bridge/http/HttpServer.java rename to src/main/java/io/soluble/pjb/bridge/http/HttpServer.java index a0c6826..6222d43 100644 --- a/server/php/java/bridge/http/HttpServer.java +++ b/src/main/java/io/soluble/pjb/bridge/http/HttpServer.java @@ -1,6 +1,6 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.bridge.http; +package io.soluble.pjb.bridge.http; /* * Copyright (C) 2003-2007 Jost Boekemeier @@ -30,9 +30,9 @@ import java.io.UnsupportedEncodingException; import java.net.Socket; -import php.java.bridge.ISocketFactory; -import php.java.bridge.AppThreadPool; -import php.java.bridge.Util; +import io.soluble.pjb.bridge.ISocketFactory; +import io.soluble.pjb.bridge.AppThreadPool; +import io.soluble.pjb.bridge.Util; /** @@ -42,8 +42,8 @@ * scripts use a HttpProxy and URLReader instead. * * @author jostb - * @see php.java.bridge.http.HttpRequest - * @see php.java.bridge.http.HttpResponse + * @see io.soluble.pjb.bridge.http.HttpRequest + * @see io.soluble.pjb.bridge.http.HttpResponse * @see php.java.script.Continuation * @see php.java.script.URLReader * @see php.java.script.Continuation diff --git a/server/php/java/bridge/http/IContext.java b/src/main/java/io/soluble/pjb/bridge/http/IContext.java similarity index 83% rename from server/php/java/bridge/http/IContext.java rename to src/main/java/io/soluble/pjb/bridge/http/IContext.java index bfa044b..a35a551 100644 --- a/server/php/java/bridge/http/IContext.java +++ b/src/main/java/io/soluble/pjb/bridge/http/IContext.java @@ -1,6 +1,6 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.bridge.http; +package io.soluble.pjb.bridge.http; /* * Copyright (C) 2003-2007 Jost Boekemeier @@ -51,39 +51,39 @@ public interface IContext { /** * This key can be used to get the current continuation. - * Example: java_context->getAttribute("php.java.bridge.PhpProcedure"); + * Example: java_context->getAttribute("io.soluble.pjb.bridge.PhpProcedure"); */ - public static final String PHP_PROCEDURE = "php.java.bridge.PhpProcedure"; + public static final String PHP_PROCEDURE = "io.soluble.pjb.bridge.PhpProcedure"; /** * This key can be used to get the current JavaBridge instance. - * Example: java_context->getAttribute("php.java.bridge.JavaBridge"); + * Example: java_context->getAttribute("io.soluble.pjb.bridge.JavaBridge"); */ - public static final String JAVA_BRIDGE = "php.java.bridge.JavaBridge"; + public static final String JAVA_BRIDGE = "io.soluble.pjb.bridge.JavaBridge"; /** * This key can be used to get the current ServletContext instance. - * Example: java_context->getAttribute("php.java.servlet.ServletContext"); + * Example: java_context->getAttribute("io.soluble.pjb.servlet.ServletContext"); */ - public static final String SERVLET_CONTEXT = "php.java.servlet.ServletContext"; + public static final String SERVLET_CONTEXT = "io.soluble.pjb.servlet.ServletContext"; /** * This key can be used to get the current ServletConfig instance. - * Example: java_context->getAttribute("php.java.servlet.ServletConfig"); + * Example: java_context->getAttribute("io.soluble.pjb.servlet.ServletConfig"); */ - public static final String SERVLET_CONFIG = "php.java.servlet.ServletConfig"; + public static final String SERVLET_CONFIG = "io.soluble.pjb.servlet.ServletConfig"; /** * This key can be used to get the current Servlet instance. - * Example: java_context->getAttribute("php.java.servlet.Servlet"); + * Example: java_context->getAttribute("io.soluble.pjb.servlet.Servlet"); */ - public static final String SERVLET = "php.java.servlet.Servlet"; + public static final String SERVLET = "io.soluble.pjb.servlet.Servlet"; /** * This key can be used to get the current HttpServletRequest instance. - * Example: java_context->getAttribute("php.java.servlet.HttpServletRequest"); + * Example: java_context->getAttribute("io.soluble.pjb.servlet.HttpServletRequest"); */ - public static final String SERVLET_REQUEST = "php.java.servlet.HttpServletRequest"; + public static final String SERVLET_REQUEST = "io.soluble.pjb.servlet.HttpServletRequest"; /** * This key can be used to get the current HttpServletResponse instance. - * Example: java_context->getAttribute("php.java.servlet.HttpServletResponse"); + * Example: java_context->getAttribute("io.soluble.pjb.servlet.HttpServletResponse"); */ - public static final String SERVLET_RESPONSE = "php.java.servlet.HttpServletResponse"; + public static final String SERVLET_RESPONSE = "io.soluble.pjb.servlet.HttpServletResponse"; /** * Retrieves the value for getAttribute(String, int) for the diff --git a/server/php/java/bridge/http/IContextFactory.java b/src/main/java/io/soluble/pjb/bridge/http/IContextFactory.java similarity index 93% rename from server/php/java/bridge/http/IContextFactory.java rename to src/main/java/io/soluble/pjb/bridge/http/IContextFactory.java index 48a28ce..fde70ad 100644 --- a/server/php/java/bridge/http/IContextFactory.java +++ b/src/main/java/io/soluble/pjb/bridge/http/IContextFactory.java @@ -1,6 +1,6 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.bridge.http; +package io.soluble.pjb.bridge.http; /* * Copyright (C) 2003-2007 Jost Boekemeier @@ -24,8 +24,8 @@ * OTHER DEALINGS IN THE SOFTWARE. */ -import php.java.bridge.IJavaBridgeFactory; -import php.java.bridge.ISession; +import io.soluble.pjb.bridge.IJavaBridgeFactory; +import io.soluble.pjb.bridge.ISession; /** * Interface that the ContextFactories must implement. @@ -62,7 +62,7 @@ public interface IContextFactory extends IJavaBridgeFactory { * For Apache/PHP initiated requests use a combination of #waitFor(long) and #release() instead. * * @throws InterruptedException - * @see php.java.bridge.http.ContextRunner + * @see io.soluble.pjb.bridge.http.ContextRunner */ public void releaseManaged() throws InterruptedException; @@ -71,7 +71,7 @@ public interface IContextFactory extends IJavaBridgeFactory { * * @param timeout The timeout * @throws InterruptedException - * @see php.java.bridge.http.ContextRunner + * @see io.soluble.pjb.bridge.http.ContextRunner */ public void waitFor(long timeout) throws InterruptedException; @@ -87,7 +87,7 @@ public interface IContextFactory extends IJavaBridgeFactory { * * @return The context * @see php.java.servlet.ServletContextFactory#getContext() - * @see php.java.bridge.http.Context + * @see io.soluble.pjb.bridge.http.Context */ public IContext getContext(); diff --git a/server/php/java/bridge/http/IContextFactoryVisitor.java b/src/main/java/io/soluble/pjb/bridge/http/IContextFactoryVisitor.java similarity index 97% rename from server/php/java/bridge/http/IContextFactoryVisitor.java rename to src/main/java/io/soluble/pjb/bridge/http/IContextFactoryVisitor.java index 5f6e9f8..d9d3d88 100644 --- a/server/php/java/bridge/http/IContextFactoryVisitor.java +++ b/src/main/java/io/soluble/pjb/bridge/http/IContextFactoryVisitor.java @@ -1,6 +1,6 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.bridge.http; +package io.soluble.pjb.bridge.http; /* * Copyright (C) 2003-2007 Jost Boekemeier diff --git a/server/php/java/bridge/http/IContextServer.java b/src/main/java/io/soluble/pjb/bridge/http/IContextServer.java similarity index 96% rename from server/php/java/bridge/http/IContextServer.java rename to src/main/java/io/soluble/pjb/bridge/http/IContextServer.java index f9285ae..8a61bde 100644 --- a/server/php/java/bridge/http/IContextServer.java +++ b/src/main/java/io/soluble/pjb/bridge/http/IContextServer.java @@ -1,8 +1,8 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.bridge.http; +package io.soluble.pjb.bridge.http; -import php.java.bridge.ILogger; +import io.soluble.pjb.bridge.ILogger; /* * Copyright (C) 2003-2007 Jost Boekemeier diff --git a/server/php/java/bridge/http/IFCGIProcess.java b/src/main/java/io/soluble/pjb/bridge/http/IFCGIProcess.java similarity index 98% rename from server/php/java/bridge/http/IFCGIProcess.java rename to src/main/java/io/soluble/pjb/bridge/http/IFCGIProcess.java index a4ed33c..20f5c28 100644 --- a/server/php/java/bridge/http/IFCGIProcess.java +++ b/src/main/java/io/soluble/pjb/bridge/http/IFCGIProcess.java @@ -1,6 +1,6 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.bridge.http; +package io.soluble.pjb.bridge.http; /* * Copyright (C) 2003-2007 Jost Boekemeier diff --git a/server/php/java/bridge/http/IFCGIProcessFactory.java b/src/main/java/io/soluble/pjb/bridge/http/IFCGIProcessFactory.java similarity index 99% rename from server/php/java/bridge/http/IFCGIProcessFactory.java rename to src/main/java/io/soluble/pjb/bridge/http/IFCGIProcessFactory.java index a0b25c2..82e3a9b 100644 --- a/server/php/java/bridge/http/IFCGIProcessFactory.java +++ b/src/main/java/io/soluble/pjb/bridge/http/IFCGIProcessFactory.java @@ -1,6 +1,6 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.bridge.http; +package io.soluble.pjb.bridge.http; import java.io.File; import java.io.IOException; diff --git a/server/php/java/bridge/http/NPChannel.java b/src/main/java/io/soluble/pjb/bridge/http/NPChannel.java similarity index 98% rename from server/php/java/bridge/http/NPChannel.java rename to src/main/java/io/soluble/pjb/bridge/http/NPChannel.java index cb221c0..a163bcb 100644 --- a/server/php/java/bridge/http/NPChannel.java +++ b/src/main/java/io/soluble/pjb/bridge/http/NPChannel.java @@ -1,6 +1,6 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.bridge.http; +package io.soluble.pjb.bridge.http; /* * Copyright (C) 2003-2007 Jost Boekemeier diff --git a/server/php/java/bridge/http/NPChannelFactory.java b/src/main/java/io/soluble/pjb/bridge/http/NPChannelFactory.java similarity index 98% rename from server/php/java/bridge/http/NPChannelFactory.java rename to src/main/java/io/soluble/pjb/bridge/http/NPChannelFactory.java index 4949369..075846b 100644 --- a/server/php/java/bridge/http/NPChannelFactory.java +++ b/src/main/java/io/soluble/pjb/bridge/http/NPChannelFactory.java @@ -1,6 +1,6 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.bridge.http; +package io.soluble.pjb.bridge.http; import java.io.File; import java.io.IOException; @@ -8,8 +8,8 @@ import java.net.UnknownHostException; import java.util.Map; -import php.java.bridge.Util; -import php.java.bridge.Util.Process; +import io.soluble.pjb.bridge.Util; +import io.soluble.pjb.bridge.Util.Process; /* * Copyright (C) 2003-2007 Jost Boekemeier diff --git a/server/php/java/bridge/http/OutputStreamFactory.java b/src/main/java/io/soluble/pjb/bridge/http/OutputStreamFactory.java similarity index 90% rename from server/php/java/bridge/http/OutputStreamFactory.java rename to src/main/java/io/soluble/pjb/bridge/http/OutputStreamFactory.java index 5aba900..1b78bf8 100644 --- a/server/php/java/bridge/http/OutputStreamFactory.java +++ b/src/main/java/io/soluble/pjb/bridge/http/OutputStreamFactory.java @@ -1,4 +1,4 @@ -package php.java.bridge.http; +package io.soluble.pjb.bridge.http; import java.io.IOException; import java.io.OutputStream; diff --git a/server/php/java/bridge/http/RandomAccessFileInputStream.java b/src/main/java/io/soluble/pjb/bridge/http/RandomAccessFileInputStream.java similarity index 98% rename from server/php/java/bridge/http/RandomAccessFileInputStream.java rename to src/main/java/io/soluble/pjb/bridge/http/RandomAccessFileInputStream.java index b582510..55f825d 100644 --- a/server/php/java/bridge/http/RandomAccessFileInputStream.java +++ b/src/main/java/io/soluble/pjb/bridge/http/RandomAccessFileInputStream.java @@ -1,6 +1,6 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.bridge.http; +package io.soluble.pjb.bridge.http; /* * Copyright (C) 2003-2007 Jost Boekemeier diff --git a/server/php/java/bridge/http/RandomAccessFileOutputStream.java b/src/main/java/io/soluble/pjb/bridge/http/RandomAccessFileOutputStream.java similarity index 96% rename from server/php/java/bridge/http/RandomAccessFileOutputStream.java rename to src/main/java/io/soluble/pjb/bridge/http/RandomAccessFileOutputStream.java index 084061d..302989a 100644 --- a/server/php/java/bridge/http/RandomAccessFileOutputStream.java +++ b/src/main/java/io/soluble/pjb/bridge/http/RandomAccessFileOutputStream.java @@ -1,6 +1,6 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.bridge.http; +package io.soluble.pjb.bridge.http; /* * Copyright (C) 2003-2007 Jost Boekemeier @@ -28,7 +28,7 @@ import java.io.OutputStream; import java.io.RandomAccessFile; -import php.java.bridge.NotImplementedException; +import io.soluble.pjb.bridge.NotImplementedException; class RandomAccessFileOutputStream extends OutputStream { private final NPChannel channel; diff --git a/server/php/java/bridge/http/RemoteHttpContextFactory.java b/src/main/java/io/soluble/pjb/bridge/http/RemoteHttpContextFactory.java similarity index 94% rename from server/php/java/bridge/http/RemoteHttpContextFactory.java rename to src/main/java/io/soluble/pjb/bridge/http/RemoteHttpContextFactory.java index 31f849d..d1c7c00 100644 --- a/server/php/java/bridge/http/RemoteHttpContextFactory.java +++ b/src/main/java/io/soluble/pjb/bridge/http/RemoteHttpContextFactory.java @@ -1,6 +1,6 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.bridge.http; +package io.soluble.pjb.bridge.http; /* * Copyright (C) 2003-2007 Jost Boekemeier @@ -29,17 +29,17 @@ import java.io.InputStream; import java.io.Serializable; -import php.java.bridge.ISession; -import php.java.bridge.Request; -import php.java.bridge.SessionFactory; +import io.soluble.pjb.bridge.ISession; +import io.soluble.pjb.bridge.Request; +import io.soluble.pjb.bridge.SessionFactory; /** * Create session contexts for servlets.

* This ContextFactory can be used in environments where no custom class loaders and no threads are allowed. * * @author jostb - * @see php.java.bridge.http.ContextFactory - * @see php.java.bridge.http.ContextServer + * @see io.soluble.pjb.bridge.http.ContextFactory + * @see io.soluble.pjb.bridge.http.ContextServer */ public class RemoteHttpContextFactory extends SessionFactory implements IContextFactory, Serializable { diff --git a/server/php/java/bridge/http/SimpleContextFactory.java b/src/main/java/io/soluble/pjb/bridge/http/SimpleContextFactory.java similarity index 97% rename from server/php/java/bridge/http/SimpleContextFactory.java rename to src/main/java/io/soluble/pjb/bridge/http/SimpleContextFactory.java index a6a28bb..bf4cdaf 100644 --- a/server/php/java/bridge/http/SimpleContextFactory.java +++ b/src/main/java/io/soluble/pjb/bridge/http/SimpleContextFactory.java @@ -1,6 +1,6 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.bridge.http; +package io.soluble.pjb.bridge.http; /* * Copyright (C) 2003-2007 Jost Boekemeier @@ -27,10 +27,10 @@ import java.io.IOException; import java.io.InputStream; -import php.java.bridge.ISession; -import php.java.bridge.JavaBridge; -import php.java.bridge.Request; -import php.java.bridge.Util; +import io.soluble.pjb.bridge.ISession; +import io.soluble.pjb.bridge.JavaBridge; +import io.soluble.pjb.bridge.Request; +import io.soluble.pjb.bridge.Util; /** diff --git a/server/php/java/bridge/http/SimpleHeaderParser.java b/src/main/java/io/soluble/pjb/bridge/http/SimpleHeaderParser.java similarity index 97% rename from server/php/java/bridge/http/SimpleHeaderParser.java rename to src/main/java/io/soluble/pjb/bridge/http/SimpleHeaderParser.java index 03b08b4..b6882ad 100644 --- a/server/php/java/bridge/http/SimpleHeaderParser.java +++ b/src/main/java/io/soluble/pjb/bridge/http/SimpleHeaderParser.java @@ -1,6 +1,6 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.bridge.http; +package io.soluble.pjb.bridge.http; /* diff --git a/server/php/java/bridge/http/SocketChannel.java b/src/main/java/io/soluble/pjb/bridge/http/SocketChannel.java similarity index 97% rename from server/php/java/bridge/http/SocketChannel.java rename to src/main/java/io/soluble/pjb/bridge/http/SocketChannel.java index 23dcab9..13fb686 100644 --- a/server/php/java/bridge/http/SocketChannel.java +++ b/src/main/java/io/soluble/pjb/bridge/http/SocketChannel.java @@ -1,6 +1,6 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.bridge.http; +package io.soluble.pjb.bridge.http; /* * Copyright (C) 2003-2007 Jost Boekemeier diff --git a/server/php/java/bridge/http/SocketChannelFactory.java b/src/main/java/io/soluble/pjb/bridge/http/SocketChannelFactory.java similarity index 97% rename from server/php/java/bridge/http/SocketChannelFactory.java rename to src/main/java/io/soluble/pjb/bridge/http/SocketChannelFactory.java index ca5eb89..a447d63 100644 --- a/server/php/java/bridge/http/SocketChannelFactory.java +++ b/src/main/java/io/soluble/pjb/bridge/http/SocketChannelFactory.java @@ -1,6 +1,6 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.bridge.http; +package io.soluble.pjb.bridge.http; import java.io.File; import java.io.IOException; @@ -11,9 +11,9 @@ import java.net.UnknownHostException; import java.util.Map; -import php.java.bridge.ILogger; -import php.java.bridge.Util; -import php.java.bridge.Util.Process; +import io.soluble.pjb.bridge.ILogger; +import io.soluble.pjb.bridge.Util; +import io.soluble.pjb.bridge.Util.Process; /* * Copyright (C) 2003-2007 Jost Boekemeier diff --git a/server/php/java/bridge/http/SocketContextServer.java b/src/main/java/io/soluble/pjb/bridge/http/SocketContextServer.java similarity index 93% rename from server/php/java/bridge/http/SocketContextServer.java rename to src/main/java/io/soluble/pjb/bridge/http/SocketContextServer.java index eac456c..94fb17c 100644 --- a/server/php/java/bridge/http/SocketContextServer.java +++ b/src/main/java/io/soluble/pjb/bridge/http/SocketContextServer.java @@ -1,6 +1,6 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.bridge.http; +package io.soluble.pjb.bridge.http; /* * Copyright (C) 2003-2007 Jost Boekemeier @@ -33,16 +33,16 @@ import java.util.Iterator; import java.util.List; -import php.java.bridge.AppThreadPool; -import php.java.bridge.ILogger; -import php.java.bridge.ISocketFactory; -import php.java.bridge.JavaBridge; -import php.java.bridge.Util; +import io.soluble.pjb.bridge.AppThreadPool; +import io.soluble.pjb.bridge.ILogger; +import io.soluble.pjb.bridge.ISocketFactory; +import io.soluble.pjb.bridge.JavaBridge; +import io.soluble.pjb.bridge.Util; /** * This class manages the fallback physical connection for the * operating system which doesn't support named pipes, "Windows", or when the - * System property php.java.bridge.promiscuous is set to true. + * System property io.soluble.pjb.bridge.promiscuous is set to true. *

* When isAvailable() returns true, a server socket bound to the local * interface (127.0.0.1) has been created on a port in the range @@ -53,10 +53,10 @@ *

*

It is possible to switch * off this server by setting the VM property - * php.java.bridge.no_socket_server to true, e.g.: - * -Dphp.java.bridge.no_socket_server=true.

+ * io.soluble.pjb.bridge.no_socket_server to true, e.g.: + * -Dio.soluble.pjb.bridge.no_socket_server=true.

* - * @see php.java.bridge.http.ContextServer + * @see io.soluble.pjb.bridge.http.ContextServer */ public final class SocketContextServer implements Runnable, IContextServer { private AppThreadPool threadPool; @@ -215,7 +215,7 @@ private static boolean checkTestTunnel(String property) { } } - public static final boolean SOCKET_SERVER_AVAIL = checkTestTunnel("php.java.bridge.no_socket_server"); + public static final boolean SOCKET_SERVER_AVAIL = checkTestTunnel("io.soluble.pjb.bridge.no_socket_server"); /** * Check if the ContextServer is ready, i.e. it has created a server socket. diff --git a/server/php/java/bridge/http/WriterOutputStream.java b/src/main/java/io/soluble/pjb/bridge/http/WriterOutputStream.java similarity index 96% rename from server/php/java/bridge/http/WriterOutputStream.java rename to src/main/java/io/soluble/pjb/bridge/http/WriterOutputStream.java index 2d4f9ed..9fd3dd8 100644 --- a/server/php/java/bridge/http/WriterOutputStream.java +++ b/src/main/java/io/soluble/pjb/bridge/http/WriterOutputStream.java @@ -1,6 +1,6 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.bridge.http; +package io.soluble.pjb.bridge.http; /* * Copyright (C) 2003-2007 Jost Boekemeier @@ -27,7 +27,7 @@ import java.io.IOException; import java.io.Writer; -import php.java.bridge.Util; +import io.soluble.pjb.bridge.Util; /** * A PrintWriter backed by an OutputStream. diff --git a/server/php/java/bridge/http/package.html b/src/main/java/io/soluble/pjb/bridge/http/package.html similarity index 100% rename from server/php/java/bridge/http/package.html rename to src/main/java/io/soluble/pjb/bridge/http/package.html diff --git a/server/php/java/bridge/package.html b/src/main/java/io/soluble/pjb/bridge/package.html similarity index 100% rename from server/php/java/bridge/package.html rename to src/main/java/io/soluble/pjb/bridge/package.html diff --git a/server/php/java/script/AbstractPhpScriptContext.java b/src/main/java/io/soluble/pjb/script/AbstractPhpScriptContext.java similarity index 95% rename from server/php/java/script/AbstractPhpScriptContext.java rename to src/main/java/io/soluble/pjb/script/AbstractPhpScriptContext.java index fb65036..94941be 100644 --- a/server/php/java/script/AbstractPhpScriptContext.java +++ b/src/main/java/io/soluble/pjb/script/AbstractPhpScriptContext.java @@ -1,6 +1,6 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.script; +package io.soluble.pjb.script; /* * Copyright (C) 2003-2007 Jost Boekemeier @@ -28,9 +28,9 @@ import javax.script.ScriptContext; -import php.java.bridge.Util; -import php.java.bridge.http.IContext; -import php.java.bridge.http.WriterOutputStream; +import io.soluble.pjb.bridge.Util; +import io.soluble.pjb.bridge.http.IContext; +import io.soluble.pjb.bridge.http.WriterOutputStream; /** diff --git a/server/php/java/script/AbstractPhpScriptEngine.java b/src/main/java/io/soluble/pjb/script/AbstractPhpScriptEngine.java similarity index 97% rename from server/php/java/script/AbstractPhpScriptEngine.java rename to src/main/java/io/soluble/pjb/script/AbstractPhpScriptEngine.java index 0fbe411..5256b8e 100644 --- a/server/php/java/script/AbstractPhpScriptEngine.java +++ b/src/main/java/io/soluble/pjb/script/AbstractPhpScriptEngine.java @@ -1,6 +1,6 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.script; +package io.soluble.pjb.script; /* * Copyright (C) 2003-2007 Jost Boekemeier @@ -46,19 +46,19 @@ import javax.script.SimpleBindings; import javax.script.SimpleScriptContext; -import php.java.bridge.Util; -import php.java.bridge.http.AbstractChannelName; -import php.java.bridge.http.ContextServer; -import php.java.bridge.http.HeaderParser; -import php.java.bridge.http.IContext; -import php.java.bridge.http.IContextFactory; -import php.java.bridge.http.WriterOutputStream; +import io.soluble.pjb.bridge.Util; +import io.soluble.pjb.bridge.http.AbstractChannelName; +import io.soluble.pjb.bridge.http.ContextServer; +import io.soluble.pjb.bridge.http.HeaderParser; +import io.soluble.pjb.bridge.http.IContext; +import io.soluble.pjb.bridge.http.IContextFactory; +import io.soluble.pjb.bridge.http.WriterOutputStream; /** * This class implements the ScriptEngine.

* - * @see php.java.script.InvocablePhpScriptEngine - * @see php.java.script.PhpScriptEngine + * @see io.soluble.pjb.script.InvocablePhpScriptEngine + * @see io.soluble.pjb.script.PhpScriptEngine */ abstract class AbstractPhpScriptEngine extends AbstractScriptEngine implements IPhpScriptEngine, Compilable, java.io.FileFilter, CloneableScript { diff --git a/server/php/java/script/CGIRunner.java b/src/main/java/io/soluble/pjb/script/CGIRunner.java similarity index 92% rename from server/php/java/script/CGIRunner.java rename to src/main/java/io/soluble/pjb/script/CGIRunner.java index f5ef49d..f6d66e5 100644 --- a/server/php/java/script/CGIRunner.java +++ b/src/main/java/io/soluble/pjb/script/CGIRunner.java @@ -1,6 +1,6 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.script; +package io.soluble.pjb.script; /* * Copyright (C) 2003-2007 Jost Boekemeier @@ -33,10 +33,10 @@ import java.io.Writer; import java.util.Map; -import php.java.bridge.ILogger; -import php.java.bridge.Util; -import php.java.bridge.http.HeaderParser; -import php.java.bridge.http.OutputStreamFactory; +import io.soluble.pjb.bridge.ILogger; +import io.soluble.pjb.bridge.Util; +import io.soluble.pjb.bridge.http.HeaderParser; +import io.soluble.pjb.bridge.http.OutputStreamFactory; /** * This class can be used to run a PHP CGI binary. Used only when @@ -44,9 +44,9 @@ * please use a HttpProxy and a URLReader instead. * * @author jostb - * @see php.java.bridge.http.HttpServer - * @see php.java.script.URLReader - * @see php.java.script.HttpProxy + * @see io.soluble.pjb.bridge.http.HttpServer + * @see io.soluble.pjb.script.URLReader + * @see io.soluble.pjb.script.HttpProxy */ public class CGIRunner extends Continuation { diff --git a/server/php/java/script/CloneableScript.java b/src/main/java/io/soluble/pjb/script/CloneableScript.java similarity index 97% rename from server/php/java/script/CloneableScript.java rename to src/main/java/io/soluble/pjb/script/CloneableScript.java index e00cb43..cced3a8 100644 --- a/server/php/java/script/CloneableScript.java +++ b/src/main/java/io/soluble/pjb/script/CloneableScript.java @@ -1,6 +1,6 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.script; +package io.soluble.pjb.script; /* diff --git a/server/php/java/script/CloseableInteractivePhpScriptEngine.java b/src/main/java/io/soluble/pjb/script/CloseableInteractivePhpScriptEngine.java similarity index 97% rename from server/php/java/script/CloseableInteractivePhpScriptEngine.java rename to src/main/java/io/soluble/pjb/script/CloseableInteractivePhpScriptEngine.java index 5d8f7ed..e600d2d 100644 --- a/server/php/java/script/CloseableInteractivePhpScriptEngine.java +++ b/src/main/java/io/soluble/pjb/script/CloseableInteractivePhpScriptEngine.java @@ -1,6 +1,6 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.script; +package io.soluble.pjb.script; /* * Copyright (C) 2003-2007 Jost Boekemeier diff --git a/server/php/java/script/CloseableInvocablePhpScriptEngine.java b/src/main/java/io/soluble/pjb/script/CloseableInvocablePhpScriptEngine.java similarity index 97% rename from server/php/java/script/CloseableInvocablePhpScriptEngine.java rename to src/main/java/io/soluble/pjb/script/CloseableInvocablePhpScriptEngine.java index 599cb19..62ad7cb 100644 --- a/server/php/java/script/CloseableInvocablePhpScriptEngine.java +++ b/src/main/java/io/soluble/pjb/script/CloseableInvocablePhpScriptEngine.java @@ -1,6 +1,6 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.script; +package io.soluble.pjb.script; /* * Copyright (C) 2003-2007 Jost Boekemeier diff --git a/server/php/java/script/CloseablePhpScriptEngine.java b/src/main/java/io/soluble/pjb/script/CloseablePhpScriptEngine.java similarity index 97% rename from server/php/java/script/CloseablePhpScriptEngine.java rename to src/main/java/io/soluble/pjb/script/CloseablePhpScriptEngine.java index 8fa755c..8251f56 100644 --- a/server/php/java/script/CloseablePhpScriptEngine.java +++ b/src/main/java/io/soluble/pjb/script/CloseablePhpScriptEngine.java @@ -1,6 +1,6 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.script; +package io.soluble.pjb.script; /* * Copyright (C) 2003-2007 Jost Boekemeier diff --git a/server/php/java/script/CompiledPhpScript.java b/src/main/java/io/soluble/pjb/script/CompiledPhpScript.java similarity index 98% rename from server/php/java/script/CompiledPhpScript.java rename to src/main/java/io/soluble/pjb/script/CompiledPhpScript.java index dd6f28b..e1aa760 100644 --- a/server/php/java/script/CompiledPhpScript.java +++ b/src/main/java/io/soluble/pjb/script/CompiledPhpScript.java @@ -1,6 +1,6 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.script; +package io.soluble.pjb.script; import javax.script.CompiledScript; import javax.script.ScriptContext; diff --git a/server/php/java/script/Continuation.java b/src/main/java/io/soluble/pjb/script/Continuation.java similarity index 95% rename from server/php/java/script/Continuation.java rename to src/main/java/io/soluble/pjb/script/Continuation.java index c0fe4bc..9f08b04 100644 --- a/server/php/java/script/Continuation.java +++ b/src/main/java/io/soluble/pjb/script/Continuation.java @@ -1,6 +1,6 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.script; +package io.soluble.pjb.script; /* * Copyright (C) 2003-2007 Jost Boekemeier @@ -28,17 +28,17 @@ import java.io.OutputStream; import java.util.Map; -import php.java.bridge.Util; -import php.java.bridge.http.HeaderParser; +import io.soluble.pjb.bridge.Util; +import io.soluble.pjb.bridge.http.HeaderParser; /** * This class represents the logic to run PHP scripts through CGI, FastCGI or on a remote HTTP server * (accessed through URLReader). * * @author jostb - * @see php.java.bridge.http.HttpServer - * @see php.java.script.URLReader - * @see php.java.script.HttpProxy + * @see io.soluble.pjb.bridge.http.HttpServer + * @see io.soluble.pjb.script.URLReader + * @see io.soluble.pjb.script.HttpProxy */ public abstract class Continuation implements IContinuation, Runnable { diff --git a/server/php/java/script/FCGIProcess.java b/src/main/java/io/soluble/pjb/script/FCGIProcess.java similarity index 96% rename from server/php/java/script/FCGIProcess.java rename to src/main/java/io/soluble/pjb/script/FCGIProcess.java index 1f0d9e0..5752d76 100644 --- a/server/php/java/script/FCGIProcess.java +++ b/src/main/java/io/soluble/pjb/script/FCGIProcess.java @@ -1,6 +1,6 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.script; +package io.soluble.pjb.script; /* * Copyright (C) 2003-2007 Jost Boekemeier @@ -29,8 +29,8 @@ import java.util.LinkedList; import java.util.Map; -import php.java.bridge.Util; -import php.java.bridge.http.IFCGIProcess; +import io.soluble.pjb.bridge.Util; +import io.soluble.pjb.bridge.http.IFCGIProcess; /** * Represents the FastCGI process. diff --git a/server/php/java/script/FastCGIProxy.java b/src/main/java/io/soluble/pjb/script/FastCGIProxy.java similarity index 92% rename from server/php/java/script/FastCGIProxy.java rename to src/main/java/io/soluble/pjb/script/FastCGIProxy.java index fbb79c5..79e9c18 100644 --- a/server/php/java/script/FastCGIProxy.java +++ b/src/main/java/io/soluble/pjb/script/FastCGIProxy.java @@ -1,6 +1,6 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.script; +package io.soluble.pjb.script; /* * Copyright (C) 2003-2007 Jost Boekemeier @@ -34,20 +34,20 @@ import java.util.HashMap; import java.util.Map; -import php.java.bridge.ILogger; -import php.java.bridge.Util; -import php.java.bridge.http.FCGIConnectException; -import php.java.bridge.http.FCGIConnection; -import php.java.bridge.http.FCGIConnectionFactory; -import php.java.bridge.http.FCGIConnectionPool; -import php.java.bridge.http.FCGIIOFactory; -import php.java.bridge.http.FCGIInputStream; -import php.java.bridge.http.FCGIOutputStream; -import php.java.bridge.http.FCGIUtil; -import php.java.bridge.http.HeaderParser; -import php.java.bridge.http.IFCGIProcess; -import php.java.bridge.http.IFCGIProcessFactory; -import php.java.bridge.http.OutputStreamFactory; +import io.soluble.pjb.bridge.ILogger; +import io.soluble.pjb.bridge.Util; +import io.soluble.pjb.bridge.http.FCGIConnectException; +import io.soluble.pjb.bridge.http.FCGIConnection; +import io.soluble.pjb.bridge.http.FCGIConnectionFactory; +import io.soluble.pjb.bridge.http.FCGIConnectionPool; +import io.soluble.pjb.bridge.http.FCGIIOFactory; +import io.soluble.pjb.bridge.http.FCGIInputStream; +import io.soluble.pjb.bridge.http.FCGIOutputStream; +import io.soluble.pjb.bridge.http.FCGIUtil; +import io.soluble.pjb.bridge.http.HeaderParser; +import io.soluble.pjb.bridge.http.IFCGIProcess; +import io.soluble.pjb.bridge.http.IFCGIProcessFactory; +import io.soluble.pjb.bridge.http.OutputStreamFactory; /** * This class can be used to run (and to connect to) a FastCGI server. diff --git a/server/php/java/script/HttpProxy.java b/src/main/java/io/soluble/pjb/script/HttpProxy.java similarity index 93% rename from server/php/java/script/HttpProxy.java rename to src/main/java/io/soluble/pjb/script/HttpProxy.java index cabf3fd..a285aec 100644 --- a/server/php/java/script/HttpProxy.java +++ b/src/main/java/io/soluble/pjb/script/HttpProxy.java @@ -1,6 +1,6 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.script; +package io.soluble.pjb.script; /* * Copyright (C) 2003-2007 Jost Boekemeier @@ -29,9 +29,9 @@ import java.io.Reader; import java.util.Map; -import php.java.bridge.ILogger; -import php.java.bridge.Util.Process.PhpException; -import php.java.bridge.http.HeaderParser; +import io.soluble.pjb.bridge.ILogger; +import io.soluble.pjb.bridge.Util.Process.PhpException; +import io.soluble.pjb.bridge.http.HeaderParser; /** * Represents the script continuation. diff --git a/server/php/java/script/IContinuation.java b/src/main/java/io/soluble/pjb/script/IContinuation.java similarity index 97% rename from server/php/java/script/IContinuation.java rename to src/main/java/io/soluble/pjb/script/IContinuation.java index fdeb40f..d93d2b5 100644 --- a/server/php/java/script/IContinuation.java +++ b/src/main/java/io/soluble/pjb/script/IContinuation.java @@ -1,4 +1,4 @@ -package php.java.script; +package io.soluble.pjb.script; /** * Classes implementing this interface represent the script continuation; diff --git a/server/php/java/script/IPhpScriptContext.java b/src/main/java/io/soluble/pjb/script/IPhpScriptContext.java similarity index 90% rename from server/php/java/script/IPhpScriptContext.java rename to src/main/java/io/soluble/pjb/script/IPhpScriptContext.java index b8bd73c..2b3d1c4 100644 --- a/server/php/java/script/IPhpScriptContext.java +++ b/src/main/java/io/soluble/pjb/script/IPhpScriptContext.java @@ -1,6 +1,6 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.script; +package io.soluble.pjb.script; /* * Copyright (C) 2003-2007 Jost Boekemeier @@ -30,12 +30,12 @@ import javax.script.ScriptContext; -import php.java.bridge.ILogger; -import php.java.bridge.IManaged; -import php.java.bridge.Invocable; -import php.java.bridge.http.ContextServer; -import php.java.bridge.http.HeaderParser; -import php.java.bridge.http.IContext; +import io.soluble.pjb.bridge.ILogger; +import io.soluble.pjb.bridge.IManaged; +import io.soluble.pjb.bridge.Invocable; +import io.soluble.pjb.bridge.http.ContextServer; +import io.soluble.pjb.bridge.http.HeaderParser; +import io.soluble.pjb.bridge.http.IContext; /** * Common methods for all PHP ScriptContexts diff --git a/server/php/java/script/IPhpScriptEngine.java b/src/main/java/io/soluble/pjb/script/IPhpScriptEngine.java similarity index 98% rename from server/php/java/script/IPhpScriptEngine.java rename to src/main/java/io/soluble/pjb/script/IPhpScriptEngine.java index 2051caa..dc3980a 100644 --- a/server/php/java/script/IPhpScriptEngine.java +++ b/src/main/java/io/soluble/pjb/script/IPhpScriptEngine.java @@ -1,6 +1,6 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.script; +package io.soluble.pjb.script; /* * Copyright (C) 2003-2007 Jost Boekemeier diff --git a/server/php/java/script/IScriptReader.java b/src/main/java/io/soluble/pjb/script/IScriptReader.java similarity index 95% rename from server/php/java/script/IScriptReader.java rename to src/main/java/io/soluble/pjb/script/IScriptReader.java index ddc0782..1b45c2a 100644 --- a/server/php/java/script/IScriptReader.java +++ b/src/main/java/io/soluble/pjb/script/IScriptReader.java @@ -1,6 +1,6 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.script; +package io.soluble.pjb.script; /* * Copyright (C) 2003-2007 Jost Boekemeier and others. @@ -29,8 +29,8 @@ import java.io.OutputStream; import java.util.Map; -import php.java.bridge.Util; -import php.java.bridge.http.HeaderParser; +import io.soluble.pjb.bridge.Util; +import io.soluble.pjb.bridge.http.HeaderParser; /** * Read data from a URL or from a servlet and write the result to the output stream and a header parser. diff --git a/server/php/java/script/InteractivePhpScriptContextFactory.java b/src/main/java/io/soluble/pjb/script/InteractivePhpScriptContextFactory.java similarity index 92% rename from server/php/java/script/InteractivePhpScriptContextFactory.java rename to src/main/java/io/soluble/pjb/script/InteractivePhpScriptContextFactory.java index 0a0f934..f50e362 100644 --- a/server/php/java/script/InteractivePhpScriptContextFactory.java +++ b/src/main/java/io/soluble/pjb/script/InteractivePhpScriptContextFactory.java @@ -1,6 +1,6 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.script; +package io.soluble.pjb.script; /* * Copyright (C) 2003-2007 Jost Boekemeier @@ -24,9 +24,9 @@ * OTHER DEALINGS IN THE SOFTWARE. */ -import php.java.bridge.ISession; -import php.java.bridge.http.IContext; -import php.java.bridge.http.IContextFactory; +import io.soluble.pjb.bridge.ISession; +import io.soluble.pjb.bridge.http.IContext; +import io.soluble.pjb.bridge.http.IContextFactory; /** * A custom context factory, creates a ContextFactory for JSR223 contexts. sessions do not expire. diff --git a/server/php/java/script/InteractivePhpScriptEngine.java b/src/main/java/io/soluble/pjb/script/InteractivePhpScriptEngine.java similarity index 94% rename from server/php/java/script/InteractivePhpScriptEngine.java rename to src/main/java/io/soluble/pjb/script/InteractivePhpScriptEngine.java index 44cfe0e..ea18b3c 100644 --- a/server/php/java/script/InteractivePhpScriptEngine.java +++ b/src/main/java/io/soluble/pjb/script/InteractivePhpScriptEngine.java @@ -1,6 +1,6 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.script; +package io.soluble.pjb.script; /* * Copyright (C) 2003-2007 Jost Boekemeier @@ -31,8 +31,8 @@ import javax.script.ScriptContext; import javax.script.ScriptException; -import php.java.bridge.Util; -import php.java.bridge.http.IContext; +import io.soluble.pjb.bridge.Util; +import io.soluble.pjb.bridge.http.IContext; /** * A convenience variant of the PHP script engine which can be used interactively.

@@ -49,7 +49,7 @@ public class InteractivePhpScriptEngine extends InvocablePhpScriptEngine { private static final String restoreState = "" + - "$javabridge_values=unserialize(java_values(java_context()->getAttribute('php.java.bridge.JAVABRIDGE_TMP_VALUES', 100)));" + + "$javabridge_values=unserialize(java_values(java_context()->getAttribute('io.soluble.pjb.bridge.JAVABRIDGE_TMP_VALUES', 100)));" + "if($javabridge_values)" + "foreach ($javabridge_values as $javabridge_key=>$javabridge_val) " + "{eval(\"\\$$javabridge_key=\\$javabridge_values[\\$javabridge_key];\");}\n"; @@ -57,7 +57,7 @@ public class InteractivePhpScriptEngine extends InvocablePhpScriptEngine { "foreach (get_defined_vars() as $javabridge_key=>$javabridge_val) " + "{if(in_array($javabridge_key, $javabridge_ignored_keys)) continue;" + "eval(\"\\$javabridge_values[\\$javabridge_key]=\\$$javabridge_key;\");};" + - "java_context()->setAttribute('php.java.bridge.JAVABRIDGE_TMP_VALUES', serialize($javabridge_values), 100);\n"; + "java_context()->setAttribute('io.soluble.pjb.bridge.JAVABRIDGE_TMP_VALUES', serialize($javabridge_values), 100);\n"; public InteractivePhpScriptEngine() { diff --git a/server/php/java/script/InteractivePhpScriptEngineFactory.java b/src/main/java/io/soluble/pjb/script/InteractivePhpScriptEngineFactory.java similarity index 98% rename from server/php/java/script/InteractivePhpScriptEngineFactory.java rename to src/main/java/io/soluble/pjb/script/InteractivePhpScriptEngineFactory.java index 55bd9c7..d4bfbf8 100644 --- a/server/php/java/script/InteractivePhpScriptEngineFactory.java +++ b/src/main/java/io/soluble/pjb/script/InteractivePhpScriptEngineFactory.java @@ -1,5 +1,5 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.script; +package io.soluble.pjb.script; /* * Copyright (C) 2003-2007 Jost Boekemeier diff --git a/server/php/java/script/InvocablePhpScriptEngine.java b/src/main/java/io/soluble/pjb/script/InvocablePhpScriptEngine.java similarity index 98% rename from server/php/java/script/InvocablePhpScriptEngine.java rename to src/main/java/io/soluble/pjb/script/InvocablePhpScriptEngine.java index c0703d4..ea31d29 100644 --- a/server/php/java/script/InvocablePhpScriptEngine.java +++ b/src/main/java/io/soluble/pjb/script/InvocablePhpScriptEngine.java @@ -1,6 +1,6 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.script; +package io.soluble.pjb.script; /* * Copyright (C) 2003-2007 Jost Boekemeier @@ -42,9 +42,10 @@ import javax.script.ScriptContext; import javax.script.ScriptException; -import php.java.bridge.PhpProcedure; -import php.java.bridge.Util; -import php.java.bridge.http.IContext; +import io.soluble.pjb.bridge.PhpProcedure; +import io.soluble.pjb.bridge.Request; +import io.soluble.pjb.bridge.Util; +import io.soluble.pjb.bridge.http.IContext; /** * This class implements the ScriptEngine and the Invocable interface.

@@ -128,7 +129,7 @@ protected Object invoke(String methodName, Object[] args) } try { return invoke(scriptClosure, methodName, args); - } catch (php.java.bridge.Request.AbortException e) { + } catch (Request.AbortException e) { release(); throw new ScriptException(e); } catch (NoSuchMethodError e) { // conform to jsr223 diff --git a/server/php/java/script/InvocablePhpScriptEngineFactory.java b/src/main/java/io/soluble/pjb/script/InvocablePhpScriptEngineFactory.java similarity index 98% rename from server/php/java/script/InvocablePhpScriptEngineFactory.java rename to src/main/java/io/soluble/pjb/script/InvocablePhpScriptEngineFactory.java index 8bbfc68..27ae1b8 100644 --- a/server/php/java/script/InvocablePhpScriptEngineFactory.java +++ b/src/main/java/io/soluble/pjb/script/InvocablePhpScriptEngineFactory.java @@ -1,5 +1,5 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.script; +package io.soluble.pjb.script; /* * Copyright (C) 2003-2007 Jost Boekemeier diff --git a/server/php/java/script/JavaBridgeScriptRunner.java b/src/main/java/io/soluble/pjb/script/JavaBridgeScriptRunner.java similarity index 96% rename from server/php/java/script/JavaBridgeScriptRunner.java rename to src/main/java/io/soluble/pjb/script/JavaBridgeScriptRunner.java index 4f4019f..065dea8 100644 --- a/server/php/java/script/JavaBridgeScriptRunner.java +++ b/src/main/java/io/soluble/pjb/script/JavaBridgeScriptRunner.java @@ -1,6 +1,6 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.script; +package io.soluble.pjb.script; /* * Copyright (C) 2003-2007 Jost Boekemeier @@ -37,10 +37,10 @@ import javax.script.ScriptEngine; import javax.script.ScriptEngineManager; -import php.java.bridge.JavaBridgeRunner; -import php.java.bridge.Util; -import php.java.bridge.http.HttpRequest; -import php.java.bridge.http.HttpResponse; +import io.soluble.pjb.bridge.JavaBridgeRunner; +import io.soluble.pjb.bridge.Util; +import io.soluble.pjb.bridge.http.HttpRequest; +import io.soluble.pjb.bridge.http.HttpResponse; /** * This is the main entry point for the PHP/Java Bridge library. @@ -54,7 +54,7 @@ * }
* * @author jostb - * @see php.java.script.PhpScriptContext + * @see io.soluble.pjb.script.PhpScriptContext */ public class JavaBridgeScriptRunner extends JavaBridgeRunner { private ScriptEngineManager m = new ScriptEngineManager(); diff --git a/server/php/java/script/PhpCompiledScriptContext.java b/src/main/java/io/soluble/pjb/script/PhpCompiledScriptContext.java similarity index 95% rename from server/php/java/script/PhpCompiledScriptContext.java rename to src/main/java/io/soluble/pjb/script/PhpCompiledScriptContext.java index c0dd066..22a7745 100644 --- a/server/php/java/script/PhpCompiledScriptContext.java +++ b/src/main/java/io/soluble/pjb/script/PhpCompiledScriptContext.java @@ -1,13 +1,13 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.script; +package io.soluble.pjb.script; import java.io.OutputStream; import java.io.Reader; import java.util.Map; -import php.java.bridge.ILogger; -import php.java.bridge.http.HeaderParser; +import io.soluble.pjb.bridge.ILogger; +import io.soluble.pjb.bridge.http.HeaderParser; /* * Copyright (C) 2003-2007 Jost Boekemeier diff --git a/server/php/java/script/PhpJavaBridgeRunnerScriptContext.java b/src/main/java/io/soluble/pjb/script/PhpJavaBridgeRunnerScriptContext.java similarity index 94% rename from server/php/java/script/PhpJavaBridgeRunnerScriptContext.java rename to src/main/java/io/soluble/pjb/script/PhpJavaBridgeRunnerScriptContext.java index 97afad0..459b895 100644 --- a/server/php/java/script/PhpJavaBridgeRunnerScriptContext.java +++ b/src/main/java/io/soluble/pjb/script/PhpJavaBridgeRunnerScriptContext.java @@ -1,11 +1,11 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.script; +package io.soluble.pjb.script; import javax.script.ScriptContext; -import php.java.bridge.JavaBridgeRunner; -import php.java.bridge.http.ContextServer; +import io.soluble.pjb.bridge.JavaBridgeRunner; +import io.soluble.pjb.bridge.http.ContextServer; /* * Copyright (C) 2003-2007 Jost Boekemeier diff --git a/server/php/java/script/PhpScriptContext.java b/src/main/java/io/soluble/pjb/script/PhpScriptContext.java similarity index 90% rename from server/php/java/script/PhpScriptContext.java rename to src/main/java/io/soluble/pjb/script/PhpScriptContext.java index c438a2d..ee6e74b 100644 --- a/server/php/java/script/PhpScriptContext.java +++ b/src/main/java/io/soluble/pjb/script/PhpScriptContext.java @@ -1,6 +1,6 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.script; +package io.soluble.pjb.script; /* * Copyright (C) 2003-2007 Jost Boekemeier @@ -32,13 +32,13 @@ import javax.script.ScriptContext; -import php.java.bridge.ILogger; -import php.java.bridge.JavaBridgeRunner; -import php.java.bridge.NotImplementedException; -import php.java.bridge.Util; -import php.java.bridge.http.ContextServer; -import php.java.bridge.http.HeaderParser; -import php.java.bridge.http.IContext; +import io.soluble.pjb.bridge.ILogger; +import io.soluble.pjb.bridge.JavaBridgeRunner; +import io.soluble.pjb.bridge.NotImplementedException; +import io.soluble.pjb.bridge.Util; +import io.soluble.pjb.bridge.http.ContextServer; +import io.soluble.pjb.bridge.http.HeaderParser; +import io.soluble.pjb.bridge.http.IContext; /** * This class implements a simple script context for PHP. It starts a standalone @@ -47,7 +47,7 @@ * In a servlet environment please use a php.java.script.http.PhpSimpleHttpScriptContext instead. * * @author jostb - * @see php.java.script.PhpScriptContext + * @see io.soluble.pjb.script.PhpScriptContext * @see php.java.bridge.JavaBridgeRunner */ @@ -60,14 +60,14 @@ public PhpScriptContext(ScriptContext ctx) { * {@inheritDoc} */ public Object init(Object callable) throws Exception { - return php.java.bridge.http.Context.getManageable(callable); + return io.soluble.pjb.bridge.http.Context.getManageable(callable); } /** * {@inheritDoc} */ public void onShutdown(Object closeable) { - php.java.bridge.http.Context.handleManaged(closeable); + io.soluble.pjb.bridge.http.Context.handleManaged(closeable); } /** @@ -119,7 +119,7 @@ public Object getServletConfig() { * {@inheritDoc} */ public String getRealPath(String path) { - return php.java.bridge.http.Context.getRealPathInternal(path); + return io.soluble.pjb.bridge.http.Context.getRealPathInternal(path); } /** diff --git a/server/php/java/script/PhpScriptContextDecorator.java b/src/main/java/io/soluble/pjb/script/PhpScriptContextDecorator.java similarity index 97% rename from server/php/java/script/PhpScriptContextDecorator.java rename to src/main/java/io/soluble/pjb/script/PhpScriptContextDecorator.java index db08a2d..99e28dc 100644 --- a/server/php/java/script/PhpScriptContextDecorator.java +++ b/src/main/java/io/soluble/pjb/script/PhpScriptContextDecorator.java @@ -1,6 +1,6 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.script; +package io.soluble.pjb.script; /* * Copyright (C) 2003-2007 Jost Boekemeier @@ -32,10 +32,10 @@ import javax.script.Bindings; -import php.java.bridge.ILogger; -import php.java.bridge.NotImplementedException; -import php.java.bridge.http.ContextServer; -import php.java.bridge.http.HeaderParser; +import io.soluble.pjb.bridge.ILogger; +import io.soluble.pjb.bridge.NotImplementedException; +import io.soluble.pjb.bridge.http.ContextServer; +import io.soluble.pjb.bridge.http.HeaderParser; /** * Abstract class for IPhpScriptContexts. The abstract class itself provides default methods that pass diff --git a/server/php/java/script/PhpScriptContextFactory.java b/src/main/java/io/soluble/pjb/script/PhpScriptContextFactory.java similarity index 86% rename from server/php/java/script/PhpScriptContextFactory.java rename to src/main/java/io/soluble/pjb/script/PhpScriptContextFactory.java index 7b2d595..fd8f2aa 100644 --- a/server/php/java/script/PhpScriptContextFactory.java +++ b/src/main/java/io/soluble/pjb/script/PhpScriptContextFactory.java @@ -1,6 +1,6 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.script; +package io.soluble.pjb.script; /* * Copyright (C) 2003-2007 Jost Boekemeier @@ -24,16 +24,16 @@ * OTHER DEALINGS IN THE SOFTWARE. */ -import php.java.bridge.http.ContextFactory; -import php.java.bridge.http.IContext; -import php.java.bridge.http.IContextFactory; +import io.soluble.pjb.bridge.http.ContextFactory; +import io.soluble.pjb.bridge.http.IContext; +import io.soluble.pjb.bridge.http.IContextFactory; /** * A custom context factory, creates a ContextFactory for JSR223 contexts. * * @author jostb */ -public class PhpScriptContextFactory extends php.java.bridge.http.SimpleContextFactory { +public class PhpScriptContextFactory extends io.soluble.pjb.bridge.http.SimpleContextFactory { /** * Add the PhpScriptContext diff --git a/server/php/java/script/PhpScriptEngine.java b/src/main/java/io/soluble/pjb/script/PhpScriptEngine.java similarity index 98% rename from server/php/java/script/PhpScriptEngine.java rename to src/main/java/io/soluble/pjb/script/PhpScriptEngine.java index e9851ba..a6ea00b 100644 --- a/server/php/java/script/PhpScriptEngine.java +++ b/src/main/java/io/soluble/pjb/script/PhpScriptEngine.java @@ -1,6 +1,6 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.script; +package io.soluble.pjb.script; /* * Copyright (C) 2003-2007 Jost Boekemeier @@ -37,8 +37,8 @@ import javax.script.ScriptContext; import javax.script.ScriptException; -import php.java.bridge.Util; -import php.java.bridge.http.IContext; +import io.soluble.pjb.bridge.Util; +import io.soluble.pjb.bridge.http.IContext; /** * This class implements the ScriptEngine.

diff --git a/server/php/java/script/PhpScriptEngineFactory.java b/src/main/java/io/soluble/pjb/script/PhpScriptEngineFactory.java similarity index 98% rename from server/php/java/script/PhpScriptEngineFactory.java rename to src/main/java/io/soluble/pjb/script/PhpScriptEngineFactory.java index 839aa0d..cde77f9 100644 --- a/server/php/java/script/PhpScriptEngineFactory.java +++ b/src/main/java/io/soluble/pjb/script/PhpScriptEngineFactory.java @@ -1,5 +1,5 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.script; +package io.soluble.pjb.script; /* * Copyright (C) 2003-2007 Jost Boekemeier @@ -29,7 +29,7 @@ import javax.script.ScriptEngine; import javax.script.ScriptEngineFactory; -import php.java.bridge.Util; +import io.soluble.pjb.bridge.Util; /** * Create a standalone PHP script engines. diff --git a/server/php/java/script/PhpScriptException.java b/src/main/java/io/soluble/pjb/script/PhpScriptException.java similarity index 98% rename from server/php/java/script/PhpScriptException.java rename to src/main/java/io/soluble/pjb/script/PhpScriptException.java index 2ca230d..ce983ae 100644 --- a/server/php/java/script/PhpScriptException.java +++ b/src/main/java/io/soluble/pjb/script/PhpScriptException.java @@ -1,6 +1,6 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.script; +package io.soluble.pjb.script; /* * Copyright (C) 2003-2007 Jost Boekemeier diff --git a/server/php/java/script/PhpScriptWriter.java b/src/main/java/io/soluble/pjb/script/PhpScriptWriter.java similarity index 98% rename from server/php/java/script/PhpScriptWriter.java rename to src/main/java/io/soluble/pjb/script/PhpScriptWriter.java index bc90763..a7e7306 100644 --- a/server/php/java/script/PhpScriptWriter.java +++ b/src/main/java/io/soluble/pjb/script/PhpScriptWriter.java @@ -1,6 +1,6 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.script; +package io.soluble.pjb.script; /* * Copyright (C) 2003-2007 Jost Boekemeier diff --git a/server/php/java/script/PhpSecureScriptContext.java b/src/main/java/io/soluble/pjb/script/PhpSecureScriptContext.java similarity index 98% rename from server/php/java/script/PhpSecureScriptContext.java rename to src/main/java/io/soluble/pjb/script/PhpSecureScriptContext.java index 14d3686..b5edba4 100644 --- a/server/php/java/script/PhpSecureScriptContext.java +++ b/src/main/java/io/soluble/pjb/script/PhpSecureScriptContext.java @@ -1,6 +1,6 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.script; +package io.soluble.pjb.script; import javax.script.ScriptContext; diff --git a/server/php/java/script/ResultProxy.java b/src/main/java/io/soluble/pjb/script/ResultProxy.java similarity index 98% rename from server/php/java/script/ResultProxy.java rename to src/main/java/io/soluble/pjb/script/ResultProxy.java index ae40f68..f0f2831 100644 --- a/server/php/java/script/ResultProxy.java +++ b/src/main/java/io/soluble/pjb/script/ResultProxy.java @@ -1,10 +1,10 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.script; +package io.soluble.pjb.script; import java.io.IOException; -import php.java.bridge.Util; +import io.soluble.pjb.bridge.Util; /* * Copyright (C) 2003-2007 Jost Boekemeier diff --git a/server/php/java/script/ScriptContextDecorator.java b/src/main/java/io/soluble/pjb/script/ScriptContextDecorator.java similarity index 99% rename from server/php/java/script/ScriptContextDecorator.java rename to src/main/java/io/soluble/pjb/script/ScriptContextDecorator.java index c4061e1..83b2597 100644 --- a/server/php/java/script/ScriptContextDecorator.java +++ b/src/main/java/io/soluble/pjb/script/ScriptContextDecorator.java @@ -1,6 +1,6 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.script; +package io.soluble.pjb.script; /* * Copyright (C) 2003-2007 Jost Boekemeier diff --git a/server/php/java/script/URLReader.java b/src/main/java/io/soluble/pjb/script/URLReader.java similarity index 98% rename from server/php/java/script/URLReader.java rename to src/main/java/io/soluble/pjb/script/URLReader.java index 65af051..d2856b3 100644 --- a/server/php/java/script/URLReader.java +++ b/src/main/java/io/soluble/pjb/script/URLReader.java @@ -1,6 +1,6 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.script; +package io.soluble.pjb.script; /* * Copyright (C) 2003-2007 Jost Boekemeier @@ -48,8 +48,8 @@ import javax.net.ssl.SSLSocketFactory; import javax.net.ssl.X509TrustManager; -import php.java.bridge.Util; -import php.java.bridge.http.HeaderParser; +import io.soluble.pjb.bridge.Util; +import io.soluble.pjb.bridge.http.HeaderParser; /** * This class can be used to connect to a HTTP server to allocate and to invoke php scripts. diff --git a/server/php/java/script/package.html b/src/main/java/io/soluble/pjb/script/package.html similarity index 100% rename from server/php/java/script/package.html rename to src/main/java/io/soluble/pjb/script/package.html diff --git a/server/php/java/script/servlet/HttpFastCGIProxy.java b/src/main/java/io/soluble/pjb/script/servlet/HttpFastCGIProxy.java similarity index 84% rename from server/php/java/script/servlet/HttpFastCGIProxy.java rename to src/main/java/io/soluble/pjb/script/servlet/HttpFastCGIProxy.java index dcaae87..d6229f1 100644 --- a/server/php/java/script/servlet/HttpFastCGIProxy.java +++ b/src/main/java/io/soluble/pjb/script/servlet/HttpFastCGIProxy.java @@ -1,6 +1,6 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.script.servlet; +package io.soluble.pjb.script.servlet; /* * Copyright (C) 2003-2007 Jost Boekemeier @@ -28,21 +28,21 @@ import java.io.OutputStream; import java.util.Map; -import php.java.bridge.Util; -import php.java.bridge.http.FCGIConnectionPool; -import php.java.bridge.http.FCGIInputStream; -import php.java.bridge.http.FCGIOutputStream; -import php.java.bridge.http.FCGIUtil; -import php.java.bridge.http.HeaderParser; -import php.java.bridge.http.OutputStreamFactory; -import php.java.script.Continuation; -import php.java.script.ResultProxy; +import io.soluble.pjb.bridge.Util; +import io.soluble.pjb.bridge.http.FCGIConnectionPool; +import io.soluble.pjb.bridge.http.FCGIInputStream; +import io.soluble.pjb.bridge.http.FCGIOutputStream; +import io.soluble.pjb.bridge.http.FCGIUtil; +import io.soluble.pjb.bridge.http.HeaderParser; +import io.soluble.pjb.bridge.http.OutputStreamFactory; +import io.soluble.pjb.script.Continuation; +import io.soluble.pjb.script.ResultProxy; /** * This class can be used to connect to a FastCGI server. * * @author jostb - * @see php.java.script.FastCGIProxy + * @see io.soluble.pjb.script.FastCGIProxy */ public class HttpFastCGIProxy extends Continuation { diff --git a/server/php/java/script/servlet/PhpHttpScriptContext.java b/src/main/java/io/soluble/pjb/script/servlet/PhpHttpScriptContext.java similarity index 90% rename from server/php/java/script/servlet/PhpHttpScriptContext.java rename to src/main/java/io/soluble/pjb/script/servlet/PhpHttpScriptContext.java index d9e6709..9ba50d3 100644 --- a/server/php/java/script/servlet/PhpHttpScriptContext.java +++ b/src/main/java/io/soluble/pjb/script/servlet/PhpHttpScriptContext.java @@ -1,4 +1,4 @@ -package php.java.script.servlet; +package io.soluble.pjb.script.servlet; /*-*- mode: Java; tab-width:8 -*-*/ @@ -16,21 +16,21 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import php.java.bridge.ILogger; -import php.java.bridge.NotImplementedException; -import php.java.bridge.Util; -import php.java.bridge.http.ContextServer; -import php.java.bridge.http.HeaderParser; -import php.java.bridge.http.WriterOutputStream; -import php.java.script.Continuation; -import php.java.script.IPhpScriptContext; -import php.java.script.PhpScriptContextDecorator; -import php.java.script.PhpScriptWriter; -import php.java.script.ResultProxy; -import php.java.script.servlet.HttpFastCGIProxy; -import php.java.script.servlet.PhpScriptLogWriter; -import php.java.servlet.ContextLoaderListener; -import php.java.servlet.ServletUtil; +import io.soluble.pjb.bridge.ILogger; +import io.soluble.pjb.bridge.NotImplementedException; +import io.soluble.pjb.bridge.Util; +import io.soluble.pjb.bridge.http.ContextServer; +import io.soluble.pjb.bridge.http.HeaderParser; +import io.soluble.pjb.bridge.http.WriterOutputStream; +import io.soluble.pjb.script.Continuation; +import io.soluble.pjb.script.IPhpScriptContext; +import io.soluble.pjb.script.PhpScriptContextDecorator; +import io.soluble.pjb.script.PhpScriptWriter; +import io.soluble.pjb.script.ResultProxy; +import io.soluble.pjb.script.servlet.HttpFastCGIProxy; +import io.soluble.pjb.script.servlet.PhpScriptLogWriter; +import io.soluble.pjb.servlet.ContextLoaderListener; +import io.soluble.pjb.servlet.ServletUtil; /* * Copyright (C) 2003-2007 Jost Boekemeier @@ -237,7 +237,7 @@ public void setWriter(Writer writer) { */ public Writer getErrorWriter() { if (errorWriter == null) { - setErrorWriter(PhpScriptLogWriter.getWriter(new php.java.servlet.Logger())); + setErrorWriter(PhpScriptLogWriter.getWriter(new io.soluble.pjb.servlet.Logger())); } return errorWriter; } @@ -276,14 +276,14 @@ public void setReader(Reader reader) { * {@inheritDoc} */ public Object init(Object callable) throws Exception { - return php.java.bridge.http.Context.getManageable(callable); + return io.soluble.pjb.bridge.http.Context.getManageable(callable); } /** * {@inheritDoc} */ public void onShutdown(Object closeable) { - php.java.servlet.HttpContext.handleManaged(closeable, context); + io.soluble.pjb.servlet.HttpContext.handleManaged(closeable, context); } /** diff --git a/server/php/java/script/servlet/PhpScriptLogWriter.java b/src/main/java/io/soluble/pjb/script/servlet/PhpScriptLogWriter.java similarity index 92% rename from server/php/java/script/servlet/PhpScriptLogWriter.java rename to src/main/java/io/soluble/pjb/script/servlet/PhpScriptLogWriter.java index d159299..5127304 100644 --- a/server/php/java/script/servlet/PhpScriptLogWriter.java +++ b/src/main/java/io/soluble/pjb/script/servlet/PhpScriptLogWriter.java @@ -1,6 +1,6 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.script.servlet; +package io.soluble.pjb.script.servlet; /* * Copyright (C) 2003-2007 Jost Boekemeier @@ -27,9 +27,9 @@ import java.io.IOException; import java.io.OutputStream; -import php.java.bridge.ILogger; -import php.java.bridge.NotImplementedException; -import php.java.script.PhpScriptWriter; +import io.soluble.pjb.bridge.ILogger; +import io.soluble.pjb.bridge.NotImplementedException; +import io.soluble.pjb.script.PhpScriptWriter; /** * A PrintWriter which uses the JavaBridge logger. diff --git a/server/php/java/script/servlet/package.html b/src/main/java/io/soluble/pjb/script/servlet/package.html similarity index 100% rename from server/php/java/script/servlet/package.html rename to src/main/java/io/soluble/pjb/script/servlet/package.html diff --git a/server/php/java/servlet/BufferedResponse.java b/src/main/java/io/soluble/pjb/servlet/BufferedResponse.java similarity index 97% rename from server/php/java/servlet/BufferedResponse.java rename to src/main/java/io/soluble/pjb/servlet/BufferedResponse.java index edcc34a..ab5e320 100644 --- a/server/php/java/servlet/BufferedResponse.java +++ b/src/main/java/io/soluble/pjb/servlet/BufferedResponse.java @@ -1,6 +1,6 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.servlet; +package io.soluble.pjb.servlet; import java.io.IOException; diff --git a/server/php/java/servlet/ContextLoaderListener.java b/src/main/java/io/soluble/pjb/servlet/ContextLoaderListener.java similarity index 94% rename from server/php/java/servlet/ContextLoaderListener.java rename to src/main/java/io/soluble/pjb/servlet/ContextLoaderListener.java index 5816637..f72f699 100644 --- a/server/php/java/servlet/ContextLoaderListener.java +++ b/src/main/java/io/soluble/pjb/servlet/ContextLoaderListener.java @@ -1,6 +1,6 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.servlet; +package io.soluble.pjb.servlet; import java.io.File; import java.io.FileOutputStream; @@ -18,21 +18,21 @@ import javax.servlet.ServletContext; import javax.servlet.ServletContextEvent; -import php.java.bridge.ILogger; -import php.java.bridge.ThreadPool; -import php.java.bridge.Util; -import php.java.bridge.http.ContextServer; -import php.java.bridge.http.FCGIConnectException; -import php.java.bridge.http.FCGIConnection; -import php.java.bridge.http.FCGIConnectionFactory; -import php.java.bridge.http.FCGIConnectionPool; -import php.java.bridge.http.FCGIIOFactory; -import php.java.bridge.http.FCGIInputStream; -import php.java.bridge.http.FCGIOutputStream; -import php.java.bridge.http.FCGIUtil; -import php.java.bridge.http.IFCGIProcess; -import php.java.bridge.http.IFCGIProcessFactory; -import php.java.servlet.fastcgi.FCGIProcess; +import io.soluble.pjb.bridge.ILogger; +import io.soluble.pjb.bridge.ThreadPool; +import io.soluble.pjb.bridge.Util; +import io.soluble.pjb.bridge.http.ContextServer; +import io.soluble.pjb.bridge.http.FCGIConnectException; +import io.soluble.pjb.bridge.http.FCGIConnection; +import io.soluble.pjb.bridge.http.FCGIConnectionFactory; +import io.soluble.pjb.bridge.http.FCGIConnectionPool; +import io.soluble.pjb.bridge.http.FCGIIOFactory; +import io.soluble.pjb.bridge.http.FCGIInputStream; +import io.soluble.pjb.bridge.http.FCGIOutputStream; +import io.soluble.pjb.bridge.http.FCGIUtil; +import io.soluble.pjb.bridge.http.IFCGIProcess; +import io.soluble.pjb.bridge.http.IFCGIProcessFactory; +import io.soluble.pjb.servlet.fastcgi.FCGIProcess; /* * Copyright (C) 2003-2007 Jost Boekemeier @@ -62,7 +62,7 @@ *

* * <listener> - *   <listener-class>php.java.servlet.ContextLoaderListener</listener-class> + *   <listener-class>io.soluble.pjb.servlet.ContextLoaderListener</listener-class> * </listener> * *
@@ -218,9 +218,9 @@ private void init() { try { val = context.getInitParameter("php_fcgi_children"); if (val == null) val = context.getInitParameter("PHP_FCGI_CHILDREN"); - if (val == null) val = System.getProperty("php.java.bridge.php_fcgi_children"); + if (val == null) val = System.getProperty("io.soluble.pjb.bridge.php_fcgi_children"); if (val == null) val = context.getInitParameter("php_fcgi_connection_pool_size"); - if (val == null) val = System.getProperty("php.java.bridge.php_fcgi_connection_pool_size"); + if (val == null) val = System.getProperty("io.soluble.pjb.bridge.php_fcgi_connection_pool_size"); if (val != null) php_fcgi_connection_pool_size_number = Integer.parseInt(val); } catch (Throwable t) {/*ignore*/} if (val != null) php_fcgi_connection_pool_size = val; @@ -228,7 +228,7 @@ private void init() { val = null; try { val = context.getInitParameter("php_fcgi_connection_pool_timeout"); - if (val == null) val = System.getProperty("php.java.bridge.php_fcgi_connection_pool_timeout"); + if (val == null) val = System.getProperty("io.soluble.pjb.bridge.php_fcgi_connection_pool_timeout"); if (val != null) php_fcgi_connection_pool_timeout_number = Integer.parseInt(val); } catch (Throwable t) {/*ignore*/} if (val != null) php_fcgi_connection_pool_timeout = val; @@ -238,7 +238,7 @@ private void init() { try { val = context.getInitParameter("php_include_java"); if (val == null) val = context.getInitParameter("PHP_INCLUDE_JAVA"); - if (val == null) val = System.getProperty("php.java.bridge.php_include_java"); + if (val == null) val = System.getProperty("io.soluble.pjb.bridge.php_include_java"); if (val != null && (val.equalsIgnoreCase("on") || val.equalsIgnoreCase("true"))) php_include_java = true; } catch (Throwable t) {/*ignore*/} @@ -246,7 +246,7 @@ private void init() { val = null; try { val = context.getInitParameter("php_fcgi_max_requests"); - if (val == null) val = System.getProperty("php.java.bridge.php_fcgi_max_requests"); + if (val == null) val = System.getProperty("io.soluble.pjb.bridge.php_fcgi_max_requests"); if (val != null) { php_fcgi_max_requests_number = Integer.parseInt(val); php_fcgi_max_requests = val; @@ -278,7 +278,7 @@ private void checkCgiBinary() { try { value = context.getInitParameter("use_fast_cgi"); if (value == null) try { - value = System.getProperty("php.java.bridge.use_fast_cgi"); + value = System.getProperty("io.soluble.pjb.bridge.use_fast_cgi"); } catch (Exception e) {/*ignore*/} if ("false".equalsIgnoreCase(value) || "off".equalsIgnoreCase(value)) fcgiIsConfigured = false; else { diff --git a/server/php/java/servlet/HttpContext.java b/src/main/java/io/soluble/pjb/servlet/HttpContext.java similarity index 95% rename from server/php/java/servlet/HttpContext.java rename to src/main/java/io/soluble/pjb/servlet/HttpContext.java index 4fb0e89..aba32a7 100644 --- a/server/php/java/servlet/HttpContext.java +++ b/src/main/java/io/soluble/pjb/servlet/HttpContext.java @@ -1,6 +1,6 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.servlet; +package io.soluble.pjb.servlet; import java.io.IOException; import java.io.Writer; @@ -10,9 +10,9 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import php.java.bridge.NotImplementedException; -import php.java.bridge.Util; -import php.java.bridge.http.IContext; +import io.soluble.pjb.bridge.NotImplementedException; +import io.soluble.pjb.bridge.Util; +import io.soluble.pjb.bridge.http.IContext; /* * Copyright (C) 2003-2007 Jost Boekemeier @@ -42,7 +42,7 @@ * * @author jostb */ -public class HttpContext extends php.java.bridge.http.Context { +public class HttpContext extends io.soluble.pjb.bridge.http.Context { protected HttpServletResponse response; protected ServletContext context; protected HttpServletRequest request; @@ -155,7 +155,7 @@ public static void handleManaged(Object closeable, ServletContext ctx) { */ public Object init(Object callable) throws Exception { if (Util.logLevel > 3) Util.logDebug("calling servlet context init"); - return php.java.bridge.http.Context.getManageable(callable); + return io.soluble.pjb.bridge.http.Context.getManageable(callable); } /** diff --git a/server/php/java/servlet/HttpContextRunner.java b/src/main/java/io/soluble/pjb/servlet/HttpContextRunner.java similarity index 94% rename from server/php/java/servlet/HttpContextRunner.java rename to src/main/java/io/soluble/pjb/servlet/HttpContextRunner.java index 111c3b2..4b4b501 100644 --- a/server/php/java/servlet/HttpContextRunner.java +++ b/src/main/java/io/soluble/pjb/servlet/HttpContextRunner.java @@ -1,6 +1,6 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.servlet; +package io.soluble.pjb.servlet; /* * Copyright (C) 2003-2007 Jost Boekemeier @@ -29,11 +29,11 @@ import java.io.OutputStream; import java.io.Serializable; -import php.java.bridge.JavaBridge; -import php.java.bridge.Request; -import php.java.bridge.Util; -import php.java.bridge.http.AbstractChannel; -import php.java.bridge.http.IContextFactory; +import io.soluble.pjb.bridge.JavaBridge; +import io.soluble.pjb.bridge.Request; +import io.soluble.pjb.bridge.Util; +import io.soluble.pjb.bridge.http.AbstractChannel; +import io.soluble.pjb.bridge.http.IContextFactory; /** * @author jostb diff --git a/server/php/java/servlet/HttpSessionFacade.java b/src/main/java/io/soluble/pjb/servlet/HttpSessionFacade.java similarity index 98% rename from server/php/java/servlet/HttpSessionFacade.java rename to src/main/java/io/soluble/pjb/servlet/HttpSessionFacade.java index 4d8194d..5265451 100644 --- a/server/php/java/servlet/HttpSessionFacade.java +++ b/src/main/java/io/soluble/pjb/servlet/HttpSessionFacade.java @@ -1,6 +1,6 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.servlet; +package io.soluble.pjb.servlet; /* * Copyright (C) 2003-2007 Jost Boekemeier @@ -34,8 +34,8 @@ import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; -import php.java.bridge.ISession; -import php.java.bridge.http.IContextFactory; +import io.soluble.pjb.bridge.ISession; +import io.soluble.pjb.bridge.http.IContextFactory; /** * Wraps the J2EE session interface diff --git a/server/php/java/servlet/Logger.java b/src/main/java/io/soluble/pjb/servlet/Logger.java similarity index 95% rename from server/php/java/servlet/Logger.java rename to src/main/java/io/soluble/pjb/servlet/Logger.java index 3929424..df9c2b6 100644 --- a/server/php/java/servlet/Logger.java +++ b/src/main/java/io/soluble/pjb/servlet/Logger.java @@ -1,6 +1,6 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.servlet; +package io.soluble.pjb.servlet; /* * Copyright (C) 2003-2007 Jost Boekemeier @@ -24,7 +24,7 @@ * OTHER DEALINGS IN THE SOFTWARE. */ -import php.java.bridge.ILogger; +import io.soluble.pjb.bridge.ILogger; /** * A logger class, uses log4j if possible diff --git a/server/php/java/servlet/PhpCGIFilter.java b/src/main/java/io/soluble/pjb/servlet/PhpCGIFilter.java similarity index 98% rename from server/php/java/servlet/PhpCGIFilter.java rename to src/main/java/io/soluble/pjb/servlet/PhpCGIFilter.java index 1843f99..e98d8ab 100644 --- a/server/php/java/servlet/PhpCGIFilter.java +++ b/src/main/java/io/soluble/pjb/servlet/PhpCGIFilter.java @@ -1,6 +1,6 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.servlet; +package io.soluble.pjb.servlet; /* * Copyright (C) 2003-2010 Jost Boekemeier @@ -37,7 +37,7 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequestWrapper; -import php.java.bridge.Util; +import io.soluble.pjb.bridge.Util; /** * Handles /foo/bar.php/baz?param=value requests. diff --git a/server/php/java/servlet/PhpJavaServlet.java b/src/main/java/io/soluble/pjb/servlet/PhpJavaServlet.java similarity index 97% rename from server/php/java/servlet/PhpJavaServlet.java rename to src/main/java/io/soluble/pjb/servlet/PhpJavaServlet.java index ee8b709..32d19cf 100644 --- a/server/php/java/servlet/PhpJavaServlet.java +++ b/src/main/java/io/soluble/pjb/servlet/PhpJavaServlet.java @@ -1,6 +1,6 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.servlet; +package io.soluble.pjb.servlet; /* * Copyright (C) 2003-2007 Jost Boekemeier @@ -36,12 +36,12 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import php.java.bridge.JavaBridge; -import php.java.bridge.Request; -import php.java.bridge.Util; -import php.java.bridge.http.AbstractChannelName; -import php.java.bridge.http.ContextFactory; -import php.java.bridge.http.ContextServer; +import io.soluble.pjb.bridge.JavaBridge; +import io.soluble.pjb.bridge.Request; +import io.soluble.pjb.bridge.Util; +import io.soluble.pjb.bridge.http.AbstractChannelName; +import io.soluble.pjb.bridge.http.ContextFactory; +import io.soluble.pjb.bridge.http.ContextServer; /** * Handles requests from PHP clients.

When Apache, IIS or php diff --git a/server/php/java/servlet/RemoteContext.java b/src/main/java/io/soluble/pjb/servlet/RemoteContext.java similarity index 97% rename from server/php/java/servlet/RemoteContext.java rename to src/main/java/io/soluble/pjb/servlet/RemoteContext.java index d89120c..28a7244 100644 --- a/server/php/java/servlet/RemoteContext.java +++ b/src/main/java/io/soluble/pjb/servlet/RemoteContext.java @@ -1,6 +1,6 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.servlet; +package io.soluble.pjb.servlet; /* * Copyright (C) 2003-2007 Jost Boekemeier @@ -28,7 +28,7 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import php.java.bridge.http.IContext; +import io.soluble.pjb.bridge.http.IContext; /** diff --git a/server/php/java/servlet/RemoteHttpServletContextFactory.java b/src/main/java/io/soluble/pjb/servlet/RemoteHttpServletContextFactory.java similarity index 95% rename from server/php/java/servlet/RemoteHttpServletContextFactory.java rename to src/main/java/io/soluble/pjb/servlet/RemoteHttpServletContextFactory.java index 9679350..ddb1494 100644 --- a/server/php/java/servlet/RemoteHttpServletContextFactory.java +++ b/src/main/java/io/soluble/pjb/servlet/RemoteHttpServletContextFactory.java @@ -1,6 +1,6 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.servlet; +package io.soluble.pjb.servlet; /* * Copyright (C) 2003-2007 Jost Boekemeier @@ -37,21 +37,21 @@ import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; -import php.java.bridge.ISession; -import php.java.bridge.JavaBridgeFactory; -import php.java.bridge.Request; -import php.java.bridge.http.ContextFactory; -import php.java.bridge.http.IContext; -import php.java.bridge.http.IContextFactory; -import php.java.bridge.http.IContextFactoryVisitor; +import io.soluble.pjb.bridge.ISession; +import io.soluble.pjb.bridge.JavaBridgeFactory; +import io.soluble.pjb.bridge.Request; +import io.soluble.pjb.bridge.http.ContextFactory; +import io.soluble.pjb.bridge.http.IContext; +import io.soluble.pjb.bridge.http.IContextFactory; +import io.soluble.pjb.bridge.http.IContextFactoryVisitor; /** * Create session contexts for servlets.

* This ContextFactory can be used in environments where no custom class loaders and no threads are allowed. * * @author jostb - * @see php.java.bridge.http.ContextFactory - * @see php.java.bridge.http.ContextServer + * @see io.soluble.pjb.bridge.http.ContextFactory + * @see io.soluble.pjb.bridge.http.ContextServer */ public class RemoteHttpServletContextFactory extends JavaBridgeFactory implements IContextFactory, Serializable { @@ -238,7 +238,7 @@ public void destroy() { * Return an emulated JSR223 context. * * @return The context. - * @see php.java.servlet.HttpContext + * @see io.soluble.pjb.servlet.HttpContext */ private IContext createContext() { diff --git a/server/php/java/servlet/RemoteHttpServletRequest.java b/src/main/java/io/soluble/pjb/servlet/RemoteHttpServletRequest.java similarity index 96% rename from server/php/java/servlet/RemoteHttpServletRequest.java rename to src/main/java/io/soluble/pjb/servlet/RemoteHttpServletRequest.java index ffee8a4..c23437d 100644 --- a/server/php/java/servlet/RemoteHttpServletRequest.java +++ b/src/main/java/io/soluble/pjb/servlet/RemoteHttpServletRequest.java @@ -1,7 +1,7 @@ /** * */ -package php.java.servlet; +package io.soluble.pjb.servlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequestWrapper; diff --git a/server/php/java/servlet/RemoteHttpServletResponse.java b/src/main/java/io/soluble/pjb/servlet/RemoteHttpServletResponse.java similarity index 99% rename from server/php/java/servlet/RemoteHttpServletResponse.java rename to src/main/java/io/soluble/pjb/servlet/RemoteHttpServletResponse.java index a981660..74a838b 100644 --- a/server/php/java/servlet/RemoteHttpServletResponse.java +++ b/src/main/java/io/soluble/pjb/servlet/RemoteHttpServletResponse.java @@ -1,6 +1,6 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.servlet; +package io.soluble.pjb.servlet; /* * Copyright (C) 2003-2007 Jost Boekemeier diff --git a/server/php/java/servlet/RemoteServletContextFactory.java b/src/main/java/io/soluble/pjb/servlet/RemoteServletContextFactory.java similarity index 92% rename from server/php/java/servlet/RemoteServletContextFactory.java rename to src/main/java/io/soluble/pjb/servlet/RemoteServletContextFactory.java index 454f3e6..a1afa95 100644 --- a/server/php/java/servlet/RemoteServletContextFactory.java +++ b/src/main/java/io/soluble/pjb/servlet/RemoteServletContextFactory.java @@ -1,6 +1,6 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.servlet; +package io.soluble.pjb.servlet; /* * Copyright (C) 2003-2007 Jost Boekemeier @@ -30,17 +30,17 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import php.java.bridge.ISession; -import php.java.bridge.http.IContext; -import php.java.bridge.http.IContextFactory; +import io.soluble.pjb.bridge.ISession; +import io.soluble.pjb.bridge.http.IContext; +import io.soluble.pjb.bridge.http.IContextFactory; /** * Create session contexts for servlets.

In addition to the * standard ContextFactory this factory keeps a reference to the * HttpServletRequest. * - * @see php.java.bridge.http.ContextFactory - * @see php.java.bridge.http.ContextServer + * @see io.soluble.pjb.bridge.http.ContextFactory + * @see io.soluble.pjb.bridge.http.ContextServer */ public class RemoteServletContextFactory extends SimpleServletContextFactory { protected RemoteServletContextFactory(Servlet servlet, ServletContext ctx, HttpServletRequest proxy, HttpServletRequest req, HttpServletResponse res) { @@ -88,7 +88,7 @@ public static IContextFactory addNew(Servlet servlet, ServletContext kontext, Ht * Return an emulated JSR223 context. * * @return The context. - * @see php.java.servlet.HttpContext + * @see io.soluble.pjb.servlet.HttpContext */ public IContext createContext() { IContext ctx = new HttpContext(kontext, req, res); diff --git a/server/php/java/servlet/ServletContextFactory.java b/src/main/java/io/soluble/pjb/servlet/ServletContextFactory.java similarity index 92% rename from server/php/java/servlet/ServletContextFactory.java rename to src/main/java/io/soluble/pjb/servlet/ServletContextFactory.java index 3e2fd01..92ab925 100644 --- a/server/php/java/servlet/ServletContextFactory.java +++ b/src/main/java/io/soluble/pjb/servlet/ServletContextFactory.java @@ -1,6 +1,6 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.servlet; +package io.soluble.pjb.servlet; /* * Copyright (C) 2003-2007 Jost Boekemeier @@ -29,16 +29,16 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import php.java.bridge.http.ContextServer; -import php.java.bridge.http.IContextFactory; +import io.soluble.pjb.bridge.http.ContextServer; +import io.soluble.pjb.bridge.http.IContextFactory; /** * Create session contexts for servlets.

In addition to the * standard ContextFactory this factory keeps a reference to the * HttpServletRequest. * - * @see php.java.bridge.http.ContextFactory - * @see php.java.bridge.http.ContextServer + * @see io.soluble.pjb.bridge.http.ContextFactory + * @see io.soluble.pjb.bridge.http.ContextServer */ public class ServletContextFactory extends SimpleServletContextFactory { protected ServletContextFactory(Servlet servlet, ServletContext ctx, diff --git a/server/php/java/servlet/ServletUtil.java b/src/main/java/io/soluble/pjb/servlet/ServletUtil.java similarity index 98% rename from server/php/java/servlet/ServletUtil.java rename to src/main/java/io/soluble/pjb/servlet/ServletUtil.java index 71d9ef0..ecd2c8f 100644 --- a/server/php/java/servlet/ServletUtil.java +++ b/src/main/java/io/soluble/pjb/servlet/ServletUtil.java @@ -1,6 +1,6 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.servlet; +package io.soluble.pjb.servlet; import java.io.File; import java.io.IOException; @@ -18,8 +18,8 @@ import javax.servlet.ServletRequest; import javax.servlet.http.HttpServletResponse; -import php.java.bridge.Util; -import php.java.bridge.http.WriterOutputStream; +import io.soluble.pjb.bridge.Util; +import io.soluble.pjb.bridge.http.WriterOutputStream; /* * Copyright (C) 2003-2007 Jost Boekemeier diff --git a/server/php/java/servlet/SimpleHttpServletResponse.java b/src/main/java/io/soluble/pjb/servlet/SimpleHttpServletResponse.java similarity index 98% rename from server/php/java/servlet/SimpleHttpServletResponse.java rename to src/main/java/io/soluble/pjb/servlet/SimpleHttpServletResponse.java index 95279d1..f0b3f4e 100644 --- a/server/php/java/servlet/SimpleHttpServletResponse.java +++ b/src/main/java/io/soluble/pjb/servlet/SimpleHttpServletResponse.java @@ -1,6 +1,6 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.servlet; +package io.soluble.pjb.servlet; /* * Copyright (C) 2003-2007 Jost Boekemeier diff --git a/server/php/java/servlet/SimpleServletContextFactory.java b/src/main/java/io/soluble/pjb/servlet/SimpleServletContextFactory.java similarity index 93% rename from server/php/java/servlet/SimpleServletContextFactory.java rename to src/main/java/io/soluble/pjb/servlet/SimpleServletContextFactory.java index 2dd999b..7ee0ea9 100644 --- a/server/php/java/servlet/SimpleServletContextFactory.java +++ b/src/main/java/io/soluble/pjb/servlet/SimpleServletContextFactory.java @@ -1,6 +1,6 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.servlet; +package io.soluble.pjb.servlet; /* * Copyright (C) 2003-2007 Jost Boekemeier @@ -30,18 +30,18 @@ import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; -import php.java.bridge.ISession; -import php.java.bridge.http.IContext; +import io.soluble.pjb.bridge.ISession; +import io.soluble.pjb.bridge.http.IContext; /** * Create session contexts for servlets.

In addition to the * standard ContextFactory this factory keeps a reference to the * HttpServletRequest. * - * @see php.java.bridge.http.ContextFactory - * @see php.java.bridge.http.ContextServer + * @see io.soluble.pjb.bridge.http.ContextFactory + * @see io.soluble.pjb.bridge.http.ContextServer */ -public class SimpleServletContextFactory extends php.java.bridge.http.SimpleContextFactory { +public class SimpleServletContextFactory extends io.soluble.pjb.bridge.http.SimpleContextFactory { protected HttpServletRequest proxy, req; protected HttpServletResponse res; protected ServletContext kontext; @@ -98,7 +98,7 @@ public synchronized void destroy() { * Return an emulated JSR223 context. * * @return The context. - * @see php.java.servlet.HttpContext + * @see io.soluble.pjb.servlet.HttpContext */ public IContext createContext() { IContext ctx = new HttpContext(kontext, req, res); diff --git a/server/php/java/servlet/VoidInputHttpServletRequest.java b/src/main/java/io/soluble/pjb/servlet/VoidInputHttpServletRequest.java similarity index 96% rename from server/php/java/servlet/VoidInputHttpServletRequest.java rename to src/main/java/io/soluble/pjb/servlet/VoidInputHttpServletRequest.java index 8d6081c..2411519 100644 --- a/server/php/java/servlet/VoidInputHttpServletRequest.java +++ b/src/main/java/io/soluble/pjb/servlet/VoidInputHttpServletRequest.java @@ -1,7 +1,7 @@ /** * */ -package php.java.servlet; +package io.soluble.pjb.servlet; import java.io.BufferedReader; import java.io.IOException; diff --git a/server/php/java/servlet/fastcgi/FCGIProcess.java b/src/main/java/io/soluble/pjb/servlet/fastcgi/FCGIProcess.java similarity index 95% rename from server/php/java/servlet/fastcgi/FCGIProcess.java rename to src/main/java/io/soluble/pjb/servlet/fastcgi/FCGIProcess.java index 93dc8c6..2c4b96d 100644 --- a/server/php/java/servlet/fastcgi/FCGIProcess.java +++ b/src/main/java/io/soluble/pjb/servlet/fastcgi/FCGIProcess.java @@ -1,5 +1,5 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.servlet.fastcgi; +package io.soluble.pjb.servlet.fastcgi; /* * Copyright (C) 2003-2007 Jost Boekemeier @@ -28,8 +28,8 @@ import java.util.LinkedList; import java.util.Map; -import php.java.bridge.Util; -import php.java.bridge.http.IFCGIProcess; +import io.soluble.pjb.bridge.Util; +import io.soluble.pjb.bridge.http.IFCGIProcess; /** * Represents the FastCGI process. diff --git a/server/php/java/servlet/fastcgi/FastCGIServlet.java b/src/main/java/io/soluble/pjb/servlet/fastcgi/FastCGIServlet.java similarity index 96% rename from server/php/java/servlet/fastcgi/FastCGIServlet.java rename to src/main/java/io/soluble/pjb/servlet/fastcgi/FastCGIServlet.java index 841392e..f9362f4 100644 --- a/server/php/java/servlet/fastcgi/FastCGIServlet.java +++ b/src/main/java/io/soluble/pjb/servlet/fastcgi/FastCGIServlet.java @@ -1,5 +1,5 @@ /*-*- mode: Java; tab-width:8 -*-*/ -package php.java.servlet.fastcgi; +package io.soluble.pjb.servlet.fastcgi; /* * Copyright (C) 2003-2007 Jost Boekemeier @@ -37,19 +37,19 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import php.java.bridge.Util; -import php.java.bridge.http.AbstractChannelName; -import php.java.bridge.http.FCGIConnectException; -import php.java.bridge.http.FCGIConnectionException; -import php.java.bridge.http.FCGIConnectionPool; -import php.java.bridge.http.FCGIInputStream; -import php.java.bridge.http.FCGIOutputStream; -import php.java.bridge.http.FCGIUtil; -import php.java.bridge.http.IContextFactory; -import php.java.servlet.ContextLoaderListener; -import php.java.servlet.PhpJavaServlet; -import php.java.servlet.ServletContextFactory; -import php.java.servlet.ServletUtil; +import io.soluble.pjb.bridge.Util; +import io.soluble.pjb.bridge.http.AbstractChannelName; +import io.soluble.pjb.bridge.http.FCGIConnectException; +import io.soluble.pjb.bridge.http.FCGIConnectionException; +import io.soluble.pjb.bridge.http.FCGIConnectionPool; +import io.soluble.pjb.bridge.http.FCGIInputStream; +import io.soluble.pjb.bridge.http.FCGIOutputStream; +import io.soluble.pjb.bridge.http.FCGIUtil; +import io.soluble.pjb.bridge.http.IContextFactory; +import io.soluble.pjb.servlet.ContextLoaderListener; +import io.soluble.pjb.servlet.PhpJavaServlet; +import io.soluble.pjb.servlet.ServletContextFactory; +import io.soluble.pjb.servlet.ServletUtil; /** * A CGI Servlet which connects to a FastCGI server. If allowed by the @@ -111,7 +111,7 @@ protected static class Environment { * * @param config The servlet config * @throws ServletException - * @see php.java.bridge.http.FCGIConnectionPool + * @see io.soluble.pjb.bridge.http.FCGIConnectionPool * @see #destroy() */ public void init(ServletConfig config) throws ServletException { diff --git a/server/php/java/servlet/fastcgi/package.html b/src/main/java/io/soluble/pjb/servlet/fastcgi/package.html similarity index 100% rename from server/php/java/servlet/fastcgi/package.html rename to src/main/java/io/soluble/pjb/servlet/fastcgi/package.html diff --git a/server/php/java/servlet/package.html b/src/main/java/io/soluble/pjb/servlet/package.html similarity index 100% rename from server/php/java/servlet/package.html rename to src/main/java/io/soluble/pjb/servlet/package.html From ae760d2412b5d55dc764504dd4a560c03df3339f Mon Sep 17 00:00:00 2001 From: "Christian P. Lerch" Date: Mon, 23 Jan 2017 09:55:37 +0100 Subject: [PATCH 17/25] cleanup --- server/php/java/bridge/global.properties.in | 20 -------------------- 1 file changed, 20 deletions(-) delete mode 100644 server/php/java/bridge/global.properties.in diff --git a/server/php/java/bridge/global.properties.in b/server/php/java/bridge/global.properties.in deleted file mode 100644 index f61c969..0000000 --- a/server/php/java/bridge/global.properties.in +++ /dev/null @@ -1,20 +0,0 @@ -## auto-generated variables -## do not edit -BACKEND_VERSION = @BACKEND_VERSION@ - -## You can adjust and enable the following properties: -## - -# The name of the library, usually JavaBridge or MonoBridge -EXTENSION_DISPLAY_NAME = JavaBridge - -# A white space delimited list of environment entries; NOT to be passed to PHP -PHP_ENV_BLACKLIST = PHPRC - -# BASE = -# THREADS = 20 -# DEFAULT_LOG_LEVEL = 3 -# DEFAULT_LOG_FILE = -# PHP_EXEC = /usr/bin/php-cgi -# PHP_EXEC_ARGS = -d allow_url_include=On -d display_errors=Off -d log_errors=On -d java.persistent_servlet_connections=On -# MAX_WAIT = 15000 From 0a7fa0624ce56ece50fa0312953109a08ec23aea Mon Sep 17 00:00:00 2001 From: "Christian P. Lerch" Date: Mon, 23 Jan 2017 09:56:02 +0100 Subject: [PATCH 18/25] another one... --- .gitignore | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/.gitignore b/.gitignore index bada022..ac5042e 100644 --- a/.gitignore +++ b/.gitignore @@ -7,19 +7,21 @@ bin/ lib/ nbproject/ doc/API/ -META-INF/java/JavaProxy.php -META-INF/java/Java.inc -bridge/JavaProxy.java -bridge/LauncherWindows.java -bridge/LauncherWindows2.java -bridge/LauncherWindows3.java -bridge/LauncherUnix.java -bridge/JavaInc.java -bridge/LauncherWindows4.java -bridge/PhpDebuggerPHP.java .classpath nbbuild.xml manifest.mf *.iml *.lock *.log +devNull +server/META-INF/java/Java.inc +server/META-INF/java/JavaProxy.php +src/main/java/io/soluble/pjb/bridge/JavaInc.java +src/main/java/io/soluble/pjb/bridge/JavaProxy.java +src/main/java/io/soluble/pjb/bridge/LauncherUnix.java +src/main/java/io/soluble/pjb/bridge/LauncherWindows.java +src/main/java/io/soluble/pjb/bridge/LauncherWindows2.java +src/main/java/io/soluble/pjb/bridge/LauncherWindows3.java +src/main/java/io/soluble/pjb/bridge/LauncherWindows4.java +src/main/resources/META-INF/java/Java.inc +src/main/resources/META-INF/java/JavaProxy.php From a87bbd240b07fa91c0bfe9dda612b30ab9642c9b Mon Sep 17 00:00:00 2001 From: "Christian P. Lerch" Date: Mon, 23 Jan 2017 09:57:17 +0100 Subject: [PATCH 19/25] adjust php source generators to new package name --- server/buildClassFromTextFile.php | 2 +- server/buildLauncherWindows.php | 13 +++++++------ 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/server/buildClassFromTextFile.php b/server/buildClassFromTextFile.php index e2380a6..7405c55 100644 --- a/server/buildClassFromTextFile.php +++ b/server/buildClassFromTextFile.php @@ -6,7 +6,7 @@ $s.='""'; $str=<< Date: Mon, 23 Jan 2017 09:59:13 +0100 Subject: [PATCH 20/25] unit test for script package moved from server/php/java/test to test sources --- server/php/java/test/TestBindings.java | 118 ------------- server/php/java/test/TestCli.java | 71 -------- server/php/java/test/TestDiscovery.java | 43 ----- server/php/java/test/TestException.java | 43 ----- .../php/java/test/TestExceptionInvocable.java | 51 ------ .../java/test/TestExceptionInvocable2.java | 68 -------- server/php/java/test/TestGetInterface.java | 67 -------- server/php/java/test/TestGetResult.java | 49 ------ .../test/TestInteractiveRequestAbort.java | 46 ----- server/php/java/test/TestInvocable.java | 39 ----- .../test/TestInvocablePhpScriptEngine.java | 162 ------------------ server/php/java/test/TestPhpScriptEngine.java | 104 ----------- server/php/java/test/TestScript.java | 42 ----- server/php/java/test/TestSetWriter.java | 66 ------- .../php/java/test/TestSimpleInvocation.java | 42 ----- server/php/java/test/TestURLReader.java | 46 ----- .../java/io/soluble/pjb/script/AllTests.java | 2 +- ...leable.java => TestSimpleCompileable.java} | 4 +- 18 files changed, 3 insertions(+), 1060 deletions(-) delete mode 100644 server/php/java/test/TestBindings.java delete mode 100644 server/php/java/test/TestCli.java delete mode 100644 server/php/java/test/TestDiscovery.java delete mode 100644 server/php/java/test/TestException.java delete mode 100644 server/php/java/test/TestExceptionInvocable.java delete mode 100644 server/php/java/test/TestExceptionInvocable2.java delete mode 100644 server/php/java/test/TestGetInterface.java delete mode 100644 server/php/java/test/TestGetResult.java delete mode 100644 server/php/java/test/TestInteractiveRequestAbort.java delete mode 100644 server/php/java/test/TestInvocable.java delete mode 100644 server/php/java/test/TestInvocablePhpScriptEngine.java delete mode 100644 server/php/java/test/TestPhpScriptEngine.java delete mode 100644 server/php/java/test/TestScript.java delete mode 100644 server/php/java/test/TestSetWriter.java delete mode 100644 server/php/java/test/TestSimpleInvocation.java delete mode 100644 server/php/java/test/TestURLReader.java rename src/test/java/io/soluble/pjb/script/{SimpleCompileable.java => TestSimpleCompileable.java} (88%) diff --git a/server/php/java/test/TestBindings.java b/server/php/java/test/TestBindings.java deleted file mode 100644 index 6497034..0000000 --- a/server/php/java/test/TestBindings.java +++ /dev/null @@ -1,118 +0,0 @@ -package php.java.test; - -import java.io.ByteArrayOutputStream; -import java.io.Closeable; -import java.io.File; -import java.io.OutputStreamWriter; -import java.io.Reader; -import java.io.StringReader; - -import javax.script.Bindings; -import javax.script.Compilable; -import javax.script.CompiledScript; -import javax.script.ScriptEngine; -import javax.script.ScriptEngineManager; -import javax.script.ScriptException; -import javax.script.SimpleBindings; - -import junit.framework.TestCase; - -public class TestBindings extends TestCase { - - private ScriptEngine e; - private ScriptEngine e2; - private Bindings b; - private String script; - private ScriptEngineManager m; - - public TestBindings(String name) { - super(name); - } - - protected void setUp() throws Exception { - super.setUp(); - m = new ScriptEngineManager(); - e = m.getEngineByName("php"); - e2 = m.getEngineByName("php"); - e.put("javax.script.argv", new String[]{"1", "2", "3"}); - - b = new SimpleBindings(); - b.put("javax.script.argv", new String[]{"1", "2", "3"}); - - script = "get('javax.script.argv');" + - "$result = (string)$argv[0]+ (string)$argv[1]+ (string)$argv[2];" + - "exit($result);" + - "?>"; - } - - protected void tearDown() throws Exception { - super.tearDown(); - ((Closeable) e).close(); - } - - public void testEvalReader() { - try { - Reader r = new StringReader(script); - assertTrue("6".equals(String.valueOf(e.eval(r)))); - r.close(); - } catch (Exception e) { - fail(String.valueOf(e)); - } - } - - public void testEvalReaderBindings() { - try { - Reader r = new StringReader(script); - assertTrue("6".equals(String.valueOf(e2.eval(r, b)))); - r.close(); - } catch (Exception e) { - fail(String.valueOf(e)); - } - } - - public void testEvalString() { - try { - assertTrue("6".equals(String.valueOf(e.eval(script)))); - } catch (ScriptException e) { - fail(String.valueOf(e)); - } - } - - public void testEvalStringBindings() { - try { - assertTrue("6".equals(String.valueOf(e2.eval(script, b)))); - } catch (ScriptException e) { - fail(String.valueOf(e)); - } - } - - public void testEvalCompilableString() { - try { - ByteArrayOutputStream out = new ByteArrayOutputStream(); - OutputStreamWriter writer = new OutputStreamWriter(out); - ScriptEngine e = m.getEngineByName("php"); - - e.put("javax.script.argv", new String[]{"1", "2", "3"}); - e.getContext().setWriter(writer); - ((java.io.FileFilter) e).accept(new File(System.getProperty("java.io.tmpdir", "/tmp") + File.separator + "test.php")); - CompiledScript s = ((Compilable) e).compile("get('javax.script.argv');" + - "$result = (string)$argv[0]+ (string)$argv[1]+ (string)$argv[2];" + - "echo($result);" + - "?>"); - - long t1 = System.currentTimeMillis(); - for (int i = 0; i < 100; i++) { - s.eval(); - assertTrue("6".equals(out.toString())); - out.reset(); - } - long t2 = System.currentTimeMillis(); - System.out.println("testEvalCompilableString time:" + (t2 - t1)); - - } catch (Exception e) { - fail(String.valueOf(e)); - } - } -} diff --git a/server/php/java/test/TestCli.java b/server/php/java/test/TestCli.java deleted file mode 100644 index a06f68b..0000000 --- a/server/php/java/test/TestCli.java +++ /dev/null @@ -1,71 +0,0 @@ -package php.java.test; - -import java.io.ByteArrayOutputStream; -import java.io.Closeable; -import java.io.OutputStreamWriter; -import java.io.Writer; - -import javax.script.ScriptEngine; -import javax.script.ScriptEngineManager; - -import junit.framework.TestCase; - -public class TestCli extends TestCase { - - public TestCli(String name) { - super(name); - } - - protected void setUp() throws Exception { - super.setUp(); - } - - protected void tearDown() throws Exception { - super.tearDown(); - } - - public void testSimple() { - try { - ByteArrayOutputStream errOut = new ByteArrayOutputStream(); - Writer err = new OutputStreamWriter(errOut); - ScriptEngine eng = (new ScriptEngineManager()).getEngineByName("php-interactive"); - eng.getContext().setErrorWriter(err); - eng.eval("$a=new java('java.util.Vector');"); - eng.eval("$a->add(1);"); - eng.eval("$a->add(2);"); - eng.eval("$a->add(3);"); - eng.eval("class C{function toString() {return 'foo';}}"); - eng.eval("$a->add(java_closure(new C()));"); - eng.eval("$b=new java('java.util.Vector');"); - eng.eval("$b->add(1);"); - eng.eval("$b->add(2);"); - eng.eval("$b->add(3);"); - assertTrue("[1, 2, 3]".equals(eng.eval("echo $b"))); - assertTrue("[1, 2, 3, foo]".equals(eng.eval("echo $a"))); - ((Closeable) eng).close(); - } catch (Exception e) { - fail(String.valueOf(e)); - } - } - - public void testClosure() { - try { - ByteArrayOutputStream errOut = new ByteArrayOutputStream(); - Writer err = new OutputStreamWriter(errOut); - ScriptEngine eng = (new ScriptEngineManager()).getEngineByName("php-interactive"); - eng.getContext().setErrorWriter(err); - eng.eval("$a=new java('java.util.Vector');"); - eng.eval("$a->add(1);"); - eng.eval("$a->add(2);"); - try { - eng.eval("die();"); - } catch (Exception e) { - assertTrue(e.getMessage().equals("php.java.bridge.Request$AbortException")); - } - assertTrue(eng.eval("echo $a").equals("[1, 2]")); - ((Closeable) eng).close(); - } catch (Exception e) { - fail(String.valueOf(e)); - } - } -} diff --git a/server/php/java/test/TestDiscovery.java b/server/php/java/test/TestDiscovery.java deleted file mode 100644 index bd6a61a..0000000 --- a/server/php/java/test/TestDiscovery.java +++ /dev/null @@ -1,43 +0,0 @@ -package php.java.test; - -import javax.script.ScriptEngine; -import javax.script.ScriptEngineManager; - -import junit.framework.TestCase; - -public class TestDiscovery extends TestCase { - - public TestDiscovery(String name) { - super(name); - } - - protected void setUp() throws Exception { - super.setUp(); - } - - protected void tearDown() throws Exception { - super.tearDown(); - } - - public void testDiscovery() { - try { - StringBuffer s = new StringBuffer(); - ScriptEngineManager manager = new ScriptEngineManager(); - ScriptEngine e = manager.getEngineByName("php"); - e.put("hello", new StringBuffer("hello world")); - e.put("s", s); - e.eval("getAttribute('s');" + - "$s->append(java_values(java_context()->getAttribute('hello')));" + - "/*echo java_values($s);*/" + - "java_context()->setAttribute('hello', '!', 100);" + - "?>"); - s.append(e.get("hello")); - if (!(s.toString().equals("hello world!"))) { - fail("ERROR"); - } - } catch (Exception e) { - fail(String.valueOf(e)); - } - } -} diff --git a/server/php/java/test/TestException.java b/server/php/java/test/TestException.java deleted file mode 100644 index be277ae..0000000 --- a/server/php/java/test/TestException.java +++ /dev/null @@ -1,43 +0,0 @@ -package php.java.test; - -import java.io.ByteArrayOutputStream; -import java.io.OutputStream; -import java.io.OutputStreamWriter; -import java.io.Writer; - -import javax.script.ScriptEngine; -import javax.script.ScriptEngineManager; -import javax.script.ScriptException; - -import junit.framework.TestCase; - -public class TestException extends TestCase { - - public TestException(String name) { - super(name); - } - - protected void setUp() throws Exception { - super.setUp(); - } - - protected void tearDown() throws Exception { - super.tearDown(); - } - - public void test() throws Exception { - ScriptEngineManager manager = new ScriptEngineManager(); - ScriptEngine e = manager.getEngineByName("php"); - OutputStream out = new ByteArrayOutputStream(); - Writer w = new OutputStreamWriter(out); - e.getContext().setWriter(w); - e.getContext().setErrorWriter(w); - try { - e.eval(""); - } catch (ScriptException ex) { - if (out.toString().length() == 0) throw new Exception("test failed"); - return; - } - fail("test failed"); - } -} diff --git a/server/php/java/test/TestExceptionInvocable.java b/server/php/java/test/TestExceptionInvocable.java deleted file mode 100644 index b0e990f..0000000 --- a/server/php/java/test/TestExceptionInvocable.java +++ /dev/null @@ -1,51 +0,0 @@ -package php.java.test; - -import java.io.ByteArrayOutputStream; -import java.io.Closeable; -import java.io.OutputStream; -import java.io.OutputStreamWriter; -import java.io.Writer; - -import javax.script.Invocable; -import javax.script.ScriptEngine; -import javax.script.ScriptEngineManager; -import javax.script.ScriptException; - -import junit.framework.TestCase; - -public class TestExceptionInvocable extends TestCase { - - public TestExceptionInvocable(String name) { - super(name); - } - - protected void setUp() throws Exception { - super.setUp(); - } - - protected void tearDown() throws Exception { - super.tearDown(); - } - - public void test() throws Exception { - ScriptEngineManager manager = new ScriptEngineManager(); - ScriptEngine e = manager.getEngineByName("php-invocable"); - OutputStream out = new ByteArrayOutputStream(); - Writer w = new OutputStreamWriter(out); - e.getContext().setWriter(w); - e.getContext().setErrorWriter(w); - e.eval(""); - - Invocable i = (Invocable) e; - try { - i.invokeFunction("f", new Object[]{}); - } catch (ScriptException ex) { - ((Closeable) e).close(); - if (out.toString().length() != 0) throw new Exception("test failed"); - return; - } - ((Closeable) e).close(); - fail("test failed"); - } - -} diff --git a/server/php/java/test/TestExceptionInvocable2.java b/server/php/java/test/TestExceptionInvocable2.java deleted file mode 100644 index eb1b5f6..0000000 --- a/server/php/java/test/TestExceptionInvocable2.java +++ /dev/null @@ -1,68 +0,0 @@ -package php.java.test; - -import java.io.ByteArrayOutputStream; -import java.io.Closeable; -import java.io.OutputStream; -import java.io.OutputStreamWriter; -import java.io.Writer; - -import javax.script.Invocable; -import javax.script.ScriptEngine; -import javax.script.ScriptEngineManager; - -import junit.framework.TestCase; - -public class TestExceptionInvocable2 extends TestCase { - - public TestExceptionInvocable2(String name) { - super(name); - } - - protected void setUp() throws Exception { - super.setUp(); - } - - protected void tearDown() throws Exception { - super.tearDown(); - } - - public void test() throws Exception { - ScriptEngineManager manager = new ScriptEngineManager(); - ScriptEngine e = manager.getEngineByName("php-invocable"); - OutputStream out = new ByteArrayOutputStream(); - Writer w = new OutputStreamWriter(out); - e.getContext().setWriter(w); - e.getContext().setErrorWriter(w); - e.eval("setAttribute('c', java_closure(new c()), 100); " + - "?>"); - - Invocable i = (Invocable) e; - try { - assertTrue("f ok".equals(i.invokeFunction("f", new Object[]{}))); - } catch (Throwable ex) { - fail("2"); - } - try { - i.invokeFunction("g", new Object[]{}); - System.err.println("test failed"); - fail("3"); - } catch (NoSuchMethodException ex) { -// ex.printStackTrace(System.out); - } - try { - assertTrue("c::p ok".equals(i.invokeMethod(e.get("c"), "p", new Object[]{}))); - } catch (NoSuchMethodException ex) { - fail("4"); - } - try { - i.invokeMethod(e.get("c"), "g", new Object[]{}); - fail("5"); - } catch (NoSuchMethodException ex) { - //ex.printStackTrace(System.out); - } - ((Closeable) e).close(); - if (out.toString().length() != 0) throw new Exception("test failed"); - } -} diff --git a/server/php/java/test/TestGetInterface.java b/server/php/java/test/TestGetInterface.java deleted file mode 100644 index 2f608ea..0000000 --- a/server/php/java/test/TestGetInterface.java +++ /dev/null @@ -1,67 +0,0 @@ -package php.java.test; - -import java.io.ByteArrayOutputStream; -import java.io.Closeable; -import java.io.OutputStreamWriter; - -import javax.script.Invocable; -import javax.script.ScriptEngine; -import javax.script.ScriptEngineManager; - -import junit.framework.TestCase; - -public class TestGetInterface extends TestCase { - - public TestGetInterface(String name) { - super(name); - } - - protected void setUp() throws Exception { - super.setUp(); - } - - protected void tearDown() throws Exception { - super.tearDown(); - } - - private ScriptEngine scriptEngine; - - String classA = "class A{function toString(){return '::A';} function invokeA($b){$b->invokeB();}}\n"; - String classB = "class B{function toString(){return '::B';} function invokeB(){echo '::B';}}\n"; - String test = "getAttribute('thiz');\n$thiz->call(java_closure(new A()), java_closure(new B())); ?>"; - - public void test() throws Exception { - scriptEngine = new ScriptEngineManager().getEngineByName("php-invocable"); - scriptEngine.put("thiz", this); - ByteArrayOutputStream out; - OutputStreamWriter writer; - scriptEngine.getContext().setWriter(writer = new OutputStreamWriter(out = new ByteArrayOutputStream())); - scriptEngine.eval(test); - ((Closeable) scriptEngine).close(); - - writer.close(); - if (!"::B".equals(out.toString())) { - fail("test failed"); - } - return; - } - - interface IA { - public void invokeA(IB ccb); - } - - ; - - interface IB { - public void invokeB(); - } - - ; - - public void call(Object $cca, Object $ccb) { - IA cca = (IA) ((Invocable) scriptEngine).getInterface($cca, IA.class); - IB ccb = (IB) ((Invocable) scriptEngine).getInterface($ccb, IB.class); - cca.invokeA(ccb); - } - -} diff --git a/server/php/java/test/TestGetResult.java b/server/php/java/test/TestGetResult.java deleted file mode 100644 index ad0c966..0000000 --- a/server/php/java/test/TestGetResult.java +++ /dev/null @@ -1,49 +0,0 @@ -package php.java.test; - -import java.io.ByteArrayOutputStream; -import java.io.OutputStream; -import java.io.OutputStreamWriter; -import java.io.Writer; - -import javax.script.Invocable; -import javax.script.ScriptEngine; -import javax.script.ScriptEngineManager; -import javax.script.ScriptException; - -import junit.framework.TestCase; - -public class TestGetResult extends TestCase { - - public TestGetResult(String name) { - super(name); - } - - protected void setUp() throws Exception { - super.setUp(); - } - - protected void tearDown() throws Exception { - super.tearDown(); - } - - public void testDiscovery() { - try { - ScriptEngine e = new ScriptEngineManager().getEngineByName("php"); - String result = String.valueOf(e.eval(""); - result = String.valueOf(o); // note that this releases the engine, the next invoke will implicitly call eval() with an empty script - ((Invocable) e).invokeFunction("phpinfo", new Object[]{}); - if (!result.equals("16")) throw new ScriptException("test failed"); - if (out.toString().length() == 0) throw new ScriptException("test failed"); - } catch (Exception e1) { - fail(String.valueOf(e1)); - } - } -} diff --git a/server/php/java/test/TestInteractiveRequestAbort.java b/server/php/java/test/TestInteractiveRequestAbort.java deleted file mode 100644 index d6bb444..0000000 --- a/server/php/java/test/TestInteractiveRequestAbort.java +++ /dev/null @@ -1,46 +0,0 @@ -package php.java.test; - -import java.io.File; -import java.io.FileWriter; - -import javax.script.ScriptEngine; -import javax.script.ScriptEngineManager; -import javax.script.ScriptException; - -import junit.framework.TestCase; -import php.java.bridge.Request.AbortException; - -public class TestInteractiveRequestAbort extends TestCase { - - public TestInteractiveRequestAbort(String name) { - super(name); - } - - protected void setUp() throws Exception { - super.setUp(); - } - - protected void tearDown() throws Exception { - super.tearDown(); - } - - public void test() throws Exception { - String devNull = new File("/dev/null").exists() ? "/dev/null" : "devNull"; - ScriptEngineManager m = new ScriptEngineManager(); - ScriptEngine e = m.getEngineByName("php-interactive"); - e.getContext().setErrorWriter(new FileWriter(new File(devNull))); - e.getContext().setWriter(new FileWriter(new File(devNull))); - - try { - e.eval("function toString() {return 'hello'; }; echo java_closure(); echo new JavaException('java.lang.Exception', 'hello'); echo JavaException('foo')"); - } catch (ScriptException ex) { - Throwable orig = ex.getCause(); - if (orig instanceof AbortException) { - return; - } - } - - fail("test failed"); - } - -} diff --git a/server/php/java/test/TestInvocable.java b/server/php/java/test/TestInvocable.java deleted file mode 100644 index 34fb3de..0000000 --- a/server/php/java/test/TestInvocable.java +++ /dev/null @@ -1,39 +0,0 @@ -package php.java.test; - -import java.io.Reader; - -import javax.script.Invocable; -import javax.script.ScriptEngine; -import javax.script.ScriptEngineManager; - -import junit.framework.TestCase; - -public class TestInvocable extends TestCase { - - public TestInvocable(String name) { - super(name); - } - - protected void setUp() throws Exception { - super.setUp(); - } - - protected void tearDown() throws Exception { - super.tearDown(); - } - - public void test() throws Exception { - - ScriptEngineManager manager = new ScriptEngineManager(); - ScriptEngine e = manager.getEngineByName("php-invocable"); - - e.eval("setAttribute('f', java_closure(new f()), 100); ?>"); - - Invocable i = (Invocable) e; - Object f = e.getContext().getAttribute("f", 100); - assertTrue(2 == (Integer) i.invokeMethod(f, "a", new Object[]{new Integer(1)})); - - e.eval((Reader) null); - } -} diff --git a/server/php/java/test/TestInvocablePhpScriptEngine.java b/server/php/java/test/TestInvocablePhpScriptEngine.java deleted file mode 100644 index e0bf64a..0000000 --- a/server/php/java/test/TestInvocablePhpScriptEngine.java +++ /dev/null @@ -1,162 +0,0 @@ -package php.java.test; - -import java.io.ByteArrayOutputStream; -import java.io.Closeable; -import java.io.File; -import java.io.OutputStreamWriter; -import java.io.Reader; -import java.io.StringReader; - -import javax.script.Bindings; -import javax.script.Compilable; -import javax.script.CompiledScript; -import javax.script.Invocable; -import javax.script.ScriptEngine; -import javax.script.ScriptEngineManager; -import javax.script.ScriptException; -import javax.script.SimpleBindings; - -import junit.framework.TestCase; - -public class TestInvocablePhpScriptEngine extends TestCase { - - private ScriptEngine e; - private Bindings b; - private String script; - private ScriptEngineManager m; - private String invocableScript; - - public TestInvocablePhpScriptEngine(String name) { - super(name); - } - - protected void setUp() throws Exception { - super.setUp(); - - m = new ScriptEngineManager(); - e = m.getEngineByName("php-invocable"); - b = new SimpleBindings(); - script = ""; - invocableScript = ""; // no exit() - - } - - protected void tearDown() throws Exception { - super.tearDown(); - ((Closeable) e).close(); - } - - public void testEvalReader() { - try { - Reader r = new StringReader(script); - assertTrue("3".equals(String.valueOf(e.eval(r)))); - r.close(); - } catch (Exception e) { - fail(String.valueOf(e)); - } - } - - public void testEvalReaderBindings() { - try { - Reader r = new StringReader(script); - assertTrue("3".equals(String.valueOf(e.eval(r, b)))); - r.close(); - } catch (Exception e) { - fail(String.valueOf(e)); - } - } - - public void testEvalString() { - try { - assertTrue("3".equals(String.valueOf(e.eval(script)))); - } catch (ScriptException e) { - fail(String.valueOf(e)); - } - } - - public void testEvalStringBindings() { - try { - assertTrue("3".equals(String.valueOf(e.eval(script, b)))); - } catch (ScriptException e) { - fail(String.valueOf(e)); - } - } - - public void testEvalCompilableString() { - try { - ScriptEngine e = m.getEngineByName("php-invocable"); - ByteArrayOutputStream out = new ByteArrayOutputStream(); - OutputStreamWriter writer = new OutputStreamWriter(out); - e.getContext().setWriter(writer); - e.getContext().getWriter(); - ((java.io.FileFilter) e).accept(new File(System.getProperty("java.io.tmpdir", "/tmp") + File.separator + "test.php")); - CompiledScript s = ((Compilable) e).compile(""); - - long t1 = System.currentTimeMillis(); - for (int i = 0; i < 100; i++) { - s.eval(); - ((Closeable) e).close(); - assertTrue("3".equals(out.toString())); - out.reset(); - } - long t2 = System.currentTimeMillis(); - System.out.println("testEvalInvocableCompilableString time:" + (t2 - t1)); - - } catch (Exception e) { - fail(String.valueOf(e)); - } - } - - public void testInvokeFunction() { - try { - ScriptEngine e = m.getEngineByName("php-invocable"); - e.eval(invocableScript); - assertTrue(6 == (Integer) ((Invocable) e).invokeFunction("f", new Object[]{"5"})); - ((Closeable) e).close(); - } catch (Exception e) { - fail(String.valueOf(e)); - } - } - - public void testInvokeFunctionCompiled() { - try { - ScriptEngine e = m.getEngineByName("php-invocable"); - ((java.io.FileFilter) e).accept(new File(System.getProperty("java.io.tmpdir", "/tmp") + File.separator + "test.php")); - CompiledScript c = ((Compilable) e).compile(invocableScript); - c.eval(); - assertTrue(6 == (Integer) ((Invocable) e).invokeFunction("f", new Object[]{"5"})); - c.eval(); - assertTrue(6 == (Integer) ((Invocable) e).invokeFunction("f", new Object[]{"5"})); - ((Closeable) e).close(); - } catch (Exception e) { - fail(String.valueOf(e)); - } - } - -// public void testInvokeMethod() { -// fail("Not yet implemented"); -// } -// -// public void testGetInterfaceClass() { -// fail("Not yet implemented"); -// } -// -// public void testGetInterfaceObjectClass() { -// fail("Not yet implemented"); -// } -// public void testInvokeFunctionCompiled() { -// fail("Not yet implemented"); -// } -// -// public void testInvokeMethodCompiled() { -// fail("Not yet implemented"); -// } -// -// public void testGetInterfaceClassCompiled() { -// fail("Not yet implemented"); -// } -// -// public void testGetInterfaceObjectClassCompiled() { -// fail("Not yet implemented"); -// } -} diff --git a/server/php/java/test/TestPhpScriptEngine.java b/server/php/java/test/TestPhpScriptEngine.java deleted file mode 100644 index a245ba7..0000000 --- a/server/php/java/test/TestPhpScriptEngine.java +++ /dev/null @@ -1,104 +0,0 @@ -package php.java.test; - -import java.io.ByteArrayOutputStream; -import java.io.Closeable; -import java.io.File; -import java.io.OutputStreamWriter; -import java.io.Reader; -import java.io.StringReader; - -import javax.script.Bindings; -import javax.script.Compilable; -import javax.script.CompiledScript; -import javax.script.ScriptEngine; -import javax.script.ScriptEngineManager; -import javax.script.ScriptException; -import javax.script.SimpleBindings; - -import junit.framework.TestCase; - -public class TestPhpScriptEngine extends TestCase { - - private ScriptEngine e; - private Bindings b; - private String script; - private ScriptEngineManager m; - - public TestPhpScriptEngine(String name) { - super(name); - } - - protected void setUp() throws Exception { - super.setUp(); - m = new ScriptEngineManager(); - e = m.getEngineByName("php"); - b = new SimpleBindings(); - script = ""; - } - - protected void tearDown() throws Exception { - super.tearDown(); - ((Closeable) e).close(); - } - - public void testEvalReader() { - try { - Reader r = new StringReader(script); - assertTrue("3".equals(String.valueOf(e.eval(r)))); - r.close(); - } catch (Exception e) { - fail(String.valueOf(e)); - } - } - - public void testEvalReaderBindings() { - try { - Reader r = new StringReader(script); - assertTrue("3".equals(String.valueOf(e.eval(r, b)))); - r.close(); - } catch (Exception e) { - fail(String.valueOf(e)); - } - } - - public void testEvalString() { - try { - assertTrue("3".equals(String.valueOf(e.eval(script)))); - } catch (ScriptException e) { - fail(String.valueOf(e)); - } - } - - public void testEvalStringBindings() { - try { - assertTrue("3".equals(String.valueOf(e.eval(script, b)))); - } catch (ScriptException e) { - fail(String.valueOf(e)); - } - } - - public void testEvalCompilableString() { - try { - ByteArrayOutputStream out = new ByteArrayOutputStream(); - OutputStreamWriter writer = new OutputStreamWriter(out); - ScriptEngine e = m.getEngineByName("php"); - - e.getContext().setWriter(writer); - ((java.io.FileFilter) e).accept(new File(System.getProperty("java.io.tmpdir", "/tmp") + File.separator + "test.php")); - CompiledScript s = ((Compilable) e).compile(""); - - long t1 = System.currentTimeMillis(); - for (int i = 0; i < 100; i++) { - s.eval(); - assertTrue("3".equals(out.toString())); - out.reset(); - } - long t2 = System.currentTimeMillis(); - System.out.println("testEvalCompilableString time:" + (t2 - t1)); - - } catch (Exception e) { - fail(String.valueOf(e)); - } - } - -} diff --git a/server/php/java/test/TestScript.java b/server/php/java/test/TestScript.java deleted file mode 100644 index 0c9cb91..0000000 --- a/server/php/java/test/TestScript.java +++ /dev/null @@ -1,42 +0,0 @@ -package php.java.test; - -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.io.OutputStream; -import java.io.OutputStreamWriter; -import java.io.Writer; - -import javax.script.ScriptEngine; -import javax.script.ScriptEngineManager; -import javax.script.ScriptException; - -import junit.framework.TestCase; - -public class TestScript extends TestCase { - - public TestScript(String name) { - super(name); - } - - protected void setUp() throws Exception { - super.setUp(); - } - - protected void tearDown() throws Exception { - super.tearDown(); - } - - public void test() throws IOException, ScriptException { - ScriptEngine eng = (new ScriptEngineManager()).getEngineByName("php"); - OutputStream out = new ByteArrayOutputStream(); - Writer w = new OutputStreamWriter(out); - eng.getContext().setWriter(w); - eng.getContext().setErrorWriter(w); - - eng.eval("call(java_closure()))) print('test okay'); ?>"); - eng.eval((String) null); - - assertTrue("test okay".equals(String.valueOf(out))); - } - -} diff --git a/server/php/java/test/TestSetWriter.java b/server/php/java/test/TestSetWriter.java deleted file mode 100644 index 53788fb..0000000 --- a/server/php/java/test/TestSetWriter.java +++ /dev/null @@ -1,66 +0,0 @@ -package php.java.test; - -import java.io.IOException; -import java.io.Reader; -import java.io.Writer; - -import javax.script.ScriptContext; -import javax.script.ScriptEngine; -import javax.script.ScriptEngineManager; - -import junit.framework.TestCase; - -public class TestSetWriter extends TestCase { - - public TestSetWriter(String name) { - super(name); - } - - protected void setUp() throws Exception { - super.setUp(); - } - - protected void tearDown() throws Exception { - super.tearDown(); - } - - public static class TestWriter extends Writer { - - public void close() throws IOException { - throw new RuntimeException("failed"); - } - - public void flush() throws IOException { - - } - - public void write(char[] cbuf, int off, int len) throws IOException { - assertTrue("3".equals(new String(cbuf, off, len))); - } - - } - - public static class TestReader extends Reader { - - public void close() throws IOException { - throw new RuntimeException("failed"); - } - - public int read(char[] cbuf, int off, int len) throws IOException { - return 0; - } - - } - - public void test() throws Exception { - ScriptEngineManager m = new ScriptEngineManager(); - ScriptEngine e = m.getEngineByName("php"); - ScriptContext c = e.getContext(); - c.setWriter(new TestWriter()); - c.setErrorWriter(new TestWriter()); - c.setReader(new TestReader()); - e.eval(""); - - } - -} diff --git a/server/php/java/test/TestSimpleInvocation.java b/server/php/java/test/TestSimpleInvocation.java deleted file mode 100644 index 395e567..0000000 --- a/server/php/java/test/TestSimpleInvocation.java +++ /dev/null @@ -1,42 +0,0 @@ -package php.java.test; - -import java.io.ByteArrayOutputStream; -import java.io.Closeable; -import java.io.OutputStream; -import java.io.OutputStreamWriter; -import java.io.Writer; - -import javax.script.Invocable; -import javax.script.ScriptEngine; -import javax.script.ScriptEngineManager; -import javax.script.ScriptException; - -import junit.framework.TestCase; - -public class TestSimpleInvocation extends TestCase { - - public TestSimpleInvocation(String name) { - super(name); - } - - protected void setUp() throws Exception { - super.setUp(); - } - - protected void tearDown() throws Exception { - super.tearDown(); - } - - public void test() throws Exception { - ScriptEngineManager m = new ScriptEngineManager(); - ScriptEngine e = m.getEngineByName("php-invocable"); - OutputStream out = new ByteArrayOutputStream(); - Writer w = new OutputStreamWriter(out); - e.getContext().setWriter(w); - e.getContext().setErrorWriter(w); - Invocable i = (Invocable) e; - i.invokeFunction("phpinfo", new Object[0]); - if (out.toString().length() == 0) throw new ScriptException("test failed"); - ((Closeable) e).close(); - } -} diff --git a/server/php/java/test/TestURLReader.java b/server/php/java/test/TestURLReader.java deleted file mode 100644 index dcdade3..0000000 --- a/server/php/java/test/TestURLReader.java +++ /dev/null @@ -1,46 +0,0 @@ -package php.java.test; - -import java.io.ByteArrayOutputStream; -import java.io.OutputStream; -import java.io.OutputStreamWriter; -import java.io.Writer; -import java.net.URL; - -import javax.script.Invocable; -import javax.script.ScriptEngine; -import javax.script.ScriptEngineManager; - -import junit.framework.TestCase; -import php.java.script.IPhpScriptContext; -import php.java.script.URLReader; - -public class TestURLReader extends TestCase { - - public TestURLReader(String name) { - super(name); - } - - protected void setUp() throws Exception { - super.setUp(); - } - - protected void tearDown() throws Exception { - super.tearDown(); - } - - public void test() throws Exception { - ScriptEngine e = new ScriptEngineManager().getEngineByName("php-invocable"); - - // Note: don't use the following line in your own code - // URLReader should be used to connect to a real HTTP server, usually running on port 80 - e.eval(new URLReader(new URL("http://localhost:" + ((IPhpScriptContext) e.getContext()).getSocketName() + "/JavaBridge/java/JavaProxy.php"))); - - OutputStream out = new ByteArrayOutputStream(); - Writer w = new OutputStreamWriter(out); - e.getContext().setWriter(w); - e.getContext().setErrorWriter(w); - String result = String.valueOf(((Invocable) e).invokeFunction("addslashes", new Object[]{"Is your name O'reilly?"})); - assertTrue(out.toString().length() == 0); - assertTrue("Is your name O\\'reilly?".equals(result)); - } -} diff --git a/src/test/java/io/soluble/pjb/script/AllTests.java b/src/test/java/io/soluble/pjb/script/AllTests.java index 3669dc1..94c64eb 100644 --- a/src/test/java/io/soluble/pjb/script/AllTests.java +++ b/src/test/java/io/soluble/pjb/script/AllTests.java @@ -10,7 +10,7 @@ public static Test suite() { //$JUnit-BEGIN$ suite.addTestSuite(TestException.class); suite.addTestSuite(TestGetResult.class); - suite.addTestSuite(SimpleCompileable.class); + suite.addTestSuite(TestSimpleCompileable.class); suite.addTestSuite(TestGetInterface.class); suite.addTestSuite(TestScript.class); suite.addTestSuite(TestInvocablePhpScriptEngine.class); diff --git a/src/test/java/io/soluble/pjb/script/SimpleCompileable.java b/src/test/java/io/soluble/pjb/script/TestSimpleCompileable.java similarity index 88% rename from src/test/java/io/soluble/pjb/script/SimpleCompileable.java rename to src/test/java/io/soluble/pjb/script/TestSimpleCompileable.java index 46c8222..186664a 100644 --- a/src/test/java/io/soluble/pjb/script/SimpleCompileable.java +++ b/src/test/java/io/soluble/pjb/script/TestSimpleCompileable.java @@ -6,11 +6,11 @@ import junit.framework.TestCase; -public class SimpleCompileable extends TestCase { +public class TestSimpleCompileable extends TestCase { private CompiledScript script; - public SimpleCompileable(String name) { + public TestSimpleCompileable(String name) { super(name); } From 892f47bd4a4b2efa66116c8935c24548046f9c30 Mon Sep 17 00:00:00 2001 From: "Christian P. Lerch" Date: Tue, 24 Jan 2017 09:33:16 +0100 Subject: [PATCH 21/25] WEB-INF moved to source tree --- src/main/webapp/WEB-INF/cgi/README | 48 +++++ .../php-cgi.exe.MISSING.README.txt | 1 + src/main/webapp/WEB-INF/cgi/launcher.c | 192 ++++++++++++++++++ src/main/webapp/WEB-INF/cgi/launcher.sh | 8 + src/main/webapp/WEB-INF/web.xml | 65 ++++++ src/main/webapp/index.jsp | 13 ++ 6 files changed, 327 insertions(+) create mode 100644 src/main/webapp/WEB-INF/cgi/README create mode 100644 src/main/webapp/WEB-INF/cgi/amd64-windows/php-cgi.exe.MISSING.README.txt create mode 100644 src/main/webapp/WEB-INF/cgi/launcher.c create mode 100644 src/main/webapp/WEB-INF/cgi/launcher.sh create mode 100644 src/main/webapp/WEB-INF/web.xml create mode 100644 src/main/webapp/index.jsp diff --git a/src/main/webapp/WEB-INF/cgi/README b/src/main/webapp/WEB-INF/cgi/README new file mode 100644 index 0000000..117f099 --- /dev/null +++ b/src/main/webapp/WEB-INF/cgi/README @@ -0,0 +1,48 @@ +If this directory contains a PHP FastCGI executable called +-/php-cgi.sh] or -/php-cgi.exe, +the PHP/Java Bridge library tries to call it via a /bin/sh wrapper +(see launcher.sh) or via a "launcher.exe" when the server +or the web context starts: + + + internet + clients + \ + \ jsp/servlet/php req. . + \ . + ---- :8080 -- J2EE AS . + / | . + | | . + | ---- servlet /------ :9667 + | ---- FastCGIServlet / . PHP FastCGI Server + | ---- jsp . | + | ->-- PhpJavaServlet . \--- php + | ---- ... \ ------->--\--- php -->| + | . P-J-B ... | + | . PROTOCOL | + ------------------------------<--------------------------------| + P-J-B PROTOCOL . + + + + +UNIX: If /bin/sh is available and the php-cgi supports the -b flag, +the library executes the following command during startup: + +REDIRECT_STATUS="200" \ +X_JAVABRIDGE_OVERRIDE_HOSTS="/" \ +PHP_FCGI_CHILDREN="5" \ +PHP_FCGI_MAX_REQUESTS="5000" \ +arch-os/launcher.sh arch-os/php-cgi -c php-cgi.ini -b 127.0.0.1:9667 + + +WINDOWS: If /bin/sh is not available or if the php-cgi.exe does not +support the -b flag, the library executes the following command during +startup: + +set REDIRECT_STATUS "200" +set X_JAVABRIDGE_OVERRIDE_HOSTS "/" +set PHP_FCGI_CHILDREN "5" +set PHP_FCGI_MAX_REQUESTS "5000" +launcher.exe PHP-CGI NAMED-PIPE PHP-OPTIONS + diff --git a/src/main/webapp/WEB-INF/cgi/amd64-windows/php-cgi.exe.MISSING.README.txt b/src/main/webapp/WEB-INF/cgi/amd64-windows/php-cgi.exe.MISSING.README.txt new file mode 100644 index 0000000..4f90721 --- /dev/null +++ b/src/main/webapp/WEB-INF/cgi/amd64-windows/php-cgi.exe.MISSING.README.txt @@ -0,0 +1 @@ +You can add "php-cgi.exe" to this directory and re-deploy your web application. diff --git a/src/main/webapp/WEB-INF/cgi/launcher.c b/src/main/webapp/WEB-INF/cgi/launcher.c new file mode 100644 index 0000000..7fcc80a --- /dev/null +++ b/src/main/webapp/WEB-INF/cgi/launcher.c @@ -0,0 +1,192 @@ +/*-*- mode: C; tab-width:4 -*-*/ + +/** The launcher.exe starts a PHP FastCGI server on Windows. + + Copyright (C) 2003-2007 Jost Boekemeier + + This file is part of the PHP/Java Bridge. + + The PHP/Java Bridge ("the library") is free software; you can + redistribute it and/or modify it under the terms of the GNU General + Public License as published by the Free Software Foundation; either + version 2, or (at your option) any later version. + + The library is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with the PHP/Java Bridge; see the file COPYING. If not, write to the + Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + 02111-1307 USA. + + Linking this file statically or dynamically with other modules is + making a combined work based on this library. Thus, the terms and + conditions of the GNU General Public License cover the whole + combination. + + As a special exception, the copyright holders of this library give you + permission to link this library with independent modules to produce an + executable, regardless of the license terms of these independent + modules, and to copy and distribute the resulting executable under + terms of your choice, provided that you also meet, for each linked + independent module, the terms and conditions of the license of that + module. An independent module is a module which is not derived from + or based on this library. If you modify this library, you may extend + this exception to your version of the library, but you are not + obligated to do so. If you do not wish to do so, delete this + exception statement from your version. */ + +/* + * Compile this program with: i386-pc-mingw32-gcc launcher.c -o + * launcher.exe -lws2_32 + */ + +#include +#include +#include +#include +#include + +void die(int line) { + fprintf(stderr, "launcher.exe terminated with error code %d in line %d.\n", GetLastError(), line); + exit(2); +} +void usage() { + puts("This file is part of the PHP/Java Bridge."); + puts("Copyright (C) 2003, 2006 Jost Boekemeier and others."); + puts("This is free software; see the source for copying conditions. There is NO"); + puts("warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."); + puts("Usage: launcher.exe php-cgi.exe channelName php-options"); + puts("Influential environment variables: PHP_FCGI_MAX_REQUESTS, PHP_FCGI_CHILDREN"); + puts("Example: launcher.exe php-cgi \\\\.\\pipe\\JavaBridge@9667 -d allow_url_include=On"); + exit(1); +} + +HANDLE *processes; +SECURITY_ATTRIBUTES sa = { 0 }; +STARTUPINFO su_info; +char cmd[8192], *pEnv; + +HANDLE start_proc(char*name) { + HANDLE listen_handle; + PROCESS_INFORMATION p; + + listen_handle = CreateNamedPipe(name, + PIPE_ACCESS_DUPLEX, + PIPE_TYPE_BYTE|PIPE_READMODE_BYTE|PIPE_WAIT, + PIPE_UNLIMITED_INSTANCES, + 8192, 8192, NMPWAIT_WAIT_FOREVER, NULL); + + if (listen_handle == INVALID_HANDLE_VALUE) die(__LINE__); + su_info.hStdInput = listen_handle; + SetHandleInformation(su_info.hStdInput, HANDLE_FLAG_INHERIT, TRUE); + + if(!(CreateProcess(NULL, cmd, NULL, NULL, TRUE, 0, pEnv, NULL, &su_info, &p))) die(__LINE__); + CloseHandle(p.hThread); + CloseHandle(listen_handle); + return p.hProcess; +} + +int wait_stdin(void*dummy) { + char buf[256]; + fgets(buf, sizeof buf, stdin); + SetEvent(processes[0]); + return 0; +} + +int main(int argc, char **argv) { + extern char **environ; + HANDLE sem; + int children, i, pterm; + size_t len, envlen; + char *tmp, *php_fcgi_children, **envp, *s, *t, ts[256]; + + if(argc == 2) usage(); + else if(argc<=1) { + static char *std_argv[] = {NULL, "php-cgi", "\\\\.\\pipe\\JavaBridge@9667"}; + argc = 3; + argv = std_argv; + } + /* teminate all children when launcher + gets killed */ + if(!(sem = CreateSemaphore(&sa, 1, 1, NULL))) die(__LINE__); + SetHandleInformation(sem, HANDLE_FLAG_INHERIT, TRUE); + snprintf(ts, sizeof(ts), "_FCGI_SHUTDOWN_EVENT_=%ld", sem); + + /* windows requires a null terminated + block of null terminated env + strings */ + for(envp=environ,envlen=0; *envp; envp++) envlen+=1+strlen(*envp); + envlen++; + + pEnv = malloc(envlen+strlen(ts)+1); + for(t=pEnv,envp=environ; *envp; envp++) + for(s=*envp; *t++=*s++; ) + ; + for(s=ts; *t++=*s++; ) + ; + *t=0; + + /* how many processes? */ + for(php_fcgi_children=0,envp=environ; *envp; envp++) + if(!strncmp("PHP_FCGI_CHILDREN", *envp, 17)) { + php_fcgi_children = strchr(*envp, '=')+1; + break; + } + if(!php_fcgi_children) php_fcgi_children="5"; + children = atoi(php_fcgi_children); + processes = malloc(1+(children*sizeof*processes)); + if(!processes) abort(); + + + /* set up process info */ + sa.bInheritHandle = TRUE; + sa.nLength = sizeof(sa); + + su_info.cb = sizeof(STARTUPINFO); + su_info.dwFlags = STARTF_USESHOWWINDOW | STARTF_USESTDHANDLES; + su_info.wShowWindow = SW_HIDE; + su_info.hStdError = INVALID_HANDLE_VALUE; + su_info.hStdOutput = INVALID_HANDLE_VALUE; + + /* change to: launcher.exe + '\\\\.\\pipe\\pjb9667' php-cgi -d + allow_url_include=On" */ + tmp = argv[1]; + argv[1] = argv[2]; + argv[2] = tmp; + + /* the command line */ + for(*cmd=len=0, i=2, argc-=2; argc--; i++) { + len += 3+strlen(argv[i]); + if(len>=sizeof(cmd)) abort(); + strcat(cmd, "\""); + strcat(cmd, argv[i]); + strcat(cmd, "\""); + if(argc) strcat(cmd, " "); + } + + //fputs(cmd, stderr); + + /* start the children */ + if(!(processes[0] = CreateEvent(NULL, TRUE, FALSE, NULL))) die(__LINE__); + if(argv[0]) CreateThread(NULL, 0, wait_stdin, NULL, 0, NULL); + for(i=1; i<=children; i++) + processes[i]=start_proc(argv[1]); + + /* until stdin is not available anymore */ + while(1) { + if((pterm=WaitForMultipleObjects(children+1,processes,FALSE,INFINITE))==WAIT_FAILED) + die(__LINE__); + pterm-=WAIT_OBJECT_0; + if(pterm) + processes[pterm]=start_proc(argv[1]); + else { + for(i=1; i<=children; i++) TerminateProcess(processes[i], -1); + return 0; + } + } + return 3; +} diff --git a/src/main/webapp/WEB-INF/cgi/launcher.sh b/src/main/webapp/WEB-INF/cgi/launcher.sh new file mode 100644 index 0000000..1377c97 --- /dev/null +++ b/src/main/webapp/WEB-INF/cgi/launcher.sh @@ -0,0 +1,8 @@ +#!/bin/sh +# php fcgi launcher +#set -x + +"$@" 1>&2 & +trap "kill $! && exit 0;" 1 2 15 +read result 1>&2 +kill $! diff --git a/src/main/webapp/WEB-INF/web.xml b/src/main/webapp/WEB-INF/web.xml new file mode 100644 index 0000000..cf06817 --- /dev/null +++ b/src/main/webapp/WEB-INF/web.xml @@ -0,0 +1,65 @@ + + + + + + + + + + prefer_system_php_exec + On + + + + php_exec + php-cgi.exe + + + + + PhpCGIFilter + io.soluble.pjb.servlet.PhpCGIFilter + + + PhpCGIFilter + /* + + + + + io.soluble.pjb.servlet.ContextLoaderListener + + + + + PhpJavaServlet + io.soluble.pjb.servlet.PhpJavaServlet + + + + + PhpCGIServlet + io.soluble.pjb.servlet.fastcgi.FastCGIServlet + + + + + PhpJavaServlet + *.phpjavabridge + + + + + PhpCGIServlet + *.php + + + + + index.php + + + diff --git a/src/main/webapp/index.jsp b/src/main/webapp/index.jsp new file mode 100644 index 0000000..1c4a4d9 --- /dev/null +++ b/src/main/webapp/index.jsp @@ -0,0 +1,13 @@ +<%@page contentType="text/html" pageEncoding="UTF-8"%> + + + + + + PhpJavaBridge Home Page + + +

PhpJavaBridge Home Page

+ + From 34f8d7ad21bde0c20d7890af01f68eca0f01dc08 Mon Sep 17 00:00:00 2001 From: "Christian P. Lerch" Date: Tue, 24 Jan 2017 09:34:38 +0100 Subject: [PATCH 22/25] add war build --- build.gradle | 34 ++++++++++++++++++++++++++++++++-- 1 file changed, 32 insertions(+), 2 deletions(-) diff --git a/build.gradle b/build.gradle index 83968ff..2bb113d 100644 --- a/build.gradle +++ b/build.gradle @@ -5,6 +5,8 @@ ant.importBuild 'build.xml' apply plugin: 'java' apply plugin: 'jacoco' +apply plugin: 'war' +apply plugin: 'com.bmuschko.tomcat' // provides embedded tomcat 7 compileJava.options.encoding = 'UTF-8' compileTestJava.options.encoding = 'UTF-8' @@ -13,15 +15,24 @@ sourceCompatibility = 1.7 targetCompatibility = 1.7 repositories { + mavenLocal() mavenCentral() } dependencies { - compileOnly('javax.servlet:servlet-api:2.5') + providedCompile('javax.servlet:servlet-api:2.5') testCompile('junit:junit:3.8.2') // the project still uses this junit API + + def tomcatVersion = '7.0.59' + tomcat "org.apache.tomcat.embed:tomcat-embed-core:${tomcatVersion}", + "org.apache.tomcat.embed:tomcat-embed-logging-juli:${tomcatVersion}" + tomcat("org.apache.tomcat.embed:tomcat-embed-jasper:${tomcatVersion}") { + exclude group: 'org.eclipse.jdt.core.compiler', module: 'ecj' + } } jar { + baseName "JavaBridge" manifest { attributes("Main-Class": "io.soluble.pjb.Standalone", "Implementation-Title": "php-java-bridge.jar", @@ -29,6 +40,11 @@ jar { } } +war { + baseName "JavaBridge" + //from 'src/rootContent' // adds a file-set to the root of the archive +} + clean { dependsOn genClean } @@ -44,4 +60,18 @@ jacocoTestReport { csv.enabled false html.destination "${buildDir}/reports/coverage" } -} \ No newline at end of file +} + +buildscript { + repositories { + jcenter() + } + + dependencies { + classpath 'com.bmuschko:gradle-tomcat-plugin:2.0' + } +} + +[tomcatRun, tomcatRunWar]*.contextPath = '/JavaBridge' +[tomcatRun, tomcatRunWar]*.daemon = true + From c5bf4874bceb28d93a07e53685cabf82dbeb1803 Mon Sep 17 00:00:00 2001 From: "Christian P. Lerch" Date: Tue, 24 Jan 2017 09:35:09 +0100 Subject: [PATCH 23/25] and again... --- .gitignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitignore b/.gitignore index ac5042e..baa48bb 100644 --- a/.gitignore +++ b/.gitignore @@ -25,3 +25,5 @@ src/main/java/io/soluble/pjb/bridge/LauncherWindows3.java src/main/java/io/soluble/pjb/bridge/LauncherWindows4.java src/main/resources/META-INF/java/Java.inc src/main/resources/META-INF/java/JavaProxy.php +/.nb-gradle/ +.nb-gradle-properties From 6c0f23cf3326485f7e19764ca94bb3f7f37b7df8 Mon Sep 17 00:00:00 2001 From: "Christian P. Lerch" Date: Tue, 24 Jan 2017 09:35:56 +0100 Subject: [PATCH 24/25] code cleanup & moderizations --- src/main/java/io/soluble/pjb/bridge/Util.java | 43 ++++++++++--------- .../soluble/pjb/servlet/PhpJavaServlet.java | 20 ++++----- 2 files changed, 31 insertions(+), 32 deletions(-) diff --git a/src/main/java/io/soluble/pjb/bridge/Util.java b/src/main/java/io/soluble/pjb/bridge/Util.java index 22e979c..187ee7f 100644 --- a/src/main/java/io/soluble/pjb/bridge/Util.java +++ b/src/main/java/io/soluble/pjb/bridge/Util.java @@ -1,7 +1,3 @@ -/*-*- mode: Java; tab-width:8 -*-*/ - -package io.soluble.pjb.bridge; - /* * Copyright (C) 2003-2007 Jost Boekemeier * @@ -24,6 +20,8 @@ * OTHER DEALINGS IN THE SOFTWARE. */ +package io.soluble.pjb.bridge; + import java.io.ByteArrayOutputStream; import java.io.File; import java.io.IOException; @@ -67,7 +65,9 @@ public final class Util { * Script engines are started from this pool. * Use pool.destroy() to destroy the thread pool upon JVM or servlet shutdown */ - public static final ThreadPool PHP_SCRIPT_ENGINE_THREAD_POOL = new ThreadPool("JavaBridgeStandaloneScriptEngineProxy", Integer.parseInt(Util.THREAD_POOL_MAX_SIZE)) { + public static final ThreadPool PHP_SCRIPT_ENGINE_THREAD_POOL = + new ThreadPool("JavaBridgeStandaloneScriptEngineProxy", Integer.parseInt(Util.THREAD_POOL_MAX_SIZE)) { + @Override protected Delegate createDelegate(String name) { Delegate d = super.createDelegate(name); d.setDaemon(true); @@ -172,8 +172,8 @@ public Logger(boolean useChainsaw, ILogger logger) { if (useChainsaw) try { this.clogger = ChainsawLogger.createChainsawLogger(); - } catch (Throwable t) { - if (Util.logLevel > 5) t.printStackTrace(); + } catch (Exception e) { + if (Util.logLevel > 5) e.printStackTrace(); this.logger = logger; } else { @@ -189,6 +189,7 @@ private ILogger getLogger() { /** * {@inheritDoc} */ + @Override public void printStackTrace(Throwable t) { if (clogger == null) logger.printStackTrace(t); else @@ -203,6 +204,7 @@ public void printStackTrace(Throwable t) { /** * {@inheritDoc} */ + @Override public void log(int level, String msg) { if (clogger == null) logger.log(level, msg); else @@ -393,33 +395,33 @@ private static void initGlobals() { try { JAVA_INC = Class.forName("io.soluble.pjb.bridge.JavaInc"); - } catch (Exception e) {/*ignore*/} + } catch (ClassNotFoundException e) {/*ignore*/} try { PHPDEBUGGER_PHP = Class.forName("io.soluble.pjb.bridge.PhpDebuggerPHP"); - } catch (Exception e) {/*ignore*/} + } catch (ClassNotFoundException e) {/*ignore*/} try { JAVA_PROXY = Class.forName("io.soluble.pjb.bridge.JavaProxy"); - } catch (Exception e) {/*ignore*/} + } catch (ClassNotFoundException e) {/*ignore*/} try { LAUNCHER_UNIX = Class.forName("io.soluble.pjb.bridge.LauncherUnix"); - } catch (Exception e) {/*ignore*/} + } catch (ClassNotFoundException e) {/*ignore*/} try { LAUNCHER_WINDOWS = Class.forName("io.soluble.pjb.bridge.LauncherWindows"); LAUNCHER_WINDOWS2 = Class.forName("io.soluble.pjb.bridge.LauncherWindows2"); LAUNCHER_WINDOWS3 = Class.forName("io.soluble.pjb.bridge.LauncherWindows3"); LAUNCHER_WINDOWS4 = Class.forName("io.soluble.pjb.bridge.LauncherWindows4"); - } catch (Exception e) {/*ignore*/} + } catch (ClassNotFoundException e) {/*ignore*/} Properties p = new Properties(); try { InputStream in = Util.class.getResourceAsStream("global.properties"); p.load(in); VERSION = p.getProperty("BACKEND_VERSION"); - } catch (Throwable t) { + } catch (IOException t) { VERSION = "unknown"; //t.printStackTrace(); } - ; + ENVIRONMENT_BLACKLIST = getEnvironmentBlacklist(p); COMMON_ENVIRONMENT = getCommonEnvironment(ENVIRONMENT_BLACKLIST); DEFAULT_CGI_LOCATIONS = new String[]{"/usr/bin/php-cgi", "c:/Program Files/PHP/php-cgi.exe"}; @@ -454,7 +456,7 @@ private static void initGlobals() { } catch (Throwable xe) {/*ignore*/} try { MAX_WAIT = Integer.parseInt(getProperty(p, "io.soluble.pjb.bridge.max_wait", "15000")); - } catch (Exception e) { + } catch (NumberFormatException e) { MAX_WAIT = 15000; } try { @@ -482,7 +484,6 @@ private static void initGlobals() { } catch (Throwable t) { //t.printStackTrace(); } - ; // resolve java.io.tmpdir for windows; PHP doesn't like dos short file names like foo~1\bar~2\... TMPDIR = new File(System.getProperty("java.io.tmpdir", "/tmp")); @@ -511,14 +512,14 @@ private static void initGlobals() { } catch (Throwable t) { //t.printStackTrace(); } - ; + try { EXTENSION_NAME = "JavaBridge"; EXTENSION_NAME = getProperty(p, "EXTENSION_DISPLAY_NAME", "JavaBridge"); } catch (Throwable t) { //t.printStackTrace(); } - ; + try { PHP_EXEC = getProperty(p, "PHP_EXEC", null); } catch (Throwable t) { @@ -528,7 +529,7 @@ private static void initGlobals() { String s = getProperty(p, "DEFAULT_LOG_LEVEL", "3"); DEFAULT_LOG_LEVEL = Integer.parseInt(s); Util.logLevel = Util.DEFAULT_LOG_LEVEL; /* java.log_level in php.ini overrides */ - } catch (Throwable t) {/*ignore*/} + } catch (NumberFormatException t) {/*ignore*/} try { DEFAULT_LOG_FILE_SET = false; DEFAULT_LOG_FILE = getProperty(p, "DEFAULT_LOG_FILE", Util.EXTENSION_NAME + ".log"); @@ -908,7 +909,7 @@ public static String[] checkCgiBinary(String php) { String path = phpFile.getParent(); String file = phpFile.getName(); - StringBuffer buf = new StringBuffer(); + StringBuilder buf = new StringBuilder(); if (path != null) { buf.append(path); buf.append(File.separatorChar); @@ -944,7 +945,7 @@ public static String[] checkCgiBinary(String php) { */ public static String checkError(String s) { // Is there a better way to check for a fatal error? - return (s.startsWith("PHP") && (s.indexOf("error:") > -1)) ? s : null; + return (s.startsWith("PHP") && (s.contains("error:"))) ? s : null; } /** diff --git a/src/main/java/io/soluble/pjb/servlet/PhpJavaServlet.java b/src/main/java/io/soluble/pjb/servlet/PhpJavaServlet.java index 32d19cf..ae45325 100644 --- a/src/main/java/io/soluble/pjb/servlet/PhpJavaServlet.java +++ b/src/main/java/io/soluble/pjb/servlet/PhpJavaServlet.java @@ -1,7 +1,3 @@ -/*-*- mode: Java; tab-width:8 -*-*/ - -package io.soluble.pjb.servlet; - /* * Copyright (C) 2003-2007 Jost Boekemeier * @@ -24,6 +20,8 @@ * OTHER DEALINGS IN THE SOFTWARE. */ +package io.soluble.pjb.servlet; + import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; @@ -77,6 +75,7 @@ /** * @inheritDoc */ + @Override public void init(ServletConfig config) throws ServletException { maxKeepAliveRequests = ServletUtil.getMBeanProperty("*:type=Connector,port=8080", "maxKeepAliveRequests"); keepAliveTimeout = ServletUtil.getMBeanProperty("*:type=Connector,port=8080", "keepAliveTimeout"); @@ -119,6 +118,7 @@ public void init(ServletConfig config) throws ServletException { /** * {@inheritDoc} */ + @Override public void destroy() { super.destroy(); } @@ -131,7 +131,6 @@ public void destroy() { * * @param req The HttpServletRequest * @param res The HttpServletResponse - * @param credentials The provided credentials. * @return The (new) ServletContextFactory. */ protected SimpleServletContextFactory getContextFactory(HttpServletRequest req, HttpServletResponse res) { @@ -220,12 +219,12 @@ protected void handleLocalConnection(HttpServletRequest req, HttpServletResponse sin.close(); try { res.flushBuffer(); - } catch (Throwable t) { + } catch (IOException t) { Util.printStackTrace(t); } // resin ignores resOut.close() try { resOut.close(); - } catch (Throwable t) { + } catch (IOException t) { Util.printStackTrace(t); } // Sun Java System AS 9 ignores flushBuffer() this.waitForContext(ctx); @@ -278,6 +277,7 @@ protected void handlePut(HttpServletRequest req, HttpServletResponse res) /** * Dispatcher for the "http tunnel", "local channel" or "override redirect". */ + @Override protected void doPut(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { try { @@ -285,10 +285,7 @@ protected void doPut(HttpServletRequest req, HttpServletResponse res) } catch (RuntimeException e) { Util.printStackTrace(e); throw new ServletException(e); - } catch (IOException e) { - Util.printStackTrace(e); - throw e; - } catch (ServletException e) { + } catch (IOException | ServletException e) { Util.printStackTrace(e); throw e; } @@ -297,6 +294,7 @@ protected void doPut(HttpServletRequest req, HttpServletResponse res) /** * For backward compatibility */ + @Override protected void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { String uri = req.getRequestURI(); From 26d6b8fe2007c511548b374f6a62da6ff57f1784 Mon Sep 17 00:00:00 2001 From: "Christian P. Lerch" Date: Tue, 24 Jan 2017 09:42:46 +0100 Subject: [PATCH 25/25] copy generated sources to new webapp dir in source tree --- .gitignore | 2 ++ build.xml | 4 +++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index baa48bb..71cb839 100644 --- a/.gitignore +++ b/.gitignore @@ -27,3 +27,5 @@ src/main/resources/META-INF/java/Java.inc src/main/resources/META-INF/java/JavaProxy.php /.nb-gradle/ .nb-gradle-properties +src/main/webapp/java/Java.inc +src/main/webapp/java/JavaProxy.php diff --git a/build.xml b/build.xml index 3fe8006..198312d 100644 --- a/build.xml +++ b/build.xml @@ -8,6 +8,7 @@ + @@ -37,7 +38,7 @@ - + @@ -47,6 +48,7 @@ +