Заполните динамические значения в поле выбора JBPM

java jboss jbpm business-process-management

283 просмотра

1 ответ

10 Репутация автора

Я попытался реализовать org.jbpm.formModeler.core.config.SelectValuesProvider, скомпилировал мой код и создал jar, также включив пустой bean.xml в "/ src / main / resources / META-INF"

Добавил банку в classpath JBPM, но я не смог увидеть ничего, перечисленного в поле со списком провайдера данных jbpm.

Мой код приведен ниже:

    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;

        }
    }

Есть ли какая-либо конфигурация, необходимая для JBPM, чтобы идентифицировать мой класс так же, как определение workitemHandler?

Автор: Anish Jr Источник Размещён: 18.07.2016 10:29

Ответы (1)


0 плюса

10 Репутация автора

Решение

Попробуйте добавить файл JAR в путь к классу. Это решит проблему.

Автор: Anish Jr Размещён: 28.10.2016 09:36
Вопросы из категории :
32x32