From: <jen...@us...> - 2008-01-19 14:32:51
|
Revision: 400 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=400&view=rev Author: jenslehmann Date: 2008-01-19 06:32:48 -0800 (Sat, 19 Jan 2008) Log Message: ----------- - added log4j logging framework (update your classpath) - added logging initialisation for all interfaces: CLI, GUI, Web-Service; consider using log statements instead of System.out.println in the future - some smaller fixes Modified Paths: -------------- trunk/src/dl-learner/org/dllearner/algorithms/RandomGuesser.java trunk/src/dl-learner/org/dllearner/cli/Start.java trunk/src/dl-learner/org/dllearner/gui/StartGUI.java trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlKnowledgeSource.java trunk/src/dl-learner/org/dllearner/server/DLLearnerWS.java trunk/src/dl-learner/org/dllearner/server/DLLearnerWSStart.java Added Paths: ----------- trunk/lib/log4j.jar Added: trunk/lib/log4j.jar =================================================================== (Binary files differ) Property changes on: trunk/lib/log4j.jar ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Modified: trunk/src/dl-learner/org/dllearner/algorithms/RandomGuesser.java =================================================================== --- trunk/src/dl-learner/org/dllearner/algorithms/RandomGuesser.java 2008-01-19 10:16:30 UTC (rev 399) +++ trunk/src/dl-learner/org/dllearner/algorithms/RandomGuesser.java 2008-01-19 14:32:48 UTC (rev 400) @@ -22,6 +22,7 @@ import java.util.Collection; import java.util.LinkedList; +import org.apache.log4j.Logger; import org.dllearner.algorithms.gp.Program; import org.dllearner.algorithms.gp.GPUtilities; import org.dllearner.core.LearningAlgorithm; @@ -43,6 +44,8 @@ private int numberOfTrees; private int maxDepth; + private static Logger logger = Logger.getLogger(RandomGuesser.class); + public RandomGuesser(LearningProblem learningProblem, ReasoningService rs) { this.learningProblem = learningProblem; } @@ -103,12 +106,9 @@ } } - System.out.print("Random-Guesser (" + numberOfTrees + " trials, "); - System.out.println("maximum depth " + maxDepth + ")"); - System.out.println("best solution: " + bestDefinition); - System.out.println("fitness: " + bestFitness); - - // System.out.println(bestScore); + logger.info("Random-Guesser (" + numberOfTrees + " trials, maximum depth " + maxDepth + ")"); + logger.info("best solution: " + bestDefinition); + logger.info("fitness: " + bestFitness); } @Override Modified: trunk/src/dl-learner/org/dllearner/cli/Start.java =================================================================== --- trunk/src/dl-learner/org/dllearner/cli/Start.java 2008-01-19 10:16:30 UTC (rev 399) +++ trunk/src/dl-learner/org/dllearner/cli/Start.java 2008-01-19 14:32:48 UTC (rev 400) @@ -34,6 +34,12 @@ import java.util.SortedSet; import java.util.TreeSet; +import org.apache.log4j.ConsoleAppender; +import org.apache.log4j.Level; +import org.apache.log4j.Logger; +import org.apache.log4j.SimpleLayout; +import org.dllearner.algorithms.BruteForceLearner; +import org.dllearner.algorithms.RandomGuesser; import org.dllearner.algorithms.gp.GP; import org.dllearner.algorithms.refinement.ROLearner; import org.dllearner.core.Component; @@ -92,11 +98,20 @@ public static void main(String[] args) { File file = new File(args[args.length - 1]); String baseDir = file.getParentFile().getPath(); - + boolean inQueryMode = false; if (args.length > 1 && args[0].equals("-q")) inQueryMode = true; + // create logger (a simple logger which outputs + // its messages to the console) + SimpleLayout layout = new SimpleLayout(); + ConsoleAppender consoleAppender = new ConsoleAppender(layout); + Logger logger = Logger.getRootLogger(); + logger.removeAllAppenders(); + logger.addAppender(consoleAppender); + logger.setLevel(Level.INFO); + // create component manager instance System.out.print("starting component manager ... "); long cmStartTime = System.nanoTime(); @@ -173,19 +188,16 @@ laClass = ROLearner.class; else if(algorithmOption.getStringValue().equals("gp")) laClass = GP.class; + else if(algorithmOption.getStringValue().equals("bruteForce")) + laClass = BruteForceLearner.class; + else if(algorithmOption.getStringValue().equals("randomGuesser")) + laClass = RandomGuesser.class; else handleError("Unknown value in " + algorithmOption); la = cm.learningAlgorithm(laClass, lp, rs); configureComponent(cm, la, componentPrefixMapping, parser); initComponent(cm, la); - - // initialise all structures -// for (KnowledgeSource source : sources) -// initComponent(cm, source); -// initComponent(cm, reasoner); -// initComponent(cm, lp); -// initComponent(cm, la); // perform file exports performExports(parser, baseDir, sources, rs); Modified: trunk/src/dl-learner/org/dllearner/gui/StartGUI.java =================================================================== --- trunk/src/dl-learner/org/dllearner/gui/StartGUI.java 2008-01-19 10:16:30 UTC (rev 399) +++ trunk/src/dl-learner/org/dllearner/gui/StartGUI.java 2008-01-19 14:32:48 UTC (rev 400) @@ -22,6 +22,11 @@ import javax.swing.*; +import org.apache.log4j.ConsoleAppender; +import org.apache.log4j.Level; +import org.apache.log4j.Logger; +import org.apache.log4j.SimpleLayout; + /** * StartGUI * @@ -64,6 +69,14 @@ } public static void main(String[] args) { + // create GUI logger + SimpleLayout layout = new SimpleLayout(); + ConsoleAppender consoleAppender = new ConsoleAppender(layout); + Logger logger = Logger.getRootLogger(); + logger.removeAllAppenders(); + logger.addAppender(consoleAppender); + logger.setLevel(Level.INFO); + myrun = new StartGUI(); } Modified: trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlKnowledgeSource.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlKnowledgeSource.java 2008-01-19 10:16:30 UTC (rev 399) +++ trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlKnowledgeSource.java 2008-01-19 14:32:48 UTC (rev 400) @@ -30,10 +30,12 @@ import java.util.Set; import java.util.Vector; +import org.apache.log4j.Logger; import org.dllearner.core.KnowledgeSource; import org.dllearner.core.OntologyFormat; import org.dllearner.core.OntologyFormatUnsupportedException; import org.dllearner.core.config.BooleanConfigOption; +import org.dllearner.core.config.CommonConfigOptions; import org.dllearner.core.config.ConfigEntry; import org.dllearner.core.config.ConfigOption; import org.dllearner.core.config.IntegerConfigOption; @@ -61,7 +63,7 @@ // ConfigOptions private URL url; - String host; + // String host; private Set<String> instances = new HashSet<String>();; private URL dumpFile; private int recursionDepth = 1; @@ -82,7 +84,8 @@ private int numberOfInstancesUsedForRoleLearning = 40; private String role = ""; private String blankNodeIdentifier = "bnode"; - +// private String verbosity = "warning"; + //LinkedList<StringTuple> URIParameters = new LinkedList<StringTuple>(); LinkedList<StringTuple> replacePredicate = new LinkedList<StringTuple>(); LinkedList<StringTuple> replaceObject = new LinkedList<StringTuple>(); @@ -130,9 +133,11 @@ private KB kb; public static String getName() { - return "SPARQL Endpoint Restructured"; + return "SPARQL Endpoint"; } + private static Logger logger = Logger.getLogger(SparqlKnowledgeSource.class); + /** * sets the ConfigOptions for this KnowledgeSource * @@ -141,7 +146,7 @@ public static Collection<ConfigOption<?>> createConfigOptions() { Collection<ConfigOption<?>> options = new LinkedList<ConfigOption<?>>(); options.add(new StringConfigOption("url", "URL of SPARQL Endpoint")); - options.add(new StringConfigOption("host", "host of SPARQL Endpoint")); +// options.add(new StringConfigOption("host", "host of SPARQL Endpoint")); options .add(new StringSetConfigOption("instances", "relevant instances e.g. positive and negative examples in a learning problem")); @@ -193,6 +198,7 @@ "numberOfInstancesUsedForRoleLearning", "")); options.add(new BooleanConfigOption("closeAfterRecursion", "gets all classes for all instances")); + options.add(CommonConfigOptions.getVerbosityOption()); return options; } @@ -213,8 +219,8 @@ throw new InvalidConfigOptionValueException(entry.getOption(), entry.getValue(), "malformed URL " + s); } - } else if (option.equals("host")) { - host = (String) entry.getValue(); +// } else if (option.equals("host")) { +// host = (String) entry.getValue(); } else if (option.equals("instances")) { instances = (Set<String>) entry.getValue(); } else if (option.equals("recursionDepth")) { @@ -257,6 +263,8 @@ numberOfInstancesUsedForRoleLearning = (Integer) entry.getValue(); } else if (option.equals("closeAfterRecursion")) { closeAfterRecursion = (Boolean) entry.getValue(); +// } else if (option.equals("verbosity")) { +// verbosity = (String) entry.getValue(); } } @@ -268,7 +276,7 @@ */ @Override public void init() { - System.out.println("SparqlModul: Collecting Ontology"); + logger.info("SparqlModul: Collecting Ontology"); // SparqlOntologyCollector oc= // new SparqlOntologyCollector(Datastructures.setToArray(instances), // numberOfRecursions, filterMode, @@ -327,7 +335,7 @@ break; } pos = tmp; - System.out.println("Instances used: " + pos.size()); + logger.info("Instances used: " + pos.size()); tmp = new HashSet<String>(); for (String one : neg) { @@ -343,10 +351,10 @@ instances.addAll(neg); for (String one : pos) { - System.out.println("+\"" + one + "\""); + logger.info("+\"" + one + "\""); } for (String one : neg) { - System.out.println("-\"" + one + "\""); + logger.info("-\"" + one + "\""); } /* @@ -365,12 +373,12 @@ } // the actual extraction is started here ont = m.extract(instances); - System.out.println("Number of cached SPARQL queries: " + logger.info("Number of cached SPARQL queries: " + m.getConfiguration().numberOfCachedSparqlQueries); - System.out.println("Number of uncached SPARQL queries: " + logger.info("Number of uncached SPARQL queries: " + m.getConfiguration().numberOfUncachedSparqlQueries); - System.out.println("Finished collecting Fragment"); + logger.info("Finished collecting Fragment"); if (dumpToFile) { String filename = System.currentTimeMillis() + ".nt"; @@ -401,7 +409,7 @@ } catch (Exception e) { e.printStackTrace(); } - System.out.println("SparqlModul: ****Finished"); + logger.info("SparqlModul: ****Finished"); } /* @@ -446,7 +454,7 @@ * @param limit */ public void calculateSubjects(String label, int limit) { - System.out.println("SparqlModul: Collecting Subjects"); + logger.info("SparqlModul: Collecting Subjects"); // oldSparqlOntologyCollector oc = new oldSparqlOntologyCollector(url); // try { Vector<String> v = (SparqlQuery.makeLabelQuery(label, limit, sse) @@ -458,7 +466,7 @@ // subjects = new String[1]; // subjects[0] = "[Error]Sparql Endpoint could not be reached."; // } - System.out.println("SparqlModul: ****Finished"); + logger.info("SparqlModul: ****Finished"); } /** @@ -467,7 +475,7 @@ * @param subject */ public void calculateTriples(String subject) { - System.out.println("SparqlModul: Collecting Triples"); + logger.info("SparqlModul: Collecting Triples"); Vector<StringTuple> v = (SparqlQuery.makeArticleQuery(subject, sse) .getAsVectorOfTupels("predicate", "objcet")); //String[] subjects = (String[]) v.toArray(new String[v.size()]); @@ -484,7 +492,7 @@ // triples = new String[1]; // triples[0] = "[Error]Sparql Endpoint could not be reached."; //} - System.out.println("SparqlModul: ****Finished"); + logger.info("SparqlModul: ****Finished"); } /** @@ -493,7 +501,7 @@ * @param concept */ public void calculateConceptSubjects(String concept) { - System.out.println("SparqlModul: Collecting Subjects"); + logger.info("SparqlModul: Collecting Subjects"); Vector<String> v = (SparqlQuery.makeConceptQuery(concept, sse) .getAsVector("subject")); conceptSubjects = (String[]) v.toArray(new String[v.size()]); @@ -506,7 +514,7 @@ // conceptSubjects = new String[1]; // conceptSubjects[0] = "[Error]Sparql Endpoint could not be reached."; // } - System.out.println("SparqlModul: ****Finished"); + logger.info("SparqlModul: ****Finished"); } public boolean subjectThreadIsRunning() { Modified: trunk/src/dl-learner/org/dllearner/server/DLLearnerWS.java =================================================================== --- trunk/src/dl-learner/org/dllearner/server/DLLearnerWS.java 2008-01-19 10:16:30 UTC (rev 399) +++ trunk/src/dl-learner/org/dllearner/server/DLLearnerWS.java 2008-01-19 14:32:48 UTC (rev 400) @@ -1,5 +1,5 @@ /** - * Copyright (C) 2007, Jens Lehmann + * Copyright (C) 2007-2008, Jens Lehmann * * This file is part of DL-Learner. * Modified: trunk/src/dl-learner/org/dllearner/server/DLLearnerWSStart.java =================================================================== --- trunk/src/dl-learner/org/dllearner/server/DLLearnerWSStart.java 2008-01-19 10:16:30 UTC (rev 399) +++ trunk/src/dl-learner/org/dllearner/server/DLLearnerWSStart.java 2008-01-19 14:32:48 UTC (rev 400) @@ -1,7 +1,24 @@ +/** + * Copyright (C) 2007-2008, Jens Lehmann + * + * This file is part of DL-Learner. + * + * DL-Learner is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * DL-Learner is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + */ package org.dllearner.server; - - import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; @@ -11,61 +28,78 @@ import javax.xml.ws.Endpoint; +import org.apache.log4j.ConsoleAppender; +import org.apache.log4j.Level; +import org.apache.log4j.Logger; +import org.apache.log4j.SimpleLayout; + import com.sun.net.httpserver.HttpContext; import com.sun.net.httpserver.HttpServer; - +/** + * Starts the DL-Learner web service. + * + * @author Jens Lehmann + * @author Sebastian Hellmann + * + */ public class DLLearnerWSStart { public static void main(String[] args) { - //String url = "http://139.18.114.78:8181/services"; - /*String url=""; - if (args.length > 0) - url = args[0];*/ - try{ - - InetSocketAddress isa=new InetSocketAddress("localhost",8181); - HttpServer server = HttpServer.create(isa, 5); - ExecutorService threads = Executors.newFixedThreadPool(5); - server.setExecutor(threads); - server.start(); - - System.out.print("Starting DL-Learner web service at http://" + - isa.getHostName()+":"+isa.getPort()+ "/services ... "); - Endpoint endpoint = Endpoint.create(new DLLearnerWS()); - //Endpoint endpoint = Endpoint.create(new CustomDataClass()); + + // create web service logger + SimpleLayout layout = new SimpleLayout(); + ConsoleAppender consoleAppender = new ConsoleAppender(layout); + Logger logger = Logger.getRootLogger(); + logger.removeAllAppenders(); + logger.addAppender(consoleAppender); + logger.setLevel(Level.INFO); + + InetSocketAddress isa = new InetSocketAddress("localhost", 8181); + HttpServer server = null; + try { + server = HttpServer.create(isa, 0); + } catch (IOException e1) { + e1.printStackTrace(); + } + ExecutorService threads = Executors.newFixedThreadPool(10); + server.setExecutor(threads); + server.start(); + + System.out.println("Starting DL-Learner web service at http://" + isa.getHostName() + ":" + + isa.getPort() + "/services ... "); + Endpoint endpoint = Endpoint.create(new DLLearnerWS()); + // Endpoint endpoint = Endpoint.create(new CustomDataClass()); HttpContext context = server.createContext("/services"); - endpoint.publish(context); - //Endpoint endpoint = Endpoint.publish(url, new DLLearnerWS()); - + endpoint.publish(context); + // Endpoint endpoint = Endpoint.publish(url, new DLLearnerWS()); + System.out.println("OK."); - - System.out.println("Type \"exit\" to terminate web service."); boolean terminate = false; String inputString = ""; do { BufferedReader input = new BufferedReader(new InputStreamReader(System.in)); - + try { inputString = input.readLine(); } catch (IOException e) { e.printStackTrace(); } - + if (inputString.equals("exit")) terminate = true; - + } while (!terminate); System.out.print("Stopping web service ... "); endpoint.stop(); - - server.stop(1); - threads.shutdown(); + + server.stop(1); + threads.shutdown(); System.out.println("OK."); - }catch (Exception e) {e.printStackTrace();} + } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |