2016-07-18 36 views
0

Ich hatte versucht, org.jbpm.formModeler.core.config.SelectValuesProvider zu implementieren und meinen Code kompiliert und ein jar erstellt, außerdem eine leere bean.xml in "/ src/main/resources/META-INF "Dynamische Werte in das JBPM-Auswahlfeld eingeben

Hinzugefügt das JAR in JBPM Classpath, aber ich konnte nichts in der jbpm Datenanbieter-Kombinationsfeld aufgeführt sehen.

Mein Code ist unten angegeben:

import org.jbpm.formModeler.api.client.FormRenderContext; 
    import org.jbpm.formModeler.api.model.Field; 
    import org.jbpm.formModeler.api.model.RangeProvider; 
    import org.jbpm.formModeler.core.config.SelectValuesProvider; 

    import java.io.BufferedReader; 
    import java.io.IOException; 
    import java.io.InputStreamReader; 
    import java.sql.Connection; 
    import java.sql.DriverManager; 
    import java.sql.PreparedStatement; 
    import java.sql.ResultSet; 
    import java.sql.SQLException; 
    import java.util.HashMap; 
    import java.util.Locale; 
    import java.util.Map; 

    public class ProductRangeProvider implements SelectValuesProvider { 

     @Override 
     public String getIdentifier() { 

      String identiferName = "deparmnet"; 
      return identiferName; 
     } 

     @Override 
     public Map<String, String> getSelectOptions(Field field, String currentValue, 
       FormRenderContext formDetails, Locale locale) { 
      Map<String, String> maps = new HashMap<String, String>(); 
      String employee = ""; 
      String department = ""; 
      String DbIp = "jdbc:mysql://*********:*****/****"; 
      String userName = "***"; 
      String password = "****"; 
      Connection con=null; 
      try{ 
       Class.forName("com.mysql.jdbc.Driver"); 
       con=DriverManager.getConnection(DbIp,userName,password); 
       PreparedStatement stmt=con.prepareStatement("Select role from role_master"); 
       ResultSet rs=stmt.executeQuery(); 

       while(rs.next()){ 
        maps.put(rs.getString(1), rs.getString(1)); 
       } 
       con.close(); 
      } 
      catch(Exception E){ 
       System.out.println(E); 
      } 
      finally { 
       try { 
        con.close(); 
       } catch (SQLException e) { 
        // TODO Auto-generated catch block 
        e.printStackTrace(); 
       } 
      } 
      return maps; 

     } 
    } 

Gibt es irgendeine Konfiguration für JBPM erforderlich ist, um meine Klasse zu identifizieren wie workitemHandler Definition.?

Antwort

0

Versuchen Sie, JAR-Datei im Klassenpfad hinzuzufügen. Dies wird das Problem beheben.