From 90f537a706bb0f86bbab8755817ec60e6b0aa0e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Euzenat?= <Jerome.Euzenat@inria.fr> Date: Thu, 2 Dec 2004 14:08:14 +0000 Subject: [PATCH] - implemented Parameter reading in procalign - improved parameters: printing declared --- lib/procalign.jar | Bin 74703 -> 75233 bytes .../exmo/align/impl/BasicParameters.java | 17 ++++++++++++ .../inrialpes/exmo/align/util/Procalign.java | 26 ++++++++++++++---- src/org/semanticweb/owl/align/Parameters.java | 2 ++ 4 files changed, 40 insertions(+), 5 deletions(-) diff --git a/lib/procalign.jar b/lib/procalign.jar index f56133e0a2a9f63b751ab9c8d932b0cd6683490a..fd3e519aa903acdb385062c1b24f5338fa7c9902 100644 GIT binary patch delta 10122 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 TUgG`7sDcGZk1>J|CjtHsXDu*< delta 9564 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 diff --git a/src/fr/inrialpes/exmo/align/impl/BasicParameters.java b/src/fr/inrialpes/exmo/align/impl/BasicParameters.java index 5aafb7f6..2cd41c23 100644 --- a/src/fr/inrialpes/exmo/align/impl/BasicParameters.java +++ b/src/fr/inrialpes/exmo/align/impl/BasicParameters.java @@ -58,4 +58,21 @@ public class BasicParameters implements Parameters { return parameters.keys(); } + public void write(){ + System.out.println("<?xml version='1.0' ?>"); + System.out.println("<Parameters>"); + for (Enumeration e = parameters.keys(); e.hasMoreElements();) { + String k = (String)e.nextElement(); + System.out.println(" <param name='"+k+"'>"+parameters.get(k)+"</param>"); + } + System.out.println("</Parameters>"); + } + + public static Parameters read(){ + Parameters p = new BasicParameters(); + // open the stream + // parse it + // fill the structure + return p; + } } diff --git a/src/fr/inrialpes/exmo/align/util/Procalign.java b/src/fr/inrialpes/exmo/align/util/Procalign.java index a049345a..0475e270 100644 --- a/src/fr/inrialpes/exmo/align/util/Procalign.java +++ b/src/fr/inrialpes/exmo/align/util/Procalign.java @@ -115,7 +115,6 @@ public class Procalign { } public static Alignment run(String[] args) throws Exception { - Parameters params = null; OWLOntology onto1 = null; OWLOntology onto2 = null; AlignmentProcess result = null; @@ -130,8 +129,9 @@ public class Procalign { AlignmentVisitor renderer = null; int debug = 0; double threshold = 0; + Parameters params = new BasicParameters(); - LongOpt[] longopts = new LongOpt[8]; + LongOpt[] longopts = new LongOpt[9]; longopts[0] = new LongOpt("help", LongOpt.NO_ARGUMENT, null, 'h'); longopts[1] = new LongOpt("output", LongOpt.REQUIRED_ARGUMENT, null, 'o'); @@ -141,8 +141,10 @@ public class Procalign { longopts[5] = new LongOpt("impl", LongOpt.REQUIRED_ARGUMENT, null, 'i'); longopts[6] = new LongOpt("threshold", LongOpt.REQUIRED_ARGUMENT, null, 't'); longopts[7] = new LongOpt("cutmethod", LongOpt.REQUIRED_ARGUMENT, null, 'T'); + // Is there a way for that in LongOpt ??? + longopts[8] = new LongOpt("D", LongOpt.REQUIRED_ARGUMENT, null, 'D'); - Getopt g = new Getopt("", args, "ho:a:d::r:t:T:i:", longopts); + Getopt g = new Getopt("", args, "ho:a:d::r:t:T:i:D::", longopts); int c; String arg; @@ -181,13 +183,26 @@ public class Procalign { if ( arg != null ) debug = Integer.parseInt(arg.trim()); else debug = 4; break; + case 'D' : + /* Parameter definition */ + arg = g.getOptarg(); + int index = arg.indexOf('='); + if ( index != -1 ) { + params.setParameter( arg.substring( 0, index), + arg.substring(index+1)); + } else { + System.err.println("Bad parameter syntax: "+g); + usage(); + System.exit(0); + + } + break; } } int i = g.getOptind(); loadedOntologies = new Hashtable(); - params = new BasicParameters(); if (debug > 0) params.setParameter("debug", new Integer(debug)); // debug = ((Integer)params.getParameter("debug")).intValue(); @@ -202,7 +217,7 @@ public class Procalign { uri1 = new URI(args[i++]); uri2 = new URI(args[i]); } else if (initName == null) { - System.out.println("Two URIs required"); + System.err.println("Two URIs required"); usage(); System.exit(0); } @@ -313,6 +328,7 @@ public class Procalign { System.out.println("\t--threshold=double -t double\tFilters the similarities under threshold"); System.out.println("\t--cutmethod=hard|perc|prop|best|span -T hard|perc|prop|best|span\tmethod for computing the threshold"); System.out.println("\t--debug[=n] -d [n]\t\tReport debug info at level n"); + System.out.println("\t-Dparam=value\t\t\tSet parameter"); System.out.println("\t--help -h\t\t\tPrint this message"); } } diff --git a/src/org/semanticweb/owl/align/Parameters.java b/src/org/semanticweb/owl/align/Parameters.java index b0d8902f..383c2c29 100644 --- a/src/org/semanticweb/owl/align/Parameters.java +++ b/src/org/semanticweb/owl/align/Parameters.java @@ -42,4 +42,6 @@ public interface Parameters { public Object getParameter(String name); public Enumeration getNames(); + public void write(); + //public static Parameters read(); } -- GitLab