cours0708/G54/Rendu/G54/IHM/IHM_Acteur.java

321 lines
13 KiB
Java

//
//
// Generated by StarUML(tm) Java Add-In
//
// @ Project : Untitled
// @ File Name : IHM_Acteur.java
// @ Date : 20/01/2008
// @ Author :
//
//
package IHM;
import Documents.Element;
import java.io.*;
public class IHM_Acteur {
public Gestion.Fabrique gestionnaire = Gestion.Fabrique.getInstance();
public void AfficherDoc() {
int ref = 0;
System.out.println("Entrez le numero du document à afficher:");
BufferedReader bfr = new BufferedReader(new InputStreamReader(System.in));
try {ref = new Integer(bfr.readLine());}
catch(IOException e) {e.printStackTrace();}
try{
Documents.Section doc = (Documents.Section) gestionnaire.getElement(ref);
System.out.println(doc.afficherFils());}
catch(IndexOutOfBoundsException e) {System.out.println("Element inexistant!");}
}
public Documents.Element getDocument() {
int ref = 0;
System.out.println("Entrez le numero du document:");
BufferedReader bfr = new BufferedReader(new InputStreamReader(System.in));
try {ref = new Integer(bfr.readLine());}
catch(IOException e) {e.printStackTrace();}
try{return gestionnaire.getElement(ref);}
catch(IndexOutOfBoundsException e) {System.out.println("Element inexistant!");}
return null;
}
public void listeDocuments() {
for(int j = 0;j<30;j++)
{System.out.println("");}
for(int i = 1; i < gestionnaire.documents.size();i++)
{
Element e = gestionnaire.getElement(i);
if(e instanceof Documents.Section)
{
if(e.getNiveau() == 0)
System.out.println(e.afficher());
}
}
try{new BufferedReader(new InputStreamReader(System.in)).readLine();}
catch(IOException e) {}
}
public void noter() {
int ref = 0;
System.out.println("Entrez le numero du document à noter:");
BufferedReader bfr = new BufferedReader(new InputStreamReader(System.in));
try {ref = new Integer(bfr.readLine());}
catch(IOException e) {e.printStackTrace();}
try{
Element el = gestionnaire.getElement(ref);
System.out.println("Entrez la note:");
try {int note = new Integer(bfr.readLine());
el.setCoeff(note);
}
catch(IOException e) {System.out.println("La note entrée n'est pas correcte!");}
}
catch(IndexOutOfBoundsException e) {System.out.println("Element inexistant!");
}
}
public void annoter() {
int ref = 0;
System.out.println("Entrez le numero du document à noter:");
BufferedReader bfr = new BufferedReader(new InputStreamReader(System.in));
try {ref = new Integer(bfr.readLine());}
catch(IOException e) {e.printStackTrace();}
try{
Element el = gestionnaire.getElement(ref);
System.out.println("Entrez l'annotation:");
try {
String annot = bfr.readLine();
el.setAnnotation(annot);
}
catch(IOException e) {System.out.println("Entrée incorrecte!");}
}
catch(IndexOutOfBoundsException e) {System.out.println("Element inexistant!");
}
}
public void creerDocument() {
System.out.println("Entrez le titre du document :");
BufferedReader bfr = new BufferedReader(new InputStreamReader(System.in));
String titre="";
try {
/** Lecture d'une ligne : */
titre = bfr.readLine();
this.gestionnaire.CreateElem(titre);
} catch( IOException e ) {System.out.println("Titre incorrect");}
}
public void supprimerDocument() {
Documents.Element el = this.getDocument();
System.out.println("Selectionnez le document cible ****");
Documents.Element cbl = this.getDocument();
if(cbl instanceof Documents.Section)
{
Documents.Section sec = (Documents.Section) cbl;
sec.addElement(el);
el.Conteneur.removeElement(el);
}
else
{
System.out.println("L'element cible n'est pas une section");
}
}
public int identifier() {
int rep = 1;
System.out.println("Pour vous logguer en tant que redacteur, entrez votre code de 3 lettres:");
BufferedReader bfr = new BufferedReader(new InputStreamReader(System.in));
String code="";
try {
/** Lecture d'une ligne : */
code = bfr.readLine();
} catch( IOException e ) {e.printStackTrace();}
if(code.equals("RED"))
{rep = 2;}
else if (code.equals("FIN"))
{rep = 3;}
return rep;
}
public static void main(String[] args){
IHM_Acteur ihm = new IHM_Acteur();
jeuDeDonnees(ihm);
int type = ihm.identifier();
while(type != 3)
{
if(type == 1)
{ ihmLecteur(ihm);}
else
{ihmRedacteur(ihm);}
type= ihm.identifier();
}
}
public static void ihmLecteur(IHM_Acteur ihm)
{
String ligne = "";
BufferedReader bfr = new BufferedReader(new InputStreamReader(System.in));
while(!(ligne.equals("FIN")))
{
menuLec();
try {
System.out.println("Entrez votre choix: ");
ligne = bfr.readLine();
}catch( IOException e ) {e.printStackTrace();}
int choix = new Integer(ligne);
switch(choix) {
case 1: ihm.listeDocuments(); break;
case 2: ihm.AfficherDoc(); break;
case 3: ihm.annoter(); break;
case 4: ihm.noter(); break;
case 5: ligne = "FIN"; break;
}
}
}
public void creerElement(IHM_Acteur ihm)
{
String ligne ="";
BufferedReader bfr = new BufferedReader(new InputStreamReader(System.in));
menuElem();
try {
System.out.println("Entrez votre choix: ");
ligne = bfr.readLine();
}catch( IOException e ) {e.printStackTrace();}
int choix = new Integer(ligne);
switch(choix) {
case 1: ihm.listeDocuments(); break;
case 2: ihm.creerSection(); break;
case 3: ihm.creerTexte(); break;
case 4: ihm.creerImage(); break;
case 5: ligne = "FIN"; break;
}
}
public static void ihmRedacteur(IHM_Acteur ihm)
{
String ligne = "";
BufferedReader bfr = new BufferedReader(new InputStreamReader(System.in));
while(!ligne.equals("FIN"))
{
menuRed();
try {
System.out.println("Entrez votre choix:");
ligne = bfr.readLine();
int choix = new Integer(ligne);
switch(choix) {
case 1: ihm.listeDocuments(); break;
case 2: ihm.AfficherDoc(); break;
case 3: ihm.creerDocument(); break;
case 4: ihm.creerElement(ihm); break;
case 5: ihm.supprimerDocument(); break;
case 6: ligne = "FIN"; break;
}
}catch( IOException e ) {e.printStackTrace();}
}
}
public void creerSection() {
Documents.Section el = (Documents.Section) this.getDocument();
System.out.println("Entrez le titre de la section à ajouter:");
BufferedReader bfr = new BufferedReader(new InputStreamReader(System.in));
try{String titre = bfr.readLine();
Documents.Section sec= this.gestionnaire.CreateElem(titre);
if(sec == null)
{return;}
el.addElement(sec);}
catch(IOException e) {System.out.println("Pas bien!");}
}
public void creerTexte() {
Documents.Section el = (Documents.Section) this.getDocument();
System.out.println("Entrez l'auteur du texte:");
BufferedReader bfr = new BufferedReader(new InputStreamReader(System.in));
try{String auteur = bfr.readLine();
System.out.println("Saisissez le texte:");
String texte = bfr.readLine();
Documents.Texte txt= this.gestionnaire.CreateElem(texte, auteur);
if(txt == null)
{return;}
el.addElement(txt);}
catch(IOException e) {System.out.println("Pas bien!");}
}
public void creerImage() {
Documents.Section el = (Documents.Section) this.getDocument();
System.out.println("Entrez la legende de l'image:");
BufferedReader bfr = new BufferedReader(new InputStreamReader(System.in));
try{String legende = bfr.readLine();
System.out.println("Saisissez la hauteur:");
String hauteur = bfr.readLine();
String largeur = bfr.readLine();
Documents.Figure img= this.gestionnaire.CreateElem(new Integer(hauteur),new Integer(largeur), legende);
if(img == null)
{return;}
el.addElement(img);}
catch(IOException e) {System.out.println("Pas bien!");}
catch(NumberFormatException nfe) {System.out.println("Faut ecrire des chiffres hein...");}
}
public static void menuLec() {
System.out.println("1: Lister les documents");
System.out.println("2: Afficher un document");
System.out.println("3: Annoter un document");
System.out.println("4: Noter un document");
System.out.println("5: Se déconnecter");
}
public static void menuRed() {
System.out.println("1: Lister les documents");
System.out.println("2: Afficher un document");
System.out.println("3: Créer un document");
System.out.println("4: Créer un element et l'ajouter");
System.out.println("5: Deplacer un element");
System.out.println("6: Se déconnecter");
}
public static void menuElem() {
System.out.println("1: Lister les documents");
System.out.println("2: Créer et ajouter une section");
System.out.println("3: Créer et ajouter un texte");
System.out.println("4: Créer et ajouter une image");
System.out.println("5: Revenir au menu");
}
/**
**/
public static void jeuDeDonnees(IHM_Acteur ihm){
/* Creation du document */
Documents.Section el = ihm.gestionnaire.CreateElem("Chasse à la mouche");
/* Creation d'une section */
Documents.Section el2 = ihm.gestionnaire.CreateElem("Chapitre 1");
el.addElement(el2);
/* Ajout de texte */
el2.addElement(ihm.gestionnaire.CreateElem("Prenez un morceau de tissu vaudoux fraîchement récupéré d'un cadavre.","DOSSMANN"));
/* Ajout d'image */
el2.addElement(ihm.gestionnaire.CreateElem(150,150,"Image d'un cadavre vaudoux"));
Documents.Section el3 = ihm.gestionnaire.CreateElem("Chapitre 2");
el.addElement(el3);
el3.addElement(ihm.gestionnaire.CreateElem("Trouvez une mouche"));
Documents.Section el4 = ihm.gestionnaire.CreateElem("Chapitre 3");
el.addElement(el4);
el4.addElement(ihm.gestionnaire.CreateElem("Lancez le tissu vaudoux au dessus de la mouche et patientez que la mouche vienne se loger dans le tissu, après quoi le tissu prend pleine possession de ladite mouche.","LEVAL"));
/* Création d'un autre document */
Documents.Section doc = ihm.gestionnaire.CreateElem("Javana Split");
Documents.Section doc2 = ihm.gestionnaire.CreateElem("Chapitre 1");
doc.addElement(doc2);
doc2.addElement(ihm.gestionnaire.CreateElem("Faites une application Java, lancez, cela plante ! Beau Javana Split que nous avons là !","DIVOUX"));
}
}