You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@joshua.apache.org by mj...@apache.org on 2016/11/17 18:25:11 UTC

[6/8] incubator-joshua git commit: bugfix in rule creation, cleaned up error messages

bugfix in rule creation, cleaned up error messages

Rules were being created in the old left-branching phrase-based style


Project: http://git-wip-us.apache.org/repos/asf/incubator-joshua/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-joshua/commit/3e851fa9
Tree: http://git-wip-us.apache.org/repos/asf/incubator-joshua/tree/3e851fa9
Diff: http://git-wip-us.apache.org/repos/asf/incubator-joshua/diff/3e851fa9

Branch: refs/heads/save_custom_grammars
Commit: 3e851fa9dde3f0fa161624ecbb48b8460b6c7743
Parents: ef07c53
Author: Matt Post <po...@cs.jhu.edu>
Authored: Wed Nov 16 21:01:19 2016 -0500
Committer: Matt Post <po...@cs.jhu.edu>
Committed: Thu Nov 17 13:24:07 2016 -0500

----------------------------------------------------------------------
 .../org/apache/joshua/server/ServerThread.java  | 33 ++++++++++++--------
 1 file changed, 20 insertions(+), 13 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-joshua/blob/3e851fa9/src/main/java/org/apache/joshua/server/ServerThread.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/joshua/server/ServerThread.java b/src/main/java/org/apache/joshua/server/ServerThread.java
index 638c194..6cb4bf1 100644
--- a/src/main/java/org/apache/joshua/server/ServerThread.java
+++ b/src/main/java/org/apache/joshua/server/ServerThread.java
@@ -190,6 +190,8 @@ public class ServerThread extends Thread implements HttpHandler {
     String[] tokens = meta.split("\\s+", 2);
     String type = tokens[0];
     String args = tokens.length > 1 ? tokens[1] : "";
+    
+    LOG.info("META: {}", type);
 
     switch (type) {
     case "get_weight":
@@ -213,18 +215,21 @@ public class ServerThread extends Thread implements HttpHandler {
 
       break;
     }
-    case "get_weights":
+    case "get_weights": {
       message.addMetaData("weights " + Decoder.weights.toString());
 
       break;
+    }
     case "add_rule": {
+      
+      try {
       String argTokens[] = args.split(" \\|\\|\\| ");
 
       if (argTokens.length < 3) {
-        LOG.error("* INVALID RULE '{}'", meta);
+        LOG.warn("* INVALID RULE '{}'", meta);
         return;
       }
-
+      
       String lhs = argTokens[0];
       String source = argTokens[1];
       String target = argTokens[2];
@@ -238,23 +243,20 @@ public class ServerThread extends Thread implements HttpHandler {
       /* Prepend source and target side nonterminals for phrase-based decoding. Probably better
        * handled in each grammar type's addRule() function.
        */
-      String ruleString = (joshuaConfiguration.search_algorithm.equals("stack")) ?
-          String
-              .format("%s ||| [X,1] %s ||| [X,1] %s ||| -1 %s %s", lhs, source, target, featureStr,
-                  alignmentStr) :
-          String.format("%s ||| %s ||| %s ||| -1 %s %s", lhs, source, target, featureStr,
-              alignmentStr);
-
+      String ruleString = String.format("%s ||| %s ||| %s ||| -1 %s %s", 
+          lhs, source, target, featureStr, alignmentStr);
       Rule rule = new HieroFormatReader().parseLine(ruleString);
       decoder.addCustomRule(rule);
 
       LOG.info("Added custom rule {}", rule.toString());
 
       break;
+      
+      } catch (Exception e) {
+        e.printStackTrace();
+      }
     }
-    case "list_rules":
-
-      LOG.info("list_rules");
+    case "list_rules": {
 
       // Walk the the grammar trie
       ArrayList<Trie> nodes = new ArrayList<>();
@@ -278,6 +280,7 @@ public class ServerThread extends Thread implements HttpHandler {
       }
 
       break;
+    }
     case "remove_rule": {
 
       Rule rule = new HieroFormatReader().parseLine(args);
@@ -304,6 +307,10 @@ public class ServerThread extends Thread implements HttpHandler {
       }
       break;
     }
+    default: {
+      LOG.warn("INVALID metadata command '{}'", type);
+      break;
+    }
     }
   }
 }