/** * Devuelve la lista de ficheros de paletas, en caso de que no exista la paleta y se especifique * forceCreate a true, se creara la paleta por defecto. * * @param palettesBasePath * @param forceCreate * @return */ public static ArrayList getPaletteFileList(String palettesBasePath, boolean forceCreate) { ArrayList fileList = getPaletteFileListDisc(palettesBasePath); if (forceCreate && (fileList.size() == 0)) { ColorTableLibraryPersistence persistence = new ColorTableLibraryPersistence(); createVersionFromXML(palettesBasePath, persistence.getDefaultPaletteXML()); fileList = getPaletteFileListDisc(palettesBasePath); } return fileList; }
/** * Si existe la version de paleta 1.1, no lo actualizará, en caso contrario, buscara la version * 1.0 y si lo encuentra lo subirá a la 1.1 * * @param palettesPath */ public static void updateVersion_1_0_to_1_1(String palettesBasePath) { // Si no existe la paleta antigua, pero si que existe la copia de seguridad, // la restauramos File palettesFile = new File( new File(palettesBasePath).getParent().toString() + File.separator + "palettes.xml"); if (!palettesFile.exists()) { // Cambiar nombre a antiguo fichero File oldFile = new File( new File(palettesBasePath).getParent().toString() + File.separator + "palettes.xml~"); if (oldFile.exists()) { oldFile.renameTo( new File( new File(palettesBasePath).getParent().toString() + File.separator + "palettes.xml")); } else { ColorTableLibraryPersistence ctlp = new ColorTableLibraryPersistence(); String text = ctlp.getDefaultPaletteXML(); palettesFile = new File( new File(palettesBasePath).getParent().toString() + File.separator + "palettes.xml"); try { FileWriter writer = new FileWriter(palettesFile); writer.write(text); writer.close(); } catch (IOException e) { } } } // Si existe el directorio de la version 1.1 no hacemos la migración File directoryFile = new File(palettesBasePath); if (directoryFile.exists()) return; // Si no encontramos la paleta antigua, nos olvidamos de continuar palettesFile = new File( new File(palettesBasePath).getParent().toString() + File.separator + "palettes.xml"); if (!palettesFile.exists()) return; // Paleta antigua encontrada, podemos migrar a la versión nueva try { FileInputStream inputStream = new FileInputStream(palettesFile); StringBuffer contents = new StringBuffer(); try { int i; while (true) { i = inputStream.read(); if (i == -1) break; char c = (char) i; contents.append(c); } } catch (IOException e) { e.printStackTrace(); } createVersionFromXML(palettesBasePath, contents.toString()); inputStream.close(); } catch (FileNotFoundException fnfEx) { fnfEx.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } }