10-24-2011 04:30 AM
<select name="listCategory">
${myVariable == 'A'?
'<option value="a1">A1</option>
<option value="a2">A2</option>'
:' '}
${myVariable == 'B'?
'<option value="b1">B1</option>
<option value="b2">B2</option>'
:' '}
</select>
<input type="hidden" name="tecnicosel_type" value="String"/>'
<activiti:formProperty id="chose1" variable="" type="enum" name="chose1" required="true" readable="true" writable="true">
<activiti:value id="#{bean.getId1()}" name="#{bean.getName1()}" />
<activiti:value id="#{bean.getId2()}" name="#{bean.getName2()}" />
<activiti:value id="#{bean.getId3()}" name="#{bean.getName3()}" />
</activiti:formProperty>
10-24-2011 04:42 PM
10-25-2011 02:49 AM
@SuppressWarnings("unchecked")
@Override
public Field getPropertyField(FormProperty formProperty) {
ComboBox comboBox = new ComboBox(getPropertyLabel(formProperty));
comboBox.setRequired(formProperty.isRequired());
comboBox.setRequiredError(getMessage(Messages.FORM_FIELD_REQUIRED, getPropertyLabel(formProperty)));
comboBox.setEnabled(formProperty.isWritable());
String classe = null;
String metode = null;
String param = null;
Map<String, String> llista = null;
Map<String, String> values = (Map<String, String>) formProperty.getType().getInformation("values");
if (values != null) {
for (Entry<String, String> enumEntry : values.entrySet()) {
if ("classe".equals(enumEntry.getKey())) {
classe = enumEntry.getValue();
}
if ("metode".equals(enumEntry.getKey())) {
metode = enumEntry.getValue();
}
if ("param".equals(enumEntry.getKey())) {
param = enumEntry.getValue();
}
}
}
if (classe == null ){
if (values != null) {
for (Entry<String, String> enumEntry : values.entrySet()) {
// Add value and label (if any)
comboBox.addItem(enumEntry.getKey());
if (enumEntry.getValue() != null) {
comboBox.setItemCaption(enumEntry.getKey(), enumEntry.getValue());
}
}
}
return comboBox;
}
try {
Class<?> classeCombo = Class.forName(classe);
Class<?> partypes[] = new Class[1];
partypes[0] = String.class;
Constructor<?> ct = classeCombo.getConstructor();
Object retObj = ct.newInstance();
Method metodeCombo = classeCombo.getDeclaredMethod(metode, partypes);
llista = (Map<String, String>) metodeCombo.invoke(retObj, param);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SecurityException e) {
e.printStackTrace();
} catch (NoSuchMethodException e) {
e.printStackTrace();
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
} catch (InstantiationException e) {
e.printStackTrace();
}
if (llista != null) {
for (Entry<String, String> enumEntry : llista.entrySet()) {
// Add value and label (if any)
comboBox.addItem(enumEntry.getKey());
if (enumEntry.getValue() != null) {
comboBox.setItemCaption(enumEntry.getKey(), enumEntry.getValue());
}
}
}
return comboBox;
}
<activiti:formProperty id="sel1" name="sel1" type="enum" required="true" readable="true" writable="true">
<activiti:value id="classe" name="org.cgc.myProcess.bean.MyClass" />
<activiti:value id="metode" name="getList" />
<activiti:value id="param" name="${myVar}" />
</activiti:formProperty>
public class MyClass{
public Map<String,String> getList(String myvar){
Map<String,String> llista = new HashMap<String, String>();
if ("A".equals(myvar)){
llista.put("a1", "A1");
llista.put("a2", "A2");
}else{
llista.put("b1", "B1");
llista.put("b2", "B2");
}
return llista;
}
}
10-25-2011 07:48 AM
<activiti:value id="param" name="${myVar}" />
10-26-2011 07:19 AM
06-07-2015 07:14 AM
Tags
Find what you came for
We want to make your experience in Hyland Connect as valuable as possible, so we put together some helpful links.