incubator-connectors-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From kwri...@apache.org
Subject svn commit: r1163023 - in /incubator/lcf/trunk/framework/script-engine/src/main/java/org/apache/manifoldcf/scriptengine: ScriptParser.java WaitCommand.java
Date Mon, 29 Aug 2011 21:40:01 GMT
Author: kwright
Date: Mon Aug 29 21:40:00 2011
New Revision: 1163023

URL: http://svn.apache.org/viewvc?rev=1163023&view=rev
Log:
Add wait command to script interpreter

Added:
    incubator/lcf/trunk/framework/script-engine/src/main/java/org/apache/manifoldcf/scriptengine/WaitCommand.java
  (with props)
Modified:
    incubator/lcf/trunk/framework/script-engine/src/main/java/org/apache/manifoldcf/scriptengine/ScriptParser.java

Modified: incubator/lcf/trunk/framework/script-engine/src/main/java/org/apache/manifoldcf/scriptengine/ScriptParser.java
URL: http://svn.apache.org/viewvc/incubator/lcf/trunk/framework/script-engine/src/main/java/org/apache/manifoldcf/scriptengine/ScriptParser.java?rev=1163023&r1=1163022&r2=1163023&view=diff
==============================================================================
--- incubator/lcf/trunk/framework/script-engine/src/main/java/org/apache/manifoldcf/scriptengine/ScriptParser.java
(original)
+++ incubator/lcf/trunk/framework/script-engine/src/main/java/org/apache/manifoldcf/scriptengine/ScriptParser.java
Mon Aug 29 21:40:00 2011
@@ -1135,6 +1135,7 @@ public class ScriptParser
     sp.addCommand("insert",new InsertCommand());
     sp.addCommand("remove",new RemoveCommand());
     sp.addCommand("error",new ErrorCommand());
+    sp.addCommand("wait",new WaitCommand());
     
     sp.addCommand("GET",new GETCommand());
     sp.addCommand("PUT",new PUTCommand());

Added: incubator/lcf/trunk/framework/script-engine/src/main/java/org/apache/manifoldcf/scriptengine/WaitCommand.java
URL: http://svn.apache.org/viewvc/incubator/lcf/trunk/framework/script-engine/src/main/java/org/apache/manifoldcf/scriptengine/WaitCommand.java?rev=1163023&view=auto
==============================================================================
--- incubator/lcf/trunk/framework/script-engine/src/main/java/org/apache/manifoldcf/scriptengine/WaitCommand.java
(added)
+++ incubator/lcf/trunk/framework/script-engine/src/main/java/org/apache/manifoldcf/scriptengine/WaitCommand.java
Mon Aug 29 21:40:00 2011
@@ -0,0 +1,59 @@
+/* $Id$ */
+
+/**
+* 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.manifoldcf.scriptengine;
+
+/** Wait command. */
+public class WaitCommand implements Command
+{
+  /** Parse and execute.  Parsing begins right after the command name, and should stop before
the trailing semicolon.
+  *@param sp is the script parser to use to help in the parsing.
+  *@param currentStream is the current token stream.
+  *@return true to send a break signal, false otherwise.
+  */
+  public boolean parseAndExecute(ScriptParser sp, TokenStream currentStream)
+    throws ScriptException
+  {
+    VariableReference vr = sp.evaluateExpression(currentStream);
+    if (vr == null)
+      sp.syntaxError(currentStream,"Missing expression in wait command");
+    Variable v = sp.resolveMustExist(currentStream,vr);
+    int waitTime = v.getIntValue();
+    try
+    {
+      Thread.sleep((long)waitTime);
+      return false;
+    }
+    catch (InterruptedException e)
+    {
+      throw new ScriptException("Interrupted: "+e.getMessage(),e);
+    }
+  }
+  
+  /** Parse and skip.  Parsing begins right after the command name, and should stop before
the trailing semicolon.
+  *@param sp is the script parser to use to help in the parsing.
+  *@param currentStream is the current token stream.
+  */
+  public void parseAndSkip(ScriptParser sp, TokenStream currentStream)
+    throws ScriptException
+  {
+    if (sp.skipExpression(currentStream) == false)
+      sp.syntaxError(currentStream,"Missing expression in wait command");
+  }
+
+}

Propchange: incubator/lcf/trunk/framework/script-engine/src/main/java/org/apache/manifoldcf/scriptengine/WaitCommand.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/lcf/trunk/framework/script-engine/src/main/java/org/apache/manifoldcf/scriptengine/WaitCommand.java
------------------------------------------------------------------------------
    svn:keywords = Id



Mime
View raw message