diff --git a/.gitignore b/.gitignore index 15b53f8..71cb839 100644 --- a/.gitignore +++ b/.gitignore @@ -1,18 +1,31 @@ -.idea +.idea/ +.gradle/ +.projectKnowledge/ +build/ +dist/ +bin/ +lib/ +nbproject/ +doc/API/ +.classpath +nbbuild.xml +manifest.mf *.iml -/dist -/bin -/nbproject -/doc/API -/.classpath -/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 - +*.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 +/.nb-gradle/ +.nb-gradle-properties +src/main/webapp/java/Java.inc +src/main/webapp/java/JavaProxy.php diff --git a/build.gradle b/build.gradle index f549050..2bb113d 100644 --- a/build.gradle +++ b/build.gradle @@ -1,22 +1,77 @@ -group 'io.soluble.php-java-bridge' -version '6.1.11-SNAPSHOT' +group 'io.soluble.pjb' +version '6.2.11' 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' sourceCompatibility = 1.7 +targetCompatibility = 1.7 repositories { + mavenLocal() mavenCentral() } dependencies { - testCompile group: 'junit', name: 'junit', version: '4.11' + 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", + "Implementation-Version": version) + } +} + +war { + baseName "JavaBridge" + //from 'src/rootContent' // adds a file-set to the root of the archive } clean { - dependsOn cleanBuild + dependsOn genClean +} + +compileJava { + dependsOn genAll +} + +jacocoTestReport { + group = "Reporting" + reports { + xml.enabled true + csv.enabled false + html.destination "${buildDir}/reports/coverage" + } +} + +buildscript { + repositories { + jcenter() + } + + dependencies { + classpath 'com.bmuschko:gradle-tomcat-plugin:2.0' + } } +[tomcatRun, tomcatRunWar]*.contextPath = '/JavaBridge' +[tomcatRun, tomcatRunWar]*.daemon = true diff --git a/build.xml b/build.xml index a802cb9..198312d 100644 --- a/build.xml +++ b/build.xml @@ -1,5 +1,99 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -40,7 +129,6 @@ - @@ -285,4 +373,6 @@ depends="JavaBridgeTemplateWar,JavaBridgeWar"> + --> + 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 diff --git a/server/.classpath b/server/.classpath deleted file mode 100644 index 9c3470c..0000000 --- a/server/.classpath +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - 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=<< - * @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. - - 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 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 95% rename from server/php/java/bridge/Util.java rename to src/main/java/io/soluble/pjb/bridge/Util.java index c4951fc..187ee7f 100644 --- a/server/php/java/bridge/Util.java +++ b/src/main/java/io/soluble/pjb/bridge/Util.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; + import java.io.ByteArrayOutputStream; import java.io.File; import java.io.IOException; @@ -49,7 +47,7 @@ import java.util.Vector; import java.util.Map.Entry; -import php.java.bridge.http.FCGIConnectionPool; +import io.soluble.pjb.bridge.http.FCGIConnectionPool; /** @@ -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); @@ -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; @@ -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 @@ -230,7 +232,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 +300,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 +309,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 +340,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 +349,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 +363,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,34 +394,34 @@ private static String getProperty(Properties p, String key, String defaultValue) private static void initGlobals() { try { - JAVA_INC = Class.forName("php.java.bridge.JavaInc"); - } catch (Exception e) {/*ignore*/} + JAVA_INC = Class.forName("io.soluble.pjb.bridge.JavaInc"); + } catch (ClassNotFoundException e) {/*ignore*/} try { - PHPDEBUGGER_PHP = Class.forName("php.java.bridge.PhpDebuggerPHP"); - } catch (Exception e) {/*ignore*/} + PHPDEBUGGER_PHP = Class.forName("io.soluble.pjb.bridge.PhpDebuggerPHP"); + } catch (ClassNotFoundException e) {/*ignore*/} try { - JAVA_PROXY = Class.forName("php.java.bridge.JavaProxy"); - } catch (Exception e) {/*ignore*/} + JAVA_PROXY = Class.forName("io.soluble.pjb.bridge.JavaProxy"); + } catch (ClassNotFoundException e) {/*ignore*/} try { - LAUNCHER_UNIX = Class.forName("php.java.bridge.LauncherUnix"); - } catch (Exception e) {/*ignore*/} + LAUNCHER_UNIX = Class.forName("io.soluble.pjb.bridge.LauncherUnix"); + } catch (ClassNotFoundException 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"); - } catch (Exception e) {/*ignore*/} + 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 (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"}; @@ -453,8 +455,8 @@ 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")); - } catch (Exception e) { + MAX_WAIT = Integer.parseInt(getProperty(p, "io.soluble.pjb.bridge.max_wait", "15000")); + } catch (NumberFormatException e) { MAX_WAIT = 15000; } try { @@ -463,7 +465,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 +475,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 { @@ -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,11 +529,11 @@ 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"); - 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 +882,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. @@ -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; } /** @@ -1319,7 +1320,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 +1485,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 95% rename from server/php/java/servlet/PhpJavaServlet.java rename to src/main/java/io/soluble/pjb/servlet/PhpJavaServlet.java index ee8b709..ae45325 100644 --- a/server/php/java/servlet/PhpJavaServlet.java +++ b/src/main/java/io/soluble/pjb/servlet/PhpJavaServlet.java @@ -1,7 +1,3 @@ -/*-*- mode: Java; tab-width:8 -*-*/ - -package php.java.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; @@ -36,12 +34,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 @@ -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(); 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 diff --git a/src/main/resources/META-INF/SSLServerSocketHelperKeystore b/src/main/resources/META-INF/SSLServerSocketHelperKeystore new file mode 100644 index 0000000..93686a9 Binary files /dev/null and b/src/main/resources/META-INF/SSLServerSocketHelperKeystore differ 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 diff --git a/server/php/java/bridge/global.properties.in b/src/main/resources/io/soluble/pjb/bridge/global.properties similarity index 93% rename from server/php/java/bridge/global.properties.in rename to src/main/resources/io/soluble/pjb/bridge/global.properties index f61c969..81ad4e3 100644 --- a/server/php/java/bridge/global.properties.in +++ b/src/main/resources/io/soluble/pjb/bridge/global.properties @@ -1,6 +1,6 @@ ## auto-generated variables ## do not edit -BACKEND_VERSION = @BACKEND_VERSION@ +BACKEND_VERSION = 6.2.11 ## You can adjust and enable the following properties: ## 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

+ + diff --git a/server/php/java/test/AllTests.java b/src/test/java/io/soluble/pjb/script/AllTests.java similarity index 86% rename from server/php/java/test/AllTests.java rename to src/test/java/io/soluble/pjb/script/AllTests.java index 2b9b72c..94c64eb 100644 --- a/server/php/java/test/AllTests.java +++ b/src/test/java/io/soluble/pjb/script/AllTests.java @@ -1,4 +1,4 @@ -package php.java.test; +package io.soluble.pjb.script; import junit.framework.Test; import junit.framework.TestSuite; @@ -6,11 +6,11 @@ public class AllTests { public static Test suite() { - TestSuite suite = new TestSuite("Test for php.java.test"); + 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(TestSimpleCompileable.class); suite.addTestSuite(TestGetInterface.class); suite.addTestSuite(TestScript.class); suite.addTestSuite(TestInvocablePhpScriptEngine.class); diff --git a/server/php/java/test/TestBindings.java b/src/test/java/io/soluble/pjb/script/TestBindings.java similarity index 91% rename from server/php/java/test/TestBindings.java rename to src/test/java/io/soluble/pjb/script/TestBindings.java index 6497034..3678a50 100644 --- a/server/php/java/test/TestBindings.java +++ b/src/test/java/io/soluble/pjb/script/TestBindings.java @@ -1,4 +1,4 @@ -package php.java.test; +package io.soluble.pjb.script; import java.io.ByteArrayOutputStream; import java.io.Closeable; @@ -88,6 +88,7 @@ public void testEvalStringBindings() { } public void testEvalCompilableString() { + System.out.println("testEvalCompilableString"); try { ByteArrayOutputStream out = new ByteArrayOutputStream(); OutputStreamWriter writer = new OutputStreamWriter(out); @@ -103,11 +104,13 @@ public void testEvalCompilableString() { "?>"); long t1 = System.currentTimeMillis(); - for (int i = 0; i < 100; i++) { + //for (int i = 0; i < 100; i++) { // loop fails on second iteration !? s.eval(); - assertTrue("6".equals(out.toString())); + 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)); diff --git a/server/php/java/test/TestCli.java b/src/test/java/io/soluble/pjb/script/TestCli.java similarity index 94% rename from server/php/java/test/TestCli.java rename to src/test/java/io/soluble/pjb/script/TestCli.java index a06f68b..db3663f 100644 --- a/server/php/java/test/TestCli.java +++ b/src/test/java/io/soluble/pjb/script/TestCli.java @@ -1,4 +1,4 @@ -package php.java.test; +package io.soluble.pjb.script; import java.io.ByteArrayOutputStream; import java.io.Closeable; @@ -60,7 +60,7 @@ public void testClosure() { try { eng.eval("die();"); } catch (Exception e) { - assertTrue(e.getMessage().equals("php.java.bridge.Request$AbortException")); + assertTrue(e.getMessage().equals("io.soluble.pjb.bridge.Request$AbortException")); } assertTrue(eng.eval("echo $a").equals("[1, 2]")); ((Closeable) eng).close(); diff --git a/server/php/java/test/TestDiscovery.java b/src/test/java/io/soluble/pjb/script/TestDiscovery.java similarity index 97% rename from server/php/java/test/TestDiscovery.java rename to src/test/java/io/soluble/pjb/script/TestDiscovery.java index bd6a61a..a4940f1 100644 --- a/server/php/java/test/TestDiscovery.java +++ b/src/test/java/io/soluble/pjb/script/TestDiscovery.java @@ -1,4 +1,4 @@ -package php.java.test; +package io.soluble.pjb.script; import javax.script.ScriptEngine; import javax.script.ScriptEngineManager; diff --git a/server/php/java/test/TestException.java b/src/test/java/io/soluble/pjb/script/TestException.java similarity index 97% rename from server/php/java/test/TestException.java rename to src/test/java/io/soluble/pjb/script/TestException.java index be277ae..62d25e2 100644 --- a/server/php/java/test/TestException.java +++ b/src/test/java/io/soluble/pjb/script/TestException.java @@ -1,4 +1,4 @@ -package php.java.test; +package io.soluble.pjb.script; import java.io.ByteArrayOutputStream; import java.io.OutputStream; diff --git a/server/php/java/test/TestExceptionInvocable.java b/src/test/java/io/soluble/pjb/script/TestExceptionInvocable.java similarity index 97% rename from server/php/java/test/TestExceptionInvocable.java rename to src/test/java/io/soluble/pjb/script/TestExceptionInvocable.java index b0e990f..479a0a6 100644 --- a/server/php/java/test/TestExceptionInvocable.java +++ b/src/test/java/io/soluble/pjb/script/TestExceptionInvocable.java @@ -1,4 +1,4 @@ -package php.java.test; +package io.soluble.pjb.script; import java.io.ByteArrayOutputStream; import java.io.Closeable; diff --git a/server/php/java/test/TestExceptionInvocable2.java b/src/test/java/io/soluble/pjb/script/TestExceptionInvocable2.java similarity index 98% rename from server/php/java/test/TestExceptionInvocable2.java rename to src/test/java/io/soluble/pjb/script/TestExceptionInvocable2.java index eb1b5f6..4b2ed98 100644 --- a/server/php/java/test/TestExceptionInvocable2.java +++ b/src/test/java/io/soluble/pjb/script/TestExceptionInvocable2.java @@ -1,4 +1,4 @@ -package php.java.test; +package io.soluble.pjb.script; import java.io.ByteArrayOutputStream; import java.io.Closeable; diff --git a/server/php/java/test/TestGetInterface.java b/src/test/java/io/soluble/pjb/script/TestGetInterface.java similarity index 98% rename from server/php/java/test/TestGetInterface.java rename to src/test/java/io/soluble/pjb/script/TestGetInterface.java index 2f608ea..f7e1077 100644 --- a/server/php/java/test/TestGetInterface.java +++ b/src/test/java/io/soluble/pjb/script/TestGetInterface.java @@ -1,4 +1,4 @@ -package php.java.test; +package io.soluble.pjb.script; import java.io.ByteArrayOutputStream; import java.io.Closeable; diff --git a/server/php/java/test/TestGetResult.java b/src/test/java/io/soluble/pjb/script/TestGetResult.java similarity index 98% rename from server/php/java/test/TestGetResult.java rename to src/test/java/io/soluble/pjb/script/TestGetResult.java index ad0c966..0d5207d 100644 --- a/server/php/java/test/TestGetResult.java +++ b/src/test/java/io/soluble/pjb/script/TestGetResult.java @@ -1,4 +1,4 @@ -package php.java.test; +package io.soluble.pjb.script; import java.io.ByteArrayOutputStream; import java.io.OutputStream; diff --git a/server/php/java/test/TestInteractiveRequestAbort.java b/src/test/java/io/soluble/pjb/script/TestInteractiveRequestAbort.java similarity index 93% rename from server/php/java/test/TestInteractiveRequestAbort.java rename to src/test/java/io/soluble/pjb/script/TestInteractiveRequestAbort.java index d6bb444..6c03ff2 100644 --- a/server/php/java/test/TestInteractiveRequestAbort.java +++ b/src/test/java/io/soluble/pjb/script/TestInteractiveRequestAbort.java @@ -1,4 +1,4 @@ -package php.java.test; +package io.soluble.pjb.script; import java.io.File; import java.io.FileWriter; @@ -8,7 +8,7 @@ import javax.script.ScriptException; import junit.framework.TestCase; -import php.java.bridge.Request.AbortException; +import io.soluble.pjb.bridge.Request.AbortException; public class TestInteractiveRequestAbort extends TestCase { diff --git a/server/php/java/test/TestInvocable.java b/src/test/java/io/soluble/pjb/script/TestInvocable.java similarity index 97% rename from server/php/java/test/TestInvocable.java rename to src/test/java/io/soluble/pjb/script/TestInvocable.java index 34fb3de..94ca207 100644 --- a/server/php/java/test/TestInvocable.java +++ b/src/test/java/io/soluble/pjb/script/TestInvocable.java @@ -1,4 +1,4 @@ -package php.java.test; +package io.soluble.pjb.script; import java.io.Reader; diff --git a/server/php/java/test/TestInvocablePhpScriptEngine.java b/src/test/java/io/soluble/pjb/script/TestInvocablePhpScriptEngine.java similarity index 97% rename from server/php/java/test/TestInvocablePhpScriptEngine.java rename to src/test/java/io/soluble/pjb/script/TestInvocablePhpScriptEngine.java index e0bf64a..c1f37a7 100644 --- a/server/php/java/test/TestInvocablePhpScriptEngine.java +++ b/src/test/java/io/soluble/pjb/script/TestInvocablePhpScriptEngine.java @@ -1,4 +1,4 @@ -package php.java.test; +package io.soluble.pjb.script; import java.io.ByteArrayOutputStream; import java.io.Closeable; @@ -93,12 +93,12 @@ public void testEvalCompilableString() { CompiledScript s = ((Compilable) e).compile(""); long t1 = System.currentTimeMillis(); - for (int i = 0; i < 100; i++) { + //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)); diff --git a/server/php/java/test/TestPhpScriptEngine.java b/src/test/java/io/soluble/pjb/script/TestPhpScriptEngine.java similarity index 95% rename from server/php/java/test/TestPhpScriptEngine.java rename to src/test/java/io/soluble/pjb/script/TestPhpScriptEngine.java index a245ba7..e98593f 100644 --- a/server/php/java/test/TestPhpScriptEngine.java +++ b/src/test/java/io/soluble/pjb/script/TestPhpScriptEngine.java @@ -1,4 +1,4 @@ -package php.java.test; +package io.soluble.pjb.script; import java.io.ByteArrayOutputStream; import java.io.Closeable; @@ -88,11 +88,11 @@ public void testEvalCompilableString() { CompiledScript s = ((Compilable) e).compile(""); long t1 = System.currentTimeMillis(); - for (int i = 0; i < 100; i++) { + //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)); diff --git a/server/php/java/test/TestScript.java b/src/test/java/io/soluble/pjb/script/TestScript.java similarity index 97% rename from server/php/java/test/TestScript.java rename to src/test/java/io/soluble/pjb/script/TestScript.java index 0c9cb91..6fb8d3b 100644 --- a/server/php/java/test/TestScript.java +++ b/src/test/java/io/soluble/pjb/script/TestScript.java @@ -1,4 +1,4 @@ -package php.java.test; +package io.soluble.pjb.script; import java.io.ByteArrayOutputStream; import java.io.IOException; diff --git a/server/php/java/test/TestSetWriter.java b/src/test/java/io/soluble/pjb/script/TestSetWriter.java similarity index 98% rename from server/php/java/test/TestSetWriter.java rename to src/test/java/io/soluble/pjb/script/TestSetWriter.java index 53788fb..a467312 100644 --- a/server/php/java/test/TestSetWriter.java +++ b/src/test/java/io/soluble/pjb/script/TestSetWriter.java @@ -1,4 +1,4 @@ -package php.java.test; +package io.soluble.pjb.script; import java.io.IOException; import java.io.Reader; diff --git a/server/php/java/test/SimpleCompileable.java b/src/test/java/io/soluble/pjb/script/TestSimpleCompileable.java similarity index 84% rename from server/php/java/test/SimpleCompileable.java rename to src/test/java/io/soluble/pjb/script/TestSimpleCompileable.java index 44e4139..186664a 100644 --- a/server/php/java/test/SimpleCompileable.java +++ b/src/test/java/io/soluble/pjb/script/TestSimpleCompileable.java @@ -1,4 +1,4 @@ -package php.java.test; +package io.soluble.pjb.script; import javax.script.Compilable; import javax.script.CompiledScript; @@ -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); } diff --git a/server/php/java/test/TestSimpleInvocation.java b/src/test/java/io/soluble/pjb/script/TestSimpleInvocation.java similarity index 97% rename from server/php/java/test/TestSimpleInvocation.java rename to src/test/java/io/soluble/pjb/script/TestSimpleInvocation.java index 395e567..4d8b2da 100644 --- a/server/php/java/test/TestSimpleInvocation.java +++ b/src/test/java/io/soluble/pjb/script/TestSimpleInvocation.java @@ -1,4 +1,4 @@ -package php.java.test; +package io.soluble.pjb.script; import java.io.ByteArrayOutputStream; import java.io.Closeable; diff --git a/server/php/java/test/TestURLReader.java b/src/test/java/io/soluble/pjb/script/TestURLReader.java similarity index 92% rename from server/php/java/test/TestURLReader.java rename to src/test/java/io/soluble/pjb/script/TestURLReader.java index dcdade3..6f65e35 100644 --- a/server/php/java/test/TestURLReader.java +++ b/src/test/java/io/soluble/pjb/script/TestURLReader.java @@ -1,4 +1,4 @@ -package php.java.test; +package io.soluble.pjb.script; import java.io.ByteArrayOutputStream; import java.io.OutputStream; @@ -11,8 +11,8 @@ import javax.script.ScriptEngineManager; import junit.framework.TestCase; -import php.java.script.IPhpScriptContext; -import php.java.script.URLReader; +import io.soluble.pjb.script.IPhpScriptContext; +import io.soluble.pjb.script.URLReader; public class TestURLReader extends TestCase { 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); - } -}