diff --git a/src/fr/inrialpes/exmo/align/service/CacheImpl.java b/src/fr/inrialpes/exmo/align/service/CacheImpl.java index e370d3802be3e0e886ef2d7bf0602a6fc9480424..1ab99398eae00568ff75d75ae519336a94b72d08 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 } }