X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/mapping.git/blobdiff_plain/2d2cf77d20dc176ca8fff6cb7993b2bf569d89f7..23387ed9d46023e630c4e061a68fcb90cc17e52a:/src/and/Mapping/Utils.java diff --git a/src/and/Mapping/Utils.java b/src/and/Mapping/Utils.java index ff2393a..a5ec4d2 100644 --- a/src/and/Mapping/Utils.java +++ b/src/and/Mapping/Utils.java @@ -279,6 +279,57 @@ public class Utils } + /** + * Write a mapping done in a file. + * @param _mp The mapping done to be write + * @param _path File's path + * @param _file File's name + */ + public static void writeMapping( Mapping _mp, String _path, String _file ) + { + if( _file.equals( "" ) ) + { + System.err.println( "No file's name !\n" ) ; + return ; + } + + if ( ! _file.endsWith( ".xml" ) ) + { + _file = _file + ".xml"; // On ajoute l'extension xml au nom du fichier + } + + if( ! _file.equals( "" ) ) + { + String path = "" ; + + if( _path.length() != 0 ) + { + path = _path+"/"+_file ; + } else { + path = new String( "./" + _file ) ; + } + + XStream xstream = new XStream( new DomDriver() ) ; + + String xml = xstream.toXML( _mp ) ; + + PrintWriter ecrivain = null ; + + try { + ecrivain = new PrintWriter( new OutputStreamWriter( new FileOutputStream( path ), "UTF8" ) ) ; + + ecrivain.println( "" ) ; + ecrivain.println( xml ) ; + + ecrivain.close() ; + } catch( Exception e ) { + System.err.println( "\nError during the write opération !\n" ) ; + e.printStackTrace() ; + } + } + } + + /** * Read an application Graph from a file. * @param _file File's name @@ -374,6 +425,54 @@ public class Utils return gr ; } + + /** + * Read a Mapping done from a file. + * @param _file File's name + * @param _path File's path + * @return The Mapping read + */ + public static Mapping readMapping( String _path, String _file ) + { + if ( _file.equals( "" ) ) + { + System.err.println( "No file's name !\n" ) ; + return null ; + } + + if ( ! _file.endsWith( ".xml" ) ) + { + _file = _file + ".xml"; // On ajoute l'extension xml au nom du fichier + } + + String path = "" ; + + if( _path.length() != 0 ) + { + path = _path+"/"+_file ; + } else { + path = new String( "./" + _file ) ; + } + + Mapping mp = null ; + + XStream xstream = new XStream( new DomDriver() ) ; + + try { + mp = (Mapping) xstream.fromXML( new FileInputStream( path ) ) ; + } catch( FileNotFoundException e ) { + System.err.println( "File not found !\n" ) ; + e.printStackTrace(); + return null ; + } catch( ClassCastException e ) { + System.err.println( "The file does not contain a valid Grid" ) ; + e.printStackTrace() ; + return null ; + } + + return mp ; + } + }