diff --git a/src/fr/inrialpes/exmo/align/service/CacheImpl.java b/src/fr/inrialpes/exmo/align/service/CacheImpl.java index 08dbd66762f4666a844e7cb5bb95dd5384177075..2d4183b6478fb311af5bf8edf394c1bde77b439b 100644 --- a/src/fr/inrialpes/exmo/align/service/CacheImpl.java +++ b/src/fr/inrialpes/exmo/align/service/CacheImpl.java @@ -570,11 +570,19 @@ public class CacheImpl { public void unstoreAlignment( String id, Alignment alignment ) throws SQLException, AlignmentException { Statement st = createStatement(); - String query = "DELETE FROM extension WHERE id='"+id+"'"; + String query = null; + for ( Cell c : alignment ) { + String cellid = c.getId(); + if ( cellid != null && !cellid.equals("") ) { + query = "DELETE FROM extension WHERE id='"+cellid+"'"; + st.executeUpdate(query); + } + } + query = "DELETE FROM cell WHERE id='"+id+"'"; st.executeUpdate(query); - query = "DELETE FROM alignment WHERE id='"+id+"'"; + query = "DELETE FROM extension WHERE id='"+id+"'"; st.executeUpdate(query); - query = "DELETE FROM cell WHERE id='"+id+"'"; + query = "DELETE FROM alignment WHERE id='"+id+"'"; st.executeUpdate(query); alignment.setExtension( SVCNS, STORED, (String)null); st.close(); @@ -653,8 +661,7 @@ public class CacheImpl { st.executeUpdate(query); } if ( cellid != null && !cellid.equals("") && c.getExtensions() != null ) { - // JE: I must now store all the extensions - // JE:EXT + // Store extensions for ( String[] ext : c.getExtensions() ) { String uri = ext[0]; String tag = ext[1]; diff --git a/src/fr/inrialpes/exmo/align/service/HTMLAServProfile.java b/src/fr/inrialpes/exmo/align/service/HTMLAServProfile.java index 1ce3bf8049f50fa3f558d397ac95f380aae85ebd..0bac60f043b897ef76baa5a66339cff6d38dbac3 100644 --- a/src/fr/inrialpes/exmo/align/service/HTMLAServProfile.java +++ b/src/fr/inrialpes/exmo/align/service/HTMLAServProfile.java @@ -492,7 +492,7 @@ public class HTMLAServProfile implements AlignmentServiceProfile { //System.err.println("HTML["+perf+"]"); // REST get String msg = ""; - if ( perf.equals("listalignments") ){ + if ( perf.equals("listalignments") ) { msg = "<h1>Available alignments</h1><ul compact=\"1\">"; for ( Alignment al : manager.alignments() ) { String id = al.getExtension( Namespace.ALIGNMENT.uri, Annotations.ID ); @@ -501,7 +501,7 @@ public class HTMLAServProfile implements AlignmentServiceProfile { msg += "<li><a href=\"../html/retrieve?method=fr.inrialpes.exmo.align.impl.renderer.HTMLRendererVisitor&id="+id+"\">"+pid+"</a></li>"; } msg += "</ul>"; - } if ( perf.equals("manalignments") ){ // Manage ailignments + } else if ( perf.equals("manalignments") ){ // Manage ailignments msg = "<h1>Available alignments</h1><ul compact=\"1\">"; for ( Alignment al : manager.alignments() ) { String id = al.getExtension( Namespace.ALIGNMENT.uri, Annotations.ID ); @@ -510,7 +510,7 @@ public class HTMLAServProfile implements AlignmentServiceProfile { msg += "<li><a href=\"../html/retrieve?method=fr.inrialpes.exmo.align.impl.renderer.HTMLRendererVisitor&id="+id+"\">"+pid+"</a> "+al.nbCells()+" <a href=\"../html/errrazze?id="+id+"\">DEL</a></li>"; } msg += "</ul>"; - } if ( perf.equals("errrazze") ){ // Suppress an alignment + } else if ( perf.equals("errrazze") ){ // Suppress an alignment String id = params.getProperty("id"); if ( id != null && !id.equals("") ) { // Erase it Message answer = manager.erase( new Message(newId(),(Message)null,myId,serverId,id, params) );