private void chargerPresentation(ZipInputStream projectZip) throws ParserConfigurationException, SAXException, IOException, FichierException { ZipEntry zipEntry = projectZip.getNextEntry(); while (zipEntry != null && !this.presentationTrouve) { DataInputStream data = new DataInputStream(new BufferedInputStream(projectZip)); if (zipEntry.getName().equals("Presentation.xml")) { this.presentationTrouve = true; this.print(Application.getApplication().getTraduction("SAX_initialisation")); // preparation du parsing SAXParserFactory factory = SAXParserFactory.newInstance(); SAXParser saxparser = factory.newSAXParser(); this.print(Application.getApplication().getTraduction("presentation_parsing")); PresentationHandler handler = new PresentationHandler(); saxparser.parse(data, handler); this.print(Application.getApplication().getTraduction("Presentation_charge")); } else { zipEntry = projectZip.getNextEntry(); } } projectZip.close(); if (!this.presentationTrouve) { throw new FichierException("Presentation"); } }
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()); } }
public void setNomFusionAll(String nom) { nomFusion = nom; for (int i = 0; i < mapFProduits.size(); i++) ((FProduit) mapFProduits.get(vecteurLienFusion.get(i))) .getModele() .getId() .setNomElement(nom); Application.getApplication().getFenetrePrincipale().getVueDPArbre().invalidate(); }
public void recupererListe() { Vector listeProdEntree = new Vector(); Vector listeProdSortie = new Vector(); Vector listeComposants = new Vector(); DefinitionProcessus defProc = Application.getApplication().getProjet().getDefProc(); for (int i = 0; i < defProc.getListeComp().size(); i++) { IdObjetModele id = (IdObjetModele) defProc.getListeComp().elementAt(i); ComposantProcessus cp = (ComposantProcessus) id.getRef(); int nbInterfaceNonResolues = 0; Vector liens = cp.getLien(); // récupérer la liste des produits en entrée qui ne sont pas liés Vector produitEntree = cp.getProduitEntree(); for (int j = 0; j < produitEntree.size(); j++) { IdObjetModele idproduits = (IdObjetModele) produitEntree.elementAt(j); if (!this.estLie(idproduits, liens)) { listeProdEntree.addElement(idproduits); nbInterfaceNonResolues++; } } // récupérer la liste des produits en sortie qui ne sont pas liés Vector produitSortie = cp.getProduitSortie(); for (int j = 0; j < produitSortie.size(); j++) { IdObjetModele idproduits = (IdObjetModele) produitSortie.elementAt(j); if (!this.estLie(idproduits, liens)) { listeProdSortie.addElement(idproduits); nbInterfaceNonResolues++; } } if (nbInterfaceNonResolues != 0) { listeComposants.addElement(id); } } if (listeProdEntree.size() != 0 || listeProdSortie.size() != 0 || listeComposants.size() != 0) { // afficher le panneau de vérification Application.getApplication() .getFenetrePrincipale() .afficherPanneauVerification(listeProdEntree, listeProdSortie, listeComposants); } else { Application.getApplication().getFenetrePrincipale().getPanneauVerif().clearErrorArea(); JOptionPane.showMessageDialog( Application.getApplication().getFenetrePrincipale(), Application.getApplication().getTraduction("projet_valide"), Application.getApplication().getTraduction("Valider"), JOptionPane.INFORMATION_MESSAGE); } }
/** * Procédure de renommage du produit de fusion Appelle une boite de dialogue permettant de choisir * le nom */ public void renommer() { FenetreRenommerProduitFusion f = new FenetreRenommerProduitFusion(Application.getApplication().getFenetrePrincipale(), this); f.pack(); f.show(); }
/** * Exécuter la commande, ajouter au diagramme le composant et les interfaces en entrée et sortie * * @return true si la commande s'est bien exécutée */ public boolean executer() { FenetreEdition fenetre = Application.getApplication().getProjet().getFenetreEdition(); // déselectionner tous les éléments fenetre.getVueDPGraphe().clearSelection(); // vérifier que le composant n'est pas déjà présent dans le diagramme if (fenetre.getVueDPGraphe().contient(this.composant) != null) { ErrorManager.getInstance().display("ERR", "ERR_Composant_Present"); return false; } // Construire la vue associéé au composant MDComposantProcessus mdcomp = new MDComposantProcessus(((IdObjetModele) this.composant)); mdcomp.setY((int) this.point.getY()); mdcomp.setX((int) this.point.getX()); FComposantProcessus fcomp = new FComposantProcessus(mdcomp); fenetre.getVueDPGraphe().ajouterFigure(fcomp); fenetre.getVueDPGraphe().selectionneFigure(fcomp); // Récupération des produits en entrée du composant Vector prod_entree = ((ComposantProcessus) this.composant.getRef()).getProduitEntree(); for (int i = 0; i < prod_entree.size(); i++) { // Création de la vue associée au produit en entrée MDProduit mprod = new MDProduit((IdObjetModele) prod_entree.elementAt(i)); mprod.setX((int) this.point.getX() - 100 - mprod.getLargeur()); mprod.setY((int) this.point.getY() + (i * (mprod.getHauteur() + 30))); FProduit fprod = new FProduit(mprod); fenetre.getVueDPGraphe().ajouterFigure(fprod); fenetre.getVueDPGraphe().selectionneFigure(fprod); // Liaison du produit avec le composant CLierInterface c = new CLierInterface( fenetre.getVueDPGraphe(), new FLienInterface(new MDLienDotted()), fprod, fcomp, new Vector()); c.executer(); } // Récupération des produits en sortie du composant Vector prod_sortie = ((ComposantProcessus) this.composant.getRef()).getProduitSortie(); for (int i = 0; i < prod_sortie.size(); i++) { // Création de la vue associée au produit en sortie MDProduit mprod = new MDProduit((IdObjetModele) prod_sortie.elementAt(i)); mprod.setX((int) this.point.getX() + mdcomp.getLargeur() + 100); mprod.setY((int) this.point.getY() + (i * (mprod.getHauteur() + 30))); FProduit fprod = new FProduit(mprod); fenetre.getVueDPGraphe().ajouterFigure(fprod); fenetre.getVueDPGraphe().selectionneFigure(fprod); // Liaison du produit avec le composant CLierInterface c = new CLierInterface( fenetre.getVueDPGraphe(), new FLienInterface(new MDLienDotted()), fcomp, fprod, new Vector()); c.executer(); } return (true); }