public static boolean readParam(String xNomeFile) { boolean ret = true; String xline; IOseq xFile; StringTokenizer st; String s1; String s2; Object m1; xFile = new IOseq("parameters.ne"); ret = xFile.IOseqOpenR(); if (ret) { try { Class c = Class.forName("jneat.Neat"); Field[] fieldlist = c.getDeclaredFields(); int number_params = fieldlist.length / 2; for (int i = 0; i < number_params; i++) { Field f1 = fieldlist[i]; String x1 = f1.getName(); Object x2 = f1.getType(); xline = xFile.IOseqRead(); st = new StringTokenizer(xline); // skip comment s1 = st.nextToken(); // real value s1 = st.nextToken(); if (x1.startsWith("p_")) { if (x2.toString().equals("double")) { double n1 = Double.parseDouble(s1); f1.set(c, (new Double(n1))); } if (x2.toString().equals("int")) { int n1 = Integer.parseInt(s1); f1.set(c, (new Integer(n1))); } } } } catch (Throwable e) { System.err.println(e); } xFile.IOseqCloseR(); } else System.err.print("\n : error during open " + xNomeFile); return ret; }
public static void updateParam(vectTableModel _model) { // // write to file xpar all parameters..... // for (int j = 0; j < _model.data.size(); j++) { try { Class c = Class.forName("jneat.Neat"); ParamValue ox = (ParamValue) _model.data.elementAt(j); Object k = _model.getValueAt(j, 0); Object kv = _model.getValueAt(j, 1); String xkey = k.toString(); String xval = kv.toString(); /* System.out.print("\n j = "+j+" xkey = "+xkey); System.out.print(" xval = "+xval); */ Field f1 = c.getField("p_" + xkey); Object fty = f1.getType(); if (fty.toString().equals("double")) { double n1 = Double.parseDouble(xval); f1.set(c, (new Double(n1))); } if (fty.toString().equals("int")) { int n1 = Integer.parseInt(xval); f1.set(c, (new Integer(n1))); } } catch (Throwable e) { System.out.print("\n errore su jneat.updateParam = " + e); } } }