public static LinkedList<profile> importer() throws IOException { LinkedList<profile> people = new LinkedList<profile>(); Scanner sFile; profile entry; try { sFile = new Scanner(new File("/Users/richarddavies/NetBeansProjects/typ_MatlabGraph/users.dat")); sFile.nextLine(); while (sFile.hasNext()) { String profile = sFile.nextLine(); // System.out.println(profile); Scanner profScan = new Scanner(profile); profScan.useDelimiter(","); while (profScan.hasNext()) { Long id = profScan.nextLong(); String ident = String.valueOf(id); String rot_Id = rot13.encrypt(ident); Long rot_IntId = Long.parseLong(rot_Id); String fname = profScan.next(); String rot_Name = rot13.encrypt(fname); // String sname = profScan.next(); // int age = profScan.nextInt(); String gender = profScan.next(); String nat = profScan.next(); entry = new profile(id, fname, gender, nat); // System.out.println("id: "+id+" name: "+fname+" gender: "+gender+" nationality: "+nat); // System.out.println("id: "+rot_IntId+" name: "+rot_Name+" gender: "+gender+" // nationality: "+nat); people.add(entry); } } } catch (IOException ex) { // return people; System.out.println("(No System File profile.txt)" + ex); } return people; }
// sieve public static int[] primes(int n) throws Exception { // for(int i=1;i<=arr.length-1;i++)out.write(""+arr[i]+" "); boolean arr[] = new boolean[n + 1]; Arrays.fill(arr, true); for (int i = 1; i <= Math.sqrt(n); i++) { if (!arr[i]) continue; for (int j = 2 * i; j <= n; j += i) { arr[i] = false; } } LinkedList<Integer> ll = new LinkedList<Integer>(); for (int i = 1; i <= n; i++) { if (arr[i]) ll.add(i); } n = ll.size(); int primes[] = new int[n + 1]; for (int i = 1; i <= n; i++) { primes[i] = ll.removeFirst(); } return primes; }
/** * Construct a {@link SubProcessHeavy SubProcessHeavy} instance which when executed will fulfill * the given action agenda. * * <p> * * @param agenda The agenda to be accomplished by the action. * @param outFile The file to which all STDOUT output is redirected. * @param errFile The file to which all STDERR output is redirected. * @return The SubProcess which will fulfill the agenda. * @throws PipelineException If unable to prepare a SubProcess due to illegal, missing or * imcompatable information in the action agenda or a general failure of the prep method code. */ public SubProcessHeavy prep(ActionAgenda agenda, File outFile, File errFile) throws PipelineException { NodeID nodeID = agenda.getNodeID(); /* sanity checks */ Path loadScene = null; Path saveScene = null; boolean isAscii = false; TreeMap<Integer, LinkedList<Path>> mel = new TreeMap<Integer, LinkedList<Path>>(); { /* generate the filename of the Maya scene to load */ { String sname = (String) getSingleParamValue("MayaScene"); if (sname != null) { FileSeq fseq = agenda.getPrimarySource(sname); if (fseq == null) throw new PipelineException( "Somehow the Maya Scene node (" + sname + ") was not one of the source " + "nodes!"); String suffix = fseq.getFilePattern().getSuffix(); if (!fseq.isSingle() || (suffix == null) || !(suffix.equals("ma") || suffix.equals("mb"))) throw new PipelineException( "The MayaMEL Action requires that the source node specified by the Maya " + "Scene parameter (" + sname + ") must have a single Maya scene file as " + "its primary file sequence!"); NodeID snodeID = new NodeID(nodeID, sname); loadScene = new Path(PackageInfo.sProdPath, snodeID.getWorkingParent() + "/" + fseq.getPath(0)); } } /* generate the name of the Maya scene to save */ { Boolean save = (Boolean) getSingleParamValue("SaveResult"); if ((save != null) && save) { FileSeq fseq = agenda.getPrimaryTarget(); String suffix = fseq.getFilePattern().getSuffix(); if (!fseq.isSingle() || (suffix == null) || !(suffix.equals("ma") || suffix.equals("mb"))) throw new PipelineException( "The MayaMEL Action requires that the primary target file sequence must " + "be a single Maya scene file if the Save Result parameter is set!"); isAscii = suffix.equals("ma"); saveScene = new Path(PackageInfo.sProdPath, nodeID.getWorkingParent() + "/" + fseq.getPath(0)); } } /* generate the table of MEL script files to evaluate */ for (String sname : getSourceNames()) { Integer order = (Integer) getSourceParamValue(sname, "Order"); FileSeq fseq = agenda.getPrimarySource(sname); if (fseq == null) throw new PipelineException( "Somehow an per-source Order parameter exists for a node (" + sname + ") " + "which was not one of the source nodes!"); String suffix = fseq.getFilePattern().getSuffix(); if (!fseq.isSingle() || (suffix == null) || !suffix.equals("mel")) throw new PipelineException( "The MayaMEL Action requires that the source node (" + sname + ") with " + "per-source Order parameter must have a single MEL script file as its " + "primary file sequence!"); NodeID snodeID = new NodeID(nodeID, sname); Path script = new Path(PackageInfo.sProdPath, snodeID.getWorkingParent() + "/" + fseq.getPath(0)); LinkedList<Path> scripts = mel.get(order); if (scripts == null) { scripts = new LinkedList<Path>(); mel.put(order, scripts); } scripts.add(script); } } /* create a temporary MEL script file */ File script = createTemp(agenda, 0755, "mel"); try { FileWriter out = new FileWriter(script); /* a workaround needed in "maya -batch" mode */ out.write("// WORK AROUNDS:\n" + "lightlink -q;\n\n"); /* rename the current scene as the output scene */ if (saveScene != null) { out.write( "// SCENE SETUP\n" + "file -rename \"" + saveScene + "\";\n" + "file -type \"" + (isAscii ? "mayaAscii" : "mayaBinary") + "\";\n\n"); } /* evaluate the MEL scripts */ if (!mel.isEmpty()) { out.write("// MEL SCRIPTS \n"); for (LinkedList<Path> scripts : mel.values()) { for (Path spath : scripts) out.write("source \"" + spath + "\";\n"); } out.write("\n"); } /* save the file */ if (saveScene != null) out.write("// SAVE\n" + "file -save;\n"); out.close(); } catch (IOException ex) { throw new PipelineException( "Unable to write temporary MEL script file (" + script + ") for Job " + "(" + agenda.getJobID() + ")!\n" + ex.getMessage()); } /* create the process to run the action */ try { ArrayList<String> args = new ArrayList<String>(); args.add("-batch"); args.add("-script"); args.add(script.getPath()); if (loadScene != null) { args.add("-file"); args.add(loadScene.toOsString()); } String program = "maya"; if (PackageInfo.sOsType == OsType.Windows) program = (program + ".exe"); return new SubProcessHeavy( agenda.getNodeID().getAuthor(), getName() + "-" + agenda.getJobID(), program, args, agenda.getEnvironment(), agenda.getWorkingDir(), outFile, errFile); } catch (Exception ex) { throw new PipelineException( "Unable to generate the SubProcess to perform this Action!\n" + ex.getMessage()); } }
public static void exporter(LinkedList<profile> usr, MatlabProxy proxy) throws MatlabConnectionException, MatlabInvocationException { String file = "/Users/richarddavies/NetBeansProjects/typ_MatlabGraph/rotCmp_2012.txt"; int i = 0; try { double result; int index_a = 0; int index_b = 0; int item; FileWriter fw = new FileWriter(file); BufferedWriter bw = new BufferedWriter(fw); PrintWriter outFile = new PrintWriter(bw); outFile.println("nodedef>name VARCHAR,label VARCHAR,sex VARCHAR,locale VARCHAR"); for (i = 0; i < usr.size(); i++) { outFile.println( usr.get(i).idProf + "," + usr.get(i).firstName + "," + usr.get(i).gender + "," + usr.get(i).nat); } outFile.println("edgedef>node1 VARCHAR,node2 VARCHAR"); for (i = 0; i < usr.size(); i++) { System.out.println(usr.get(i).firstName + ": "); for (int j = 0; j < usr.size(); j++) { index_a = i + 1; index_b = j + 1; // result = proxy.getVariable("adjMatrix("+index_a+","+index_b+");"); result = ((double[]) proxy.getVariable("adjMatrix(" + index_a + "," + index_b + ");"))[0]; item = (int) result; // item = ((Integer)result).intValue(); // System.out.println(result); if (item == 1) { System.out.print(" (" + usr.get(j).firstName + ") "); outFile.println(usr.get(i).idProf + "," + usr.get(j).idProf); } } System.out.println(" "); System.out.println(" "); System.out.println(" "); System.out.println(" "); } outFile.close(); } catch (IOException ex) { System.out.println(" error : " + ex); } }
public static LinkedList<edge> importer(MatlabProxy proxy) throws IOException, MatlabConnectionException, MatlabInvocationException { Scanner sFile; edge entry; LinkedList<edge> tie = new LinkedList<edge>(); Long k, p; try { sFile = new Scanner(new File("/Users/richarddavies/NetBeansProjects/typ_MatlabGraph/edges.dat")); System.out.println(sFile.nextLine()); while (sFile.hasNext()) { String edge = sFile.nextLine(); // System.out.println(edge); Scanner edgeScan = new Scanner(edge); edgeScan.useDelimiter(","); while (edgeScan.hasNext()) { k = edgeScan.nextLong(); System.out.print(k + " "); String ident_k = String.valueOf(k); String rot_Id_k = rot13.encrypt(ident_k); Long rot_k = Long.parseLong(rot_Id_k); p = edgeScan.nextLong(); System.out.print(p); String ident_p = String.valueOf(p); String rot_Id_p = rot13.encrypt(ident_p); Long rot_p = Long.parseLong(rot_Id_p); // System.out.println(rot_k+" : "+rot_p); entry = new edge(k, p); int n = search.search(k); int m = search.search(p); System.out.print( " : " + Typ_MatlabGraph.people.get(n).idProf + " " + Typ_MatlabGraph.people.get(m).idProf); System.out.println(""); n++; m++; proxy.eval("adjMatrix(" + n + "," + m + ") = 1"); tie.add(entry); } } } catch (IOException ex) { System.out.println("(No System File profile.txt)" + ex); } return tie; }