From 05266f1836fa1b731ac92ae143aaa56311d87c56 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Euzenat?= <Jerome.Euzenat@inria.fr> Date: Mon, 4 Feb 2008 11:46:25 +0000 Subject: [PATCH] - added update database when going from 3.0 to 3.1 --- .../exmo/align/service/CacheImpl.java | 21 ++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/src/fr/inrialpes/exmo/align/service/CacheImpl.java b/src/fr/inrialpes/exmo/align/service/CacheImpl.java index e370d380..1ab99398 100644 --- a/src/fr/inrialpes/exmo/align/service/CacheImpl.java +++ b/src/fr/inrialpes/exmo/align/service/CacheImpl.java @@ -618,19 +618,26 @@ public class CacheImpl { ResultSet rse = (ResultSet) st.executeQuery("SELECT * FROM extension"); while ( rse.next() ){ String tag = rse.getString("tag"); - // Analyse into namespace and tag - // FOR THE MOMENT, THIS ERASES - st.executeUpdate("UPDATE extension SET tag='"+"' AND uri='"+"' WHERE id='"+rse.getString("id")+"' AND tag='"+tag+"'"); + if ( !tag.equals("") ){ + int pos = tag.lastIndexOf('#'); + String ns; + String name; + if ( pos != -1 ) { + ns = tag.substring( 0, pos ); + name = tag.substring( pos+1 ); + } else { + pos = tag.lastIndexOf('/'); + ns = tag.substring( 0, pos+1 ); + name = tag.substring( pos+1 ); + } + st.executeUpdate("UPDATE extension SET tag='"+name+"' AND uri='"+ns+"' WHERE id='"+rse.getString("id")+"' AND tag='"+tag+"'"); + } } // Change version st.executeUpdate("UPDATE server SET version='"+VERSION+"' WHERE port='port'"); } else { throw new AlignmentException("Database must be upgraded ("+version+" -> "+VERSION+")"); } - // In theory it is possible to: - // - fully load all the database - // - resetDatabase( false ); - // - completely save the database } } -- GitLab