// Values can be a set of variables, parameters and fields public void setValues(java.util.List values) { if (values == null) return; int valids = 0; for (int i = 0; i < values.size(); ++i) { ExpObject obj = (ExpObject) values.get(i); String type = obj.getClassType(); if (type == null) continue; if (type.equals("java.lang.Number") || type.equals("java.lang.BigDecimal") || type.equals("java.lang.BigInteger") || type.equals("java.lang.Byte") || type.equals("java.lang.Double") || type.equals("java.lang.Float") || type.equals("java.lang.Integer") || type.equals("java.lang.Long") || type.equals("java.lang.Short")) { ((DefaultListModel) jList1.getModel()).addElement(obj); ((DefaultListModel) jList2.getModel()).addElement(obj); valids++; } } if (valids > 0) { jList1.setSelectedIndex(0); jList2.setSelectedIndex(0); } }
private void jButtonOkActionPerformed( java.awt.event.ActionEvent evt) { // GEN-FIRST:event_jButtonOkActionPerformed String exp = ""; if (jList1.getSelectedIndex() < 0) { JOptionPane.showMessageDialog( this, I18n.getString( "ArithmeticOperationHelper.msg1", "Please select an object in the first list")); return; } else if (jList2.getSelectedIndex() < 0) { JOptionPane.showMessageDialog( this, I18n.getString( "ArithmeticOperationHelper.msg2", "Please select an object from the second list")); return; } ExpObject expObj1 = (ExpObject) jList1.getSelectedValue(); ExpObject expObj2 = (ExpObject) jList2.getSelectedValue(); if (getLanguage().equals("groovy")) { this.setExpression( expObj1.getExpression() + " " + jComboBoxOperation.getSelectedItem() + " " + expObj2.getExpression()); } else { exp = expObj1.getExpression(); if (jComboBoxType1.getSelectedIndex() == 0) { String type = expObj1.getClassType(); if (type.equals("java.lang.Number")) exp += ".doubleValue()"; if (type.equals("java.lang.BigDecimal")) exp += ".doubleValue()"; if (type.equals("java.lang.BigInteger")) exp += ".longValue()"; if (type.equals("java.lang.Byte")) exp += ".byteValue()"; if (type.equals("java.lang.Double")) exp += ".doubleValue()"; if (type.equals("java.lang.Float")) exp += ".floatValue()"; if (type.equals("java.lang.Integer")) exp += ".intValue()"; if (type.equals("java.lang.Long")) exp += ".longValue()"; if (type.equals("java.lang.Short")) exp += ".shortValue()"; } else if (jComboBoxType1.getSelectedIndex() == 1) { exp += ".intValue()"; } else if (jComboBoxType1.getSelectedIndex() == 2) { exp += ".doubleValue()"; } exp = " (" + exp + ") " + jComboBoxOperation.getSelectedItem(); exp += "(" + expObj2.getExpression(); if (jComboBoxType2.getSelectedIndex() == 0) { String type = expObj2.getClassType(); if (type.equals("java.lang.Number")) exp += ".doubleValue()"; if (type.equals("java.lang.BigDecimal")) exp += ".doubleValue()"; if (type.equals("java.lang.BigInteger")) exp += ".longValue()"; if (type.equals("java.lang.Byte")) exp += ".byteValue()"; if (type.equals("java.lang.Double")) exp += ".doubleValue()"; if (type.equals("java.lang.Float")) exp += ".floatValue()"; if (type.equals("java.lang.Integer")) exp += ".intValue()"; if (type.equals("java.lang.Long")) exp += ".longValue()"; if (type.equals("java.lang.Short")) exp += ".shortValue()"; } else if (jComboBoxType2.getSelectedIndex() == 1) { exp += ".intValue()"; } else if (jComboBoxType2.getSelectedIndex() == 2) { exp += ".doubleValue()"; } exp += ")"; if (jComboBoxReturnType.getSelectedIndex() != 0) { exp = "new " + jComboBoxReturnType.getSelectedItem() + "( " + exp + " )"; } else if (expObj2.getClassType().equals(expObj1.getClassType()) && !expObj2.getClassType().equals("java.lang.Number")) { exp = "new " + expObj2.getClassType() + "( " + exp + " )"; } else { if (isInteger(expObj2.getClassType()) && isInteger(expObj1.getClassType())) { exp = "new Integer( " + exp + " )"; } else { exp = "new Double( " + exp + " )"; } } this.setExpression(exp); } this.setDialogResult(JOptionPane.OK_OPTION); this.dialog.setVisible(false); this.dialog.dispose(); } // GEN-LAST:event_jButtonOkActionPerformed