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