public void chargerPaquetagePresentation() { this.print(Application.getApplication().getTraduction("Initialisation_chargement")); ZipInputStream zipFile = null; try { // verifier qu'il n'y ait que le fichier presentation.xml et non les autres zipFile = new ZipInputStream(new FileInputStream(new File(this.nomFic))); this.verifierPaquetage(zipFile); // récupérer un flux vers le fichier zip // revenir au début du flux pour un dernier parsing zipFile = new ZipInputStream(new FileInputStream(new File(this.nomFic))); chargerPresentation(zipFile); this.print("------------------------------------"); this.print(Application.getApplication().getTraduction("paquetage_succes")); } catch (FileNotFoundException e) { // ne devrait pas arriver this.traiterErreur(); ErrorManager.getInstance().display("ERR", "ERR_Fichier_Non_Trouve"); } catch (FichierException e) { String fic = e.getMessage(); this.traiterErreur(); if (!fic.equals("Presentation")) { ErrorManager.getInstance().display("ERR", "ERR_" + fic + "_Trouve"); } else { ErrorManager.getInstance().display("ERR", "ERR_" + fic + "_Pas_Trouve"); } } catch (ParserConfigurationException e) { e.printStackTrace(); this.traiterErreur(); ErrorManager.getInstance().displayError(e.getMessage()); } catch (SAXException e) { e.printStackTrace(); this.traiterErreur(); ErrorManager.getInstance().displayError(e.getMessage()); } catch (IOException e) { e.printStackTrace(); this.traiterErreur(); ErrorManager.getInstance().displayError(e.getMessage()); } }
/** * @param chemin * @return * @throws FichierException */ public String chercherNomPresentation(String projectZip) throws FichierException { boolean fini = false; this.presentationTrouve = false; ZipInputStream zipFile = null; try { // récupérer un flux vers le fichier zip zipFile = new ZipInputStream(new FileInputStream(new File(projectZip))); // Verifier qu'il s'agisse bien d'un paquetage de presentation this.verifierPaquetage(zipFile); zipFile.close(); zipFile = new ZipInputStream(new FileInputStream(new File(projectZip))); ZipEntry zipEntry = zipFile.getNextEntry(); while (zipEntry != null && !this.presentationTrouve) { DataInputStream data = new DataInputStream(new BufferedInputStream(zipFile)); if (zipEntry.getName().equals("Presentation.xml")) { this.presentationTrouve = true; SAXParserFactory factory = SAXParserFactory.newInstance(); SAXParser saxparser = factory.newSAXParser(); PaquetagePresentationHandler handler = new PaquetagePresentationHandler(); saxparser.parse(data, handler); } else { zipEntry = zipFile.getNextEntry(); } } zipFile.close(); fini = true; } catch (FichierException e) { String fic = e.getMessage(); this.traiterErreur(); if (!fic.equals("Presentation")) { ErrorManager.getInstance().display("ERR", "ERR_" + fic + "_Trouve"); } else { ErrorManager.getInstance().display("ERR", "ERR_" + fic + "_Pas_Trouve"); } } catch (FileNotFoundException e) { // ne devrait pas arriver this.presentationTrouve = false; this.traiterErreur(); ErrorManager.getInstance().display("ERR", "ERR_Fichier_Non_Trouve"); } catch (ParserConfigurationException e) { this.presentationTrouve = false; e.printStackTrace(); ErrorManager.getInstance().displayError(e.getMessage()); } catch (SAXException e) { this.presentationTrouve = false; e.printStackTrace(); ErrorManager.getInstance().displayError(e.getMessage()); } catch (IOException e) { this.presentationTrouve = false; e.printStackTrace(); ErrorManager.getInstance().displayError(e.getMessage()); } if (fini && !this.presentationTrouve) { // Afficher une erreur ErrorManager.getInstance().display("ERR", "ERR_Presentation_Pas_Trouve"); } return this.nomPresentation; }