+ /*
+ * Hashtable<String, Object[]> editedParams = new Hashtable<String,
+ * Object[]>();
+ *
+ * store the given parameters in the user parameter set database.
+ *
+ * @param storeSetName - lastParmSet
+ *
+ * @param descr - setDescr.getText()
+ *
+ * @param jobParams - getJobParams()
+ *
+ * private void _storeUserPreset(String storeSetName, String descr,
+ * List<ArgumentI> jobParams) { // this is a simple hash store. Object[] pset;
+ * editedParams.put(storeSetName, pset = new Object[3]); pset[0] =
+ * storeSetName; pset[1] = descr; pset[2] = jobParams; // writeParam("Saving "
+ * + storeSetName + ": ", jobParams); }
+ *
+ * private void writeParam(String nm, List<ArgumentI> params) { for (ArgumentI
+ * p : params) { System.out.println(nm + ":" + System.identityHashCode(p) +
+ * " Name: " + p.getName() + " Value: " + p.getDefaultValue()); } }
+ *
+ * private Object[] _getUserPreset(String setName) { Object[] pset =
+ * editedParams.get(setName); // if (pset != null) // writeParam("Retrieving "
+ * + setName + ": ", (List<Argument>) pset[2]); return pset; }
+ *
+ * * remove the given user preset from the preset stash
+ *
+ * @param setName
+ *
+ * private void _deleteUserPreset(String setName) {
+ * editedParams.remove(setName); }
+ */
+
+ private void syncSetNamesWithStore()
+ {
+ int n = 0;
+ // remove any set names in the drop down menu that aren't either a reserved
+ // setting, or a user defined or service preset.
+ Vector items = new Vector();
+ while (n < setName.getItemCount())
+ {
+ String item = (String) setName.getItemAt(n);
+ if (!item.equals(SVC_DEF) && !paramStore.presetExists(item))
+ {
+ setName.removeItemAt(n);
+ }
+ else
+ {
+ items.addElement(item);
+ n++;
+ }
+ }
+ if (!items.contains(SVC_DEF))
+ {
+ setName.addItem(SVC_DEF);
+ }
+ for (WsParamSetI upn : paramStore.getPresets())
+ {
+ if (!items.contains(upn.getName()))
+ {
+ setName.addItem(upn.getName());
+ }
+ }
+ }
+
+ /**
+ * true if lastParmSet is a user preset
+ */
+ boolean isUserPreset = false;
+
+ private void reInitDialog(String nextPreset)
+ {
+ settingDialog = true;
+ // updateTable(null,null); // first reset to defaults
+ WsParamSetI pset = null;
+ if (nextPreset != null && nextPreset.length() > 0)
+ {
+ pset = paramStore.getPreset(nextPreset);
+ }
+ if (pset != null)
+ {
+ if (pset.isModifiable())
+ {
+ isUserPreset = true;
+ setDescr.setText(pset.getDescription());
+ updateTable(null, pset.getArguments());
+ lastParmSet = nextPreset;
+ }
+ else
+ {
+ isUserPreset = false;
+ setDescr.setText("");
+ // must be a default preset from service
+ updateTable(pset, null);
+ lastParmSet = nextPreset;
+ }
+ }
+ else
+ {
+ isUserPreset = false;
+ // Service defaults
+ setDescr.setText("");
+ updateTable(null, null);
+ lastParmSet = SVC_DEF;
+ }
+
+ initArgSetModified();
+ syncSetNamesWithStore();
+ setName.setSelectedItem(lastParmSet);
+ validate();
+ settingDialog = false;
+
+ }
+
+ String curSetName = null;