lamiastella

com.microsoft.jdbc.sqlserver.SQLServerDriver

Jul 7th, 2016
323
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 9.74 KB | None | 0 0
  1. import java.util.*;
  2. import java.io.*;
  3. import java.sql.*;
  4.  
  5.  
  6. public class PF {
  7.    
  8.     private static boolean neato = false;
  9.     private static boolean showTransitionCount = true;
  10.    
  11.    
  12.    
  13.     public static void main(String[] Args) {
  14.                 System.out.println("I am here");
  15.  
  16.         (new PF()).go();    
  17.     }      
  18.    
  19.     private void goX() {
  20.        
  21.         String students[] = { "class", "studentA", "studentB", "studentC" };
  22.         int n = students.length;
  23.        
  24.         Pathfinder pf[] = new Pathfinder[n];
  25.  
  26.         pf[0] = new Pathfinder();
  27.              
  28.         System.out.println("reading log file");
  29.         pf[0].readLogfile("example/log.txt");    
  30.  
  31.         for (int i = 1; i < n; i++) pf[i] = new Pathfinder(pf[0]);
  32.         for (int i = 1; i < n; i++) pf[i].restrictTo(students[i]);
  33.         for (int i = 0; i < n; i++) pf[i].setFrequencies();
  34.         for (int i = 0; i < n; i++) pf[i].MCN();
  35.  
  36.         for (int i = 0; i < n; i++) pf[i].outputGraph("example\\" + students[i]);
  37.  
  38.        
  39.         /*
  40.         for (int i = 0; i < n-1; i++) {
  41.             for (int j = i+1; j < n; j++) {
  42.                 int similarity = (int) (1000*pf[i].sim(pf[j]));
  43.                 System.out.println(students[i]+" ~ "+students[j]+" = "+similarity);
  44.             }
  45.         }
  46.         */
  47.     }
  48.  
  49.    
  50. //ling
  51. //    private void go2() {
  52. //      doClass("4","visitordata","2001-10-19");
  53.   //  }
  54. // end ling
  55.  
  56.    
  57.     private void go1() {
  58.         Pathfinder pf = new Pathfinder();
  59.        
  60.         System.out.println("starting...");
  61.         pf.readLogfile("iisdata/visit.txt");
  62.         System.out.println("data read");
  63.         pf.setFrequencies();
  64.         System.out.println("frequencies set");
  65.         pf.MCN();
  66.         System.out.println("MCN computed");
  67.         pf.outputGraph("iisdata/visit");
  68.         System.out.println("XML written");
  69.     }
  70.    
  71.  
  72.     private void go() {
  73. //      String[] classNumber = { "2",            "4",            "2",            "4",            "2",            "4"};
  74. //      String[] date =     {"2001-10-16", "2001-10-17", "2001-10-18", "2001-10-19", "2001-11-07", "2001-11-08"};
  75. //      int[] classNumber = { 4};
  76. //      String[] date =     {"2001-10-19"};
  77. //ling did it.
  78.   //ling        String[] classNumber = { "pulley",     "lever",      "wheelaxle"};
  79.     //ling  String[] date =        { "2002-05-06", "2002-04-12", "2002-04-26"};
  80.         int[] classNumber = { 1 };
  81.         String[] date =     {"2002-5-02"};
  82. //end ling     
  83.        
  84.         for (int i = 0; i < classNumber.length; i++) {
  85. //ling      doClass(classNumber[i],"agnes1",date[i]);
  86.             doClass(classNumber[i],date[i]);
  87.         }
  88.     }
  89.        
  90. //ling  private void doClass(String classNumber, String dir, String dateRestriction) {         
  91.         private void doClass(int classNumber, String dateRestriction) {        
  92.         RawData rd = new RawData();
  93.  
  94.         String[] nodeNames = rd.getNodeNames("%",classNumber, dateRestriction);
  95.         String[] studentNames = rd.getStudentNames("%", classNumber, dateRestriction);
  96.         int n = studentNames.length;
  97.        
  98.         System.out.print("Class " + classNumber + ", " + dateRestriction + " has " + n + " students");
  99.         System.out.println(" and " + nodeNames.length + " nodes.");
  100.  
  101.         Pathfinder[] pf = new Pathfinder[n + 1]; // for all students and the class
  102.  
  103.         Hashtable invNodeNames = new Hashtable();
  104.  
  105.         for (int i = 0; i < nodeNames.length; i++) {
  106.             invNodeNames.put(nodeNames[i].toLowerCase(),new Integer(i));
  107.         }
  108.  
  109.         for (int i = 0; i < n+1; i++) {
  110.             double[][] s;
  111.            
  112.             if (i < n) {
  113.                 System.out.print(studentNames[i] + " ");
  114.                 s = rd.getTransitionMatrix(classNumber, dateRestriction, studentNames[i], invNodeNames);
  115.             } else {
  116.                 System.out.println("all students");
  117.                 s = rd.getTransitionMatrix(classNumber, dateRestriction, "%", invNodeNames);
  118.             }
  119.  
  120.             pf[i] = new Pathfinder();
  121.             pf[i].setFrequencies(s);
  122.             pf[i].setNames(nodeNames);
  123.             pf[i].MCN();   
  124.  
  125.             if (i < n) {
  126.                 pf[i].outputGraph("data/" + "/" + classNumber + "_" + studentNames[i] + "_" + dateRestriction,showTransitionCount,neato);
  127.             } else {
  128.                 pf[i].outputGraph("data/" + "/" + classNumber + "_" + "CLASS_" + dateRestriction,showTransitionCount,neato);
  129.             }
  130.  
  131.         }      
  132.         System.out.println();
  133.        
  134.         try {
  135.  
  136.             //finally generating the comaprison output into a tab delimited file
  137.             System.out.println("Writing comparison file");
  138.  
  139.             String filename = "data/" + "/" + classNumber + "_" + "CLASS_" + dateRestriction + ".txt";
  140.             PrintWriter outFile = new PrintWriter(new BufferedWriter(new FileWriter(filename)));
  141.  
  142.             outFile.write("Comparing each student to the whole class\n\n");
  143.  
  144.             for (int i = 0; i < n; i++) {
  145.                 double sim = pf[i].sim(pf[n]);
  146.                 outFile.write(studentNames[i] + "\t" + sim + "\n");
  147.             }
  148.        
  149.             outFile.write("\nComparing all student to each other\n\n");
  150.        
  151.             outFile.write("\t");
  152.             for (int i = 0; i < n; i++) {
  153.                 outFile.write(studentNames[i] + "\t");
  154.             }
  155.             outFile.write("\n");
  156.  
  157.             double[][] matrix = new double[n][n];
  158.            
  159.             for (int i = 0; i < n; i++) {
  160.                 outFile.write(studentNames[i] + "\t");
  161.                 for (int j = 0; j < n; j++) {
  162.                     double sim = pf[i].sim(pf[j]);
  163.                     outFile.write(sim + "\t");
  164.                     matrix[i][j] = sim;
  165.                     if (sim <= 0) matrix[i][j] = -1;
  166.                 }
  167.                 outFile.write("\n");
  168.             }
  169.             outFile.close();
  170.            
  171.            
  172.             //now we treat similarities as frequencies and use pathfinder again
  173.             //that's probably silly, but...
  174.             /* ling uncomments   */
  175.             System.out.println("doing the pathfinder for the big thing");
  176.             Pathfinder p = new Pathfinder();
  177.             System.out.println("setting frequencies");
  178.             p.setFrequencies(matrix);
  179.             System.out.println("setting names");
  180.             p.setNames(studentNames);
  181.             System.out.println("MCN...");
  182.             p.MCN();   
  183.             System.out.println("MCN done!");
  184.  
  185.  
  186.             p.outputGraph("data/" + "/" + classNumber + "_allstudents_" + dateRestriction,showTransitionCount, neato, 10);
  187.  
  188.            
  189.             //now we do the real clustering
  190. //ling          for (int k = 1; k <= 3; k++) {  
  191.                
  192.                 int k=3;
  193.                 System.out.println("clustering with k = " + k);
  194.                 ClusterAlg clusterAlg = new ClusterAlg(k,studentNames);
  195.                 for(int i = 0; i < n; i++) {
  196.                     clusterAlg.addPNF(pf[i]);
  197.                 }
  198.                
  199.                 float v = 0, worstV = 0;
  200.                 v = clusterAlg.cluster();
  201.                 worstV += clusterAlg.worstClusterValue();
  202.  
  203.                 Pathfinder centroid[] = clusterAlg.getCentroids();
  204.                 for (int i = 0; i < k; i++) {
  205.                     centroid[i].outputGraph("data/" + "/" + classNumber +"_C_"+k+"_"+(i+1)+"_"+ dateRestriction,showTransitionCount, neato, 10);
  206.                 }
  207.                 System.out.println("k = " + k + " -> " + v + " -- " + worstV);
  208.                 System.out.println(clusterAlg);
  209. //          }
  210. /*ling end          */
  211.            
  212.            
  213.         } catch (Exception e) {
  214.             System.out.println(e);
  215.         }
  216.     }
  217.  
  218.  
  219.  
  220.  
  221.  
  222. }  
  223.  
  224.  
  225.  
  226. ---------------------------
  227. "C:\Program Files\Java\jdk1.8.0_91\bin\java" -Didea.launcher.port=7533 "-Didea.launcher.bin.path=C:\Program Files (x86)\JetBrains\IntelliJ IDEA 2016.1.3\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\Java\jdk1.8.0_91\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\ext\cldrdata.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\ext\jfxrt.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\ext\nashorn.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\ext\sunpkcs11.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\ext\zipfs.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\jfxswt.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\rt.jar;C:\Users\jalal\IdeaProjects\Good_PF\out\production\Good_PF;C:\Program Files (x86)\JetBrains\IntelliJ IDEA 2016.1.3\lib\idea_rt.jar" com.intellij.rt.execution.application.AppMain PF
  228. I am here
  229. Unable to load driver.
  230. java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver
  231.     at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
  232.     at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
  233.     at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
  234.     at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
  235.     at java.lang.Class.forName0(Native Method)
  236.     at java.lang.Class.forName(Class.java:264)
  237.     at RawData.getConnection(RawData.java:229)
  238.     at RawData.getNodeNames(RawData.java:16)
  239.     at PF.doClass(PF.java:94)
  240.     at PF.go(PF.java:86)
  241.     at PF.main(PF.java:16)
  242.     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  243.     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
  244.     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  245.     at java.lang.reflect.Method.invoke(Method.java:498)
  246.     at com.intellij.rt.execution.application.AppMain.main(AppMain.java:144)
  247. SQLException: No suitable driver found for jdbc:microsoft:sqlserver://localhost:1433
  248. SQLState:     08001
  249. VendorError:  0
  250. Exception in thread "main" java.lang.NullPointerException
  251.     at RawData.getNodeNames(RawData.java:21)
  252.     at PF.doClass(PF.java:94)
  253.     at PF.go(PF.java:86)
  254.     at PF.main(PF.java:16)
  255.     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  256.     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
  257.     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  258.     at java.lang.reflect.Method.invoke(Method.java:498)
  259.     at com.intellij.rt.execution.application.AppMain.main(AppMain.java:144)
  260.  
  261. Process finished with exit code 1
Advertisement
Add Comment
Please, Sign In to add comment