You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ant.apache.org by pe...@apache.org on 2006/12/03 23:52:06 UTC
svn commit: r481967 -
/ant/core/trunk/src/main/org/apache/tools/ant/util/optional/JavaxScriptRunner.java
Author: peterreilly
Date: Sun Dec 3 14:52:05 2006
New Revision: 481967
URL: http://svn.apache.org/viewvc?view=rev&rev=481967
Log:
native eol-style
Modified:
ant/core/trunk/src/main/org/apache/tools/ant/util/optional/JavaxScriptRunner.java (contents, props changed)
Modified: ant/core/trunk/src/main/org/apache/tools/ant/util/optional/JavaxScriptRunner.java
URL: http://svn.apache.org/viewvc/ant/core/trunk/src/main/org/apache/tools/ant/util/optional/JavaxScriptRunner.java?view=diff&rev=481967&r1=481966&r2=481967
==============================================================================
--- ant/core/trunk/src/main/org/apache/tools/ant/util/optional/JavaxScriptRunner.java (original)
+++ ant/core/trunk/src/main/org/apache/tools/ant/util/optional/JavaxScriptRunner.java Sun Dec 3 14:52:05 2006
@@ -1,131 +1,131 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.tools.ant.util.optional;
-
-import org.apache.tools.ant.BuildException;
-
-
-import java.util.Iterator;
-import org.apache.tools.ant.util.ScriptRunnerBase;
-import org.apache.tools.ant.util.ReflectUtil;
-import org.apache.tools.ant.util.ReflectWrapper;
-
-
-/**
- * This class is used to run javax.script scripts
- *
- */
-public class JavaxScriptRunner extends ScriptRunnerBase {
- private ReflectWrapper engine;
-
- /**
- * Get the name of the manager prefix.
- * @return "javax"
- */
- public String getManagerName() {
- return "javax";
- }
-
- /** {@inheritDoc}. */
- public boolean supportsLanguage() {
- if (engine != null) {
- return true;
- }
- checkLanguage();
- ClassLoader origLoader = replaceContextLoader();
- try {
- return createEngine() != null;
- } catch (Exception ex) {
- return false;
- } finally {
- restoreContextLoader(origLoader);
- }
- }
-
- /**
- * Do the work to run the script.
- *
- * @param execName the name that will be passed to the
- * scripting engine for this script execution.
- *
- * @exception BuildException if someting goes wrong exectuing the script.
- */
- public void executeScript(String execName) throws BuildException {
- evalulateScript(execName);
- }
-
- /**
- * Do the work to eval the script.
- *
- * @param execName the name that will be passed to the
- * scripting engine for this script execution.
- * @return the result of the evalulation
- * @exception BuildException if someting goes wrong exectuing the script.
- */
- public Object evalulateScript(String execName) throws BuildException {
- checkLanguage();
- ClassLoader origLoader = replaceContextLoader();
- try {
- ReflectWrapper engine = createEngine();
- if (engine == null) {
- throw new BuildException(
- "Unable to create javax script engine for "
- + getLanguage());
- }
- for (Iterator i = getBeans().keySet().iterator(); i.hasNext();) {
- String key = (String) i.next();
- Object value = getBeans().get(key);
- engine.invoke(
- "put", String.class, key, Object.class, value);
- }
- // execute the script
- return engine.invoke("eval", String.class, getScript());
- } catch (Exception be) {
- Throwable t = be;
- Throwable te = (Throwable) ReflectUtil.invoke(be, "getCause");
- if (te != null) {
- if (te instanceof BuildException) {
- throw (BuildException) te;
- } else {
- t = te;
- }
- }
- throw new BuildException(t);
- } finally {
- restoreContextLoader(origLoader);
- }
- }
-
- private ReflectWrapper createEngine() throws Exception {
- if (engine != null) {
- return engine;
- }
- ReflectWrapper manager = new ReflectWrapper(
- getClass().getClassLoader(), "javax.script.ScriptEngineManager");
- Object e = manager.invoke(
- "getEngineByName", String.class, getLanguage());
- if (e == null) {
- return null;
- }
- ReflectWrapper ret = new ReflectWrapper(e);
- if (getKeepEngine()) {
- this.engine = ret;
- }
- return ret;
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.tools.ant.util.optional;
+
+import org.apache.tools.ant.BuildException;
+
+
+import java.util.Iterator;
+import org.apache.tools.ant.util.ScriptRunnerBase;
+import org.apache.tools.ant.util.ReflectUtil;
+import org.apache.tools.ant.util.ReflectWrapper;
+
+
+/**
+ * This class is used to run javax.script scripts
+ *
+ */
+public class JavaxScriptRunner extends ScriptRunnerBase {
+ private ReflectWrapper engine;
+
+ /**
+ * Get the name of the manager prefix.
+ * @return "javax"
+ */
+ public String getManagerName() {
+ return "javax";
+ }
+
+ /** {@inheritDoc}. */
+ public boolean supportsLanguage() {
+ if (engine != null) {
+ return true;
+ }
+ checkLanguage();
+ ClassLoader origLoader = replaceContextLoader();
+ try {
+ return createEngine() != null;
+ } catch (Exception ex) {
+ return false;
+ } finally {
+ restoreContextLoader(origLoader);
+ }
+ }
+
+ /**
+ * Do the work to run the script.
+ *
+ * @param execName the name that will be passed to the
+ * scripting engine for this script execution.
+ *
+ * @exception BuildException if someting goes wrong exectuing the script.
+ */
+ public void executeScript(String execName) throws BuildException {
+ evalulateScript(execName);
+ }
+
+ /**
+ * Do the work to eval the script.
+ *
+ * @param execName the name that will be passed to the
+ * scripting engine for this script execution.
+ * @return the result of the evalulation
+ * @exception BuildException if someting goes wrong exectuing the script.
+ */
+ public Object evalulateScript(String execName) throws BuildException {
+ checkLanguage();
+ ClassLoader origLoader = replaceContextLoader();
+ try {
+ ReflectWrapper engine = createEngine();
+ if (engine == null) {
+ throw new BuildException(
+ "Unable to create javax script engine for "
+ + getLanguage());
+ }
+ for (Iterator i = getBeans().keySet().iterator(); i.hasNext();) {
+ String key = (String) i.next();
+ Object value = getBeans().get(key);
+ engine.invoke(
+ "put", String.class, key, Object.class, value);
+ }
+ // execute the script
+ return engine.invoke("eval", String.class, getScript());
+ } catch (Exception be) {
+ Throwable t = be;
+ Throwable te = (Throwable) ReflectUtil.invoke(be, "getCause");
+ if (te != null) {
+ if (te instanceof BuildException) {
+ throw (BuildException) te;
+ } else {
+ t = te;
+ }
+ }
+ throw new BuildException(t);
+ } finally {
+ restoreContextLoader(origLoader);
+ }
+ }
+
+ private ReflectWrapper createEngine() throws Exception {
+ if (engine != null) {
+ return engine;
+ }
+ ReflectWrapper manager = new ReflectWrapper(
+ getClass().getClassLoader(), "javax.script.ScriptEngineManager");
+ Object e = manager.invoke(
+ "getEngineByName", String.class, getLanguage());
+ if (e == null) {
+ return null;
+ }
+ ReflectWrapper ret = new ReflectWrapper(e);
+ if (getKeepEngine()) {
+ this.engine = ret;
+ }
+ return ret;
+ }
+}
Propchange: ant/core/trunk/src/main/org/apache/tools/ant/util/optional/JavaxScriptRunner.java
------------------------------------------------------------------------------
svn:eol-style = native
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
For additional commands, e-mail: dev-help@ant.apache.org