From c9ced2228bc11a8d010d29ac9ac4b059c073265c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Euzenat?= <Jerome.Euzenat@inria.fr>
Date: Mon, 10 Mar 2014 21:58:59 +0000
Subject: [PATCH] - prepared for JSON message display

---
 .../exmo/align/service/msg/AlignmentId.java       |  5 ++++-
 .../exmo/align/service/msg/AlignmentIds.java      | 15 ++++++++++++++-
 .../exmo/align/service/msg/AlignmentMetadata.java |  5 ++++-
 .../align/service/msg/CannotRenderAlignment.java  |  5 ++++-
 .../exmo/align/service/msg/EntityList.java        | 13 ++++++++++++-
 .../exmo/align/service/msg/ErrorMsg.java          |  5 ++++-
 .../exmo/align/service/msg/EvalResult.java        | 10 +++++++++-
 .../exmo/align/service/msg/EvaluationId.java      |  7 +++++--
 .../inrialpes/exmo/align/service/msg/Message.java |  9 ++++++++-
 .../align/service/msg/NonConformParameters.java   |  5 ++++-
 .../exmo/align/service/msg/OntologyURI.java       |  8 ++++++--
 .../exmo/align/service/msg/RenderedAlignment.java |  7 ++++++-
 .../exmo/align/service/msg/RunTimeError.java      |  5 ++++-
 .../inrialpes/exmo/align/service/msg/Success.java |  9 ++++++++-
 .../exmo/align/service/msg/TranslatedMessage.java |  5 ++++-
 .../exmo/align/service/msg/UnknownAlignment.java  |  5 ++++-
 .../exmo/align/service/msg/UnknownMethod.java     |  5 ++++-
 .../align/service/msg/UnreachableAlignment.java   |  5 ++++-
 .../align/service/msg/UnreachableOntology.java    |  5 ++++-
 19 files changed, 112 insertions(+), 21 deletions(-)

diff --git a/src/fr/inrialpes/exmo/align/service/msg/AlignmentId.java b/src/fr/inrialpes/exmo/align/service/msg/AlignmentId.java
index a86bd1ef..d7be9ddf 100644
--- a/src/fr/inrialpes/exmo/align/service/msg/AlignmentId.java
+++ b/src/fr/inrialpes/exmo/align/service/msg/AlignmentId.java
@@ -1,7 +1,7 @@
 /*
  * $Id$
  *
- * Copyright (C) INRIA, 2006-2009, 2011, 2013
+ * Copyright (C) INRIA, 2006-2009, 2011, 2013-2014
  *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public License
@@ -54,5 +54,8 @@ public class AlignmentId extends Success {
     public String RESTString(){
 	return "<alid>"+getContent()+"</alid>";	
     }
+    public String JSONString(){
+	return "{ \"type\" : \"AlignmentId\",\n  \"content\" : \""+content+"\"\n}";	
+    }
 
 }
diff --git a/src/fr/inrialpes/exmo/align/service/msg/AlignmentIds.java b/src/fr/inrialpes/exmo/align/service/msg/AlignmentIds.java
index cdde5684..3b751e99 100644
--- a/src/fr/inrialpes/exmo/align/service/msg/AlignmentIds.java
+++ b/src/fr/inrialpes/exmo/align/service/msg/AlignmentIds.java
@@ -1,7 +1,7 @@
 /*
  * $Id$
  *
- * Copyright (C) INRIA, 2006-2009, 2011, 2013
+ * Copyright (C) INRIA, 2006-2009, 2011, 2013-2014
  *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public License
@@ -100,4 +100,17 @@ public class AlignmentIds extends Success {
 	msg += "      </alignmentList>";
 	return msg;
     }
+
+    public String JSONString(){
+	String msg = "{ \"type\" : \"AlignmentIds\",\n";
+	msg += "  \"alignmentIds\" : [";
+	String id[] = content.split(" ");
+	for ( int i = id.length-1; i >= 0; i-- ){
+	    if ( id[i].trim() != "" ) {
+		msg += "    \""+id[i].trim()+"\",\n";
+	    }
+	}	
+	msg += "  ]\n}\n";
+	return msg;
+    }
 }
diff --git a/src/fr/inrialpes/exmo/align/service/msg/AlignmentMetadata.java b/src/fr/inrialpes/exmo/align/service/msg/AlignmentMetadata.java
index ffe9aae1..2f244110 100644
--- a/src/fr/inrialpes/exmo/align/service/msg/AlignmentMetadata.java
+++ b/src/fr/inrialpes/exmo/align/service/msg/AlignmentMetadata.java
@@ -1,7 +1,7 @@
 /*
  * $Id$
  *
- * Copyright (C) INRIA, 2006-2009, 2011
+ * Copyright (C) INRIA, 2006-2009, 2011, 2014
  *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public License
@@ -41,4 +41,7 @@ public class AlignmentMetadata extends Success {
     public String SOAPString(){
 	return "<id>"+surrogate+"</id>"+"<in-reply-to>"+inReplyTo+"</in-reply-to><metadata>"+content+"</metadata>";	
     }
+    public String JSONString(){
+	return "{ \"type\" : \"AlignmentMetadata\",\n  \"id\" : \"+surrogate+\",\n  \"in-reply-to\" : \"+inReplyTo+\",\n  \"content\" : \""+content+"\"\n}";	
+    }
 }
diff --git a/src/fr/inrialpes/exmo/align/service/msg/CannotRenderAlignment.java b/src/fr/inrialpes/exmo/align/service/msg/CannotRenderAlignment.java
index 51783e03..68439c08 100644
--- a/src/fr/inrialpes/exmo/align/service/msg/CannotRenderAlignment.java
+++ b/src/fr/inrialpes/exmo/align/service/msg/CannotRenderAlignment.java
@@ -1,7 +1,7 @@
 /*
  * $Id$
  *
- * Copyright (C) INRIA, 2006-2009, 2011
+ * Copyright (C) INRIA, 2006-2009, 2011, 2014
  *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public License
@@ -36,4 +36,7 @@ public class CannotRenderAlignment extends ErrorMsg {
     public String RESTString(){
 	return "<CannotRenderAlignment>"+content+"</CannotRenderAlignment>";
     }
+    public String JSONString(){
+	return "{ \"type\" : \"CannotRenderAlignment\",\n  \"content\" : \""+getContent()+"\"\n}";	
+    }
 }
diff --git a/src/fr/inrialpes/exmo/align/service/msg/EntityList.java b/src/fr/inrialpes/exmo/align/service/msg/EntityList.java
index cc349b7d..bf334567 100644
--- a/src/fr/inrialpes/exmo/align/service/msg/EntityList.java
+++ b/src/fr/inrialpes/exmo/align/service/msg/EntityList.java
@@ -1,7 +1,7 @@
 /*
  * $Id$
  *
- * Copyright (C) INRIA, 2012
+ * Copyright (C) INRIA, 2012, 2014
  *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public License
@@ -63,4 +63,15 @@ public class EntityList extends Success {
 	msg += "      </entityList>";
 	return msg;
     }
+    public String JSONString(){
+	String msg = "{ \"type\" : \"EntityList\",\n  \"entities\" : \" [\n";
+	String id[] = content.split(" ");
+	for ( int i = id.length-1; i >= 0; i-- ){
+	    if ( id[i].trim() != "" ) {
+		msg += "    \""+id[i].trim()+"\",\n";
+	    }
+	}	
+	msg += "]\n}";
+	return msg;
+    }
 }
diff --git a/src/fr/inrialpes/exmo/align/service/msg/ErrorMsg.java b/src/fr/inrialpes/exmo/align/service/msg/ErrorMsg.java
index a7f35bde..cf9e5299 100644
--- a/src/fr/inrialpes/exmo/align/service/msg/ErrorMsg.java
+++ b/src/fr/inrialpes/exmo/align/service/msg/ErrorMsg.java
@@ -1,7 +1,7 @@
 /*
  * $Id$
  *
- * Copyright (C) INRIA, 2006-2011
+ * Copyright (C) INRIA, 2006-2011, 2014
  *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public License
@@ -56,4 +56,7 @@ public class ErrorMsg extends Message {
 	res += "      "+RESTString()+"\n"+"    </ErrorMsg>\n";
 	return res;
     }
+    public String JSONString(){
+	return "{ \"type\" : \"ErrorMsg\",\n  \"content\" : \""+content+"\"\n}";	
+    }
 }
diff --git a/src/fr/inrialpes/exmo/align/service/msg/EvalResult.java b/src/fr/inrialpes/exmo/align/service/msg/EvalResult.java
index bd4a16f5..88e87324 100644
--- a/src/fr/inrialpes/exmo/align/service/msg/EvalResult.java
+++ b/src/fr/inrialpes/exmo/align/service/msg/EvalResult.java
@@ -1,7 +1,7 @@
 /*
  * $Id$
  *
- * Copyright (C) INRIA, 2006-2011
+ * Copyright (C) INRIA, 2006-2011, 2014
  *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public License
@@ -52,5 +52,13 @@ public class EvalResult extends Success {
 	results += "</EvaluationResults>";
 	return results;	
     }
+    public String JSONString(){
+	String results = "{ \"type\" : \"EvaluationResult\"";
+	for ( String key : getParameters().stringPropertyNames() ) {
+	    results += ",\n  \""+key+"\" : \""+getParameters().getProperty( key )+"\"";
+	}
+	results += "\n}";
+	return results;	
+    }
 
 }
diff --git a/src/fr/inrialpes/exmo/align/service/msg/EvaluationId.java b/src/fr/inrialpes/exmo/align/service/msg/EvaluationId.java
index f98ac6a9..b867ce2c 100644
--- a/src/fr/inrialpes/exmo/align/service/msg/EvaluationId.java
+++ b/src/fr/inrialpes/exmo/align/service/msg/EvaluationId.java
@@ -1,7 +1,7 @@
 /*
  * $Id$
  *
- * Copyright (C) INRIA, 2008, 2011
+ * Copyright (C) INRIA, 2008, 2011, 2014
  *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public License
@@ -23,7 +23,7 @@ package fr.inrialpes.exmo.align.service.msg;
 import java.util.Properties;
 
 /**
- * Contains the messages that should be sent according to the protocol
+ * The id of the result of an evaluation
  */
 
 public class EvaluationId extends Success {
@@ -45,5 +45,8 @@ public class EvaluationId extends Success {
     public String RESTString(){
 	return "<alid>"+content+"</alid>";	
     }
+    public String JSONString(){
+	return "{ \"type\" : \"EvaluationId\",\n  \"id\" : \""+content+"\"}";	
+    }
 
 }
diff --git a/src/fr/inrialpes/exmo/align/service/msg/Message.java b/src/fr/inrialpes/exmo/align/service/msg/Message.java
index 48ad2153..ff3f8eac 100644
--- a/src/fr/inrialpes/exmo/align/service/msg/Message.java
+++ b/src/fr/inrialpes/exmo/align/service/msg/Message.java
@@ -1,7 +1,7 @@
 /*
  * $Id$
  *
- * Copyright (C) INRIA, 2006-2007, 2009, 2011
+ * Copyright (C) INRIA, 2006-2007, 2009, 2011-2014
  *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public License
@@ -52,6 +52,9 @@ public class Message {
 	return "<ErrorMsg/>";
     }
 
+    /**
+     * For HTML interface calling the REST interface
+     */
     public String HTMLRESTString(){
 	return "<ErrorMsg/>";
     }
@@ -60,6 +63,10 @@ public class Message {
 	return "<id>"+surrogate+"</id>"+"<sender>"+sender+"</sender>" + "<receiver>"+receiver+"</receiver>" + "<in-reply-to>" + inReplyTo+ "</in-reply-to>" + "<content>" + content + "</content>";	
     }
 
+    public String JSONString(){
+	return "{ \"id\" : \""+surrogate+"\",\n  \"sender\" : \""+sender+"\",\n  \"receiver\" : \""+receiver+"\",\n  \"in-reply-to\" : \"" + inReplyTo+ "\",\n  \"content\" : \"" + content + "\"\n}";	
+    }
+
     public int getId () {
 	return surrogate;
     }
diff --git a/src/fr/inrialpes/exmo/align/service/msg/NonConformParameters.java b/src/fr/inrialpes/exmo/align/service/msg/NonConformParameters.java
index e0cf9665..a2acc2b6 100644
--- a/src/fr/inrialpes/exmo/align/service/msg/NonConformParameters.java
+++ b/src/fr/inrialpes/exmo/align/service/msg/NonConformParameters.java
@@ -1,7 +1,7 @@
 /*
  * $Id$
  *
- * Copyright (C) INRIA, 2006-2009, 2011
+ * Copyright (C) INRIA, 2006-2009, 2011, 2014
  *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public License
@@ -38,5 +38,8 @@ public class NonConformParameters extends ErrorMsg {
     public String RESTString(){
 	return "<NonConformParameters>" + content + "</NonConformParameters>";
     }
+    public String JSONString(){
+	return "{ \"type\" : \"NonConformParameters\",\n  \"content\" : \""+content+"\"\n}";	
+    }
     
 }
diff --git a/src/fr/inrialpes/exmo/align/service/msg/OntologyURI.java b/src/fr/inrialpes/exmo/align/service/msg/OntologyURI.java
index 5b9f5e9b..24ddd030 100644
--- a/src/fr/inrialpes/exmo/align/service/msg/OntologyURI.java
+++ b/src/fr/inrialpes/exmo/align/service/msg/OntologyURI.java
@@ -1,7 +1,7 @@
 /*
  * $Id$
  *
- * Copyright (C) INRIA, 2006-2009, 2011
+ * Copyright (C) INRIA, 2006-2009, 2011, 2014
  *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public License
@@ -37,5 +37,9 @@ public class OntologyURI extends Success {
     public String RESTString(){
 	return "<uri>"+content+"</uri>";
     }
-
+    public String JSONString(){
+	String res = "{ \"type\" : \"OntologyURI\",\n";
+	res += "  \"uri\" : \""+content+"\"\n}\n";
+	return res;
+    }
 }
diff --git a/src/fr/inrialpes/exmo/align/service/msg/RenderedAlignment.java b/src/fr/inrialpes/exmo/align/service/msg/RenderedAlignment.java
index 1a3ec993..3325ddab 100644
--- a/src/fr/inrialpes/exmo/align/service/msg/RenderedAlignment.java
+++ b/src/fr/inrialpes/exmo/align/service/msg/RenderedAlignment.java
@@ -1,7 +1,7 @@
 /*
  * $Id$
  *
- * Copyright (C) INRIA, 2006, 2008-2009, 2011
+ * Copyright (C) INRIA, 2006, 2008-2009, 2011, 2014
  *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public License
@@ -31,7 +31,12 @@ public class RenderedAlignment extends Success {
     public RenderedAlignment ( int surr, Message rep, String from, String to, String cont, Properties param ) {
 	super( surr, rep, from, to, cont, param );
     }
+    // THIS CONTENT SHOULD BE ESCAPED: XMLSTRINGENCODDE?
     public String RESTString(){
 	return "<alignment>"+content+"</alignment>";	
     }
+    // THIS CONTENT SHOULD BE ESCAPED: STRINGENCODDE?
+    public String JSONString(){
+	return "{ \"type\" : \"RenderedAlignment\",\n  \"content\" : \""+content+"\"\n}";	
+    }
 }
diff --git a/src/fr/inrialpes/exmo/align/service/msg/RunTimeError.java b/src/fr/inrialpes/exmo/align/service/msg/RunTimeError.java
index 8c8a9ab0..99203688 100644
--- a/src/fr/inrialpes/exmo/align/service/msg/RunTimeError.java
+++ b/src/fr/inrialpes/exmo/align/service/msg/RunTimeError.java
@@ -1,7 +1,7 @@
 /*
  * $Id$
  *
- * Copyright (C) INRIA, 2006-2009, 2011
+ * Copyright (C) INRIA, 2006-2009, 2011, 2014
  *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public License
@@ -36,4 +36,7 @@ public class RunTimeError extends ErrorMsg {
     public String HTMLString(){
 	return "Cannot process: "+content;
     }
+    public String JSONString(){
+	return "{ \"type\" : \"RunTimeError\",\n  \"content\" : \""+content+"\"\n}";	
+    }
 }
diff --git a/src/fr/inrialpes/exmo/align/service/msg/Success.java b/src/fr/inrialpes/exmo/align/service/msg/Success.java
index 16c468db..620374f4 100644
--- a/src/fr/inrialpes/exmo/align/service/msg/Success.java
+++ b/src/fr/inrialpes/exmo/align/service/msg/Success.java
@@ -1,7 +1,7 @@
 /*
  * $Id$
  *
- * Copyright (C) INRIA, 2006, 2008-2009, 2011
+ * Copyright (C) INRIA, 2006, 2008-2009, 2011, 2014
  *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public License
@@ -41,4 +41,11 @@ public class Success extends Message {
 	res += "      "+RESTString()+"\n";
 	return res;
     }
+    public String JSONString(){
+	String res = "{ \"type\" : \"Success\",\n";
+	res += "  \"id\" : \""+surrogate+"\",\n";
+	if ( inReplyTo != null ) res += "  \"in-reply-to\" : \""+inReplyTo+"\",\n";
+	res += "  \"content\" : \""+content+"\"\n}\n";
+	return res;
+    }
 }
diff --git a/src/fr/inrialpes/exmo/align/service/msg/TranslatedMessage.java b/src/fr/inrialpes/exmo/align/service/msg/TranslatedMessage.java
index 4a3db2cc..2404cb78 100644
--- a/src/fr/inrialpes/exmo/align/service/msg/TranslatedMessage.java
+++ b/src/fr/inrialpes/exmo/align/service/msg/TranslatedMessage.java
@@ -1,7 +1,7 @@
 /*
  * $Id$
  *
- * Copyright (C) INRIA, 2006-2009, 2011
+ * Copyright (C) INRIA, 2006-2009, 2011, 2014
  *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public License
@@ -37,4 +37,7 @@ public class TranslatedMessage extends Success {
     public String RESTString(){
 	return "<message>"+content+"</message>";	
     }
+    public String JSONString(){
+	return "{ \"type\" : \"TranslatedMessage\",\n  \"content\" : \""+content+"\"\n}";	
+    }
 }
diff --git a/src/fr/inrialpes/exmo/align/service/msg/UnknownAlignment.java b/src/fr/inrialpes/exmo/align/service/msg/UnknownAlignment.java
index 908db203..4323ff24 100644
--- a/src/fr/inrialpes/exmo/align/service/msg/UnknownAlignment.java
+++ b/src/fr/inrialpes/exmo/align/service/msg/UnknownAlignment.java
@@ -1,7 +1,7 @@
 /*
  * $Id$
  *
- * Copyright (C) INRIA, 2006-2009, 2011
+ * Copyright (C) INRIA, 2006-2009, 2011, 2014
  *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public License
@@ -36,4 +36,7 @@ public class UnknownAlignment extends ErrorMsg {
     public String HTMLString(){
 	return "Unknown alignment: "+content;
     }
+    public String JSONString(){
+	return "{ \"type\" : \"UnknownAlignment\",\n  \"content\" : \""+content+"\"\n}";	
+    }
 }
diff --git a/src/fr/inrialpes/exmo/align/service/msg/UnknownMethod.java b/src/fr/inrialpes/exmo/align/service/msg/UnknownMethod.java
index 431431dc..823d1575 100644
--- a/src/fr/inrialpes/exmo/align/service/msg/UnknownMethod.java
+++ b/src/fr/inrialpes/exmo/align/service/msg/UnknownMethod.java
@@ -1,7 +1,7 @@
 /*
  * $Id$
  *
- * Copyright (C) INRIA, 2006-2009, 2011
+ * Copyright (C) INRIA, 2006-2009, 2011, 2014
  *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public License
@@ -36,4 +36,7 @@ public class UnknownMethod extends ErrorMsg {
     public String RESTString() {
 	return "<UnknownMethod>"+content+"</UnknownMethod>";
     }
+    public String JSONString(){
+	return "{ \"type\" : \"UnknownMethod\",\n  \"content\" : \""+getContent()+"\"\n}";	
+    }
 }
diff --git a/src/fr/inrialpes/exmo/align/service/msg/UnreachableAlignment.java b/src/fr/inrialpes/exmo/align/service/msg/UnreachableAlignment.java
index d43cdb52..8080950e 100644
--- a/src/fr/inrialpes/exmo/align/service/msg/UnreachableAlignment.java
+++ b/src/fr/inrialpes/exmo/align/service/msg/UnreachableAlignment.java
@@ -1,7 +1,7 @@
 /*
  * $Id$
  *
- * Copyright (C) INRIA, 2006-2009, 2011
+ * Copyright (C) INRIA, 2006-2009, 2011, 2014
  *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public License
@@ -36,4 +36,7 @@ public class UnreachableAlignment extends ErrorMsg {
     public String HTMLString() {
 	return "Unreachable alignment: "+content;
     }
+    public String JSONString(){
+	return "{ \"type\" : \"UnreachableAlignment\",\n  \"content\" : \""+content+"\"\n}";	
+    }
 }
diff --git a/src/fr/inrialpes/exmo/align/service/msg/UnreachableOntology.java b/src/fr/inrialpes/exmo/align/service/msg/UnreachableOntology.java
index bbf1b750..2230ebba 100644
--- a/src/fr/inrialpes/exmo/align/service/msg/UnreachableOntology.java
+++ b/src/fr/inrialpes/exmo/align/service/msg/UnreachableOntology.java
@@ -1,7 +1,7 @@
 /*
  * $Id$
  *
- * Copyright (C) INRIA, 2006-2009, 2011
+ * Copyright (C) INRIA, 2006-2009, 2011, 2014
  *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public License
@@ -36,4 +36,7 @@ public class UnreachableOntology extends ErrorMsg {
     public String HTMLString() {
 	return "Unreachable ontology: "+content;
     }
+    public String JSONString(){
+	return "{ \"type\" : \"UnreachableOntology\",\n  \"content\" : \""+content+"\"\n}";	
+    }
 }
-- 
GitLab