2016-07-06 4 views
0

Droolsの新機能で、このsimple.xlsをデシジョン・テーブルとしてコンパイルしようとしていて、この非常に役立つコンパイル・エラーが発生します。 [ERR 102]行8:1の入力が 'then'ルール "Patient Notification_11"Drools 6.4デシジョン・テーブル・コンパイル・エラー

私は、xlsをそれに付随する単純なオブジェクトとともに添付しました。私はこれに関するすべての資料を読んだので、なぜ次のエラーが出ているのか理解できません。私はあなたの助けを前もって評価しました。具体的には、エラーの原因となるシーンの背後にあることを確認して確認する方法があるかどうかを知りたいと思います。また、意思決定表のロジックにエラーがある場合は、.drlファイルと同様に、コンパイルされたXLSのバージョンをどのようにデバッグするかが重要です。

public static class PatientNotification { 
    public static final int Notify = 1; 
    public static final int EvalNotify = 0; 

    private String message; 
    private long ndc; 
    private String patientName; 


    public String getPatientName() { 
       return patientName; 
     } 

     public void setPatientName(String patientName) { 
       this.patientName = patientName; 
     } 

     public long getNdc() { 
       return ndc; 
     } 

     public void setNdc(long ndc) { 
       this.ndc = ndc; 
     } 

     private int status; 

    public String getMessage() { 
     return this.message; 
    } 

    public void setMessage(String message) { 
     this.message = message; 
    } 

    public int getStatus() { 
     return this.status; 
    } 

    public void setStatus(int status) { 
     this.status = status; 
    } 
    public void setStatus(String sstatus) { 
     if (sstatus.equals("Notify")) 
       this.status=Notify; 
     else if(sstatus.equals("EvalNotify")) 
     this.status = EvalNotify; 
     else 
      this.status=-1; 

    } 

} 

XLS

答えて

2

私は両方の制約がこの型に基づくパターンで結合されているように

m: PatientNotification 

を含むセルを右にその隣にマージされるべきであると思います。これで問題が解決しない場合は、以下のコードを使用して報告してください。

このメソッドを使用し、スプレッドシートコンパイラで何が起こっているかを確認するには:

private void testSpreadsheet(){ 
    File dtf = new File(dtPath); 
    InputStream is; 
    try { 
    is = new FileInputStream(dtf); 
    SpreadsheetCompiler ssComp = new SpreadsheetCompiler(); 
    String s = ssComp.compile(is, InputType.XLS); 
    System.out.println("=== Begin generated DRL ==="); 
    System.out.println(s); 
    System.out.println("=== End generated DRL ==="); 
    } catch (IOException e) { 
    // TODO Auto-generated catch block 
    e.printStackTrace(); 
    } 
} 
関連する問題