IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

XML/XSL et SOAP Discussion :

SCXML TO XPDL how to?


Sujet :

XML/XSL et SOAP

  1. #1
    Membre averti
    Inscrit en
    Septembre 2010
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 16
    Par défaut SCXML TO XPDL how to?
    Bonjour je suis un élève ingénieur en dernière année et j'ai comme sujet pour mon stage PFE, conversion d'un fichier scxml vers xpdl et modification graphique du workflow et vice versa
    j'ai cherché partout mais je nai trouvé aucune solution de conversion de scxml vers xpdl ou linverse
    quelle est la meilleure solution que vous me conseillez de choisir
    merci pour votre attention

  2. #2
    Membre Expert
    Avatar de Mickael_Istria
    Homme Profil pro
    Développeur Expert Eclipse IDE/RCP, pour Red Hat
    Inscrit en
    Juillet 2008
    Messages
    1 479
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Expert Eclipse IDE/RCP, pour Red Hat
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 479
    Par défaut
    Salut,

    Bon en tant que développeur Eclipse, je vais te conseiller d'utiliser EMF et les outils XSD2Ecore.
    Comme tu as les XSD disponibles, tu peux générer le Ecore et les classes Java pour ces schémas en quelques clics, et alors tu pourras soit faire ta transformation en simple Java, ou alors utiliser une techno de transfo de modele a modele telle que QVT ou ATL.

    Le gros avantage de passer par EMF c'est qu'il va s'occuper pour toi du parsing et de la sérialization des fichiers, ce qui fait déja bien plaisir!

    PS: petit cadeau, si tu veux, on a déja le code correspondant au XPDL.

  3. #3
    Membre averti
    Inscrit en
    Septembre 2010
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 16
    Par défaut Merci
    Merci Mr, pour votre réponse en fait mon projet c'est de créer un éditeur graphique de workflow donc la première phase c'est de parser mon xml et après de représenter le workflow et de le modifier . donc je vais essayer de parser mes scxm et de les representer
    je vous remercie bcp

  4. #4
    Membre Expert
    Avatar de Mickael_Istria
    Homme Profil pro
    Développeur Expert Eclipse IDE/RCP, pour Red Hat
    Inscrit en
    Juillet 2008
    Messages
    1 479
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Expert Eclipse IDE/RCP, pour Red Hat
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 479
    Par défaut
    Du coup, si tu veux créer un éditeur graphique, il y a aussi un projet Eclipse pour ca. C'est GMF. En une demie-journée, tu auras déja une premiere version minimale de ton éditeur avec parsing et sérialization offerts par EMF donc, et la partie diagramme générée par GMF.

    Et niveau éditeur de workflow, tu as déja pas mal de trucs fait avec lesquels tu pourrais assez facilement intéragir, peut-etre feront-ils l'affaire:
    * L'éditeur BPMN d'Eclipse
    * JWT

    Et si tu veux, tu peux aussi jeter un oeil ou récupérer du code source de Bonita Studio.

  5. #5
    Membre averti
    Inscrit en
    Septembre 2010
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 16
    Par défaut Urgent
    je cherches dans lu plugin emf de eclipse la classe ou je pourrais ajouter lextension *.workflow j'ai cherché la classe xmlsource mais je lai pas trouvé le plugin est org.eclipse.wst.xml.core
    j'ai passé tout le weekend et je n'ai pas trouvé ou et comment svp je suis bloqué et ça m'énerve trop

  6. #6
    Membre Expert
    Avatar de Mickael_Istria
    Homme Profil pro
    Développeur Expert Eclipse IDE/RCP, pour Red Hat
    Inscrit en
    Juillet 2008
    Messages
    1 479
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Expert Eclipse IDE/RCP, pour Red Hat
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 479
    Par défaut
    Il ne s'agit pas juste d'ajouter .workflow dans une classe.
    Tu dois prendre les XSD, générer les metamodels ecore a partir des XSD (New > EMF Project). La Eclipse te génere des plugins avec tout ce qu'il faut pour que tu puisses utiliser EMF pour tes fichiers.

  7. #7
    Membre averti
    Inscrit en
    Septembre 2010
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 16
    Par défaut merci Mr
    j'ai déjà généré les model et ecore mais pour que je puisse faire la synchronisation entre l'éditeur du texte où il ya le xml et le model je devrais ajouter cette extension voila j'ai essayé et maintenant quand j'execute j'ai une erreur affichée java.lang.NullPointerException et modele workflow "problems encountered"
    merci beaucoup Mr pour votre aide

  8. #8
    Membre averti
    Inscrit en
    Septembre 2010
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 16
    Par défaut Unable to cast
    j'ai un une interface scxml type et j'ai cette méthode

    protected ScxmlType getScxml() {
    EditingDomain editingDomain = ((IEditingDomainProvider) parent)
    .getEditingDomain();
    Resource resource = editingDomain.getResourceSet().getResources()
    .get(0);
    return (ScxmlType) resource.getContents().get(0);

    /ScxmlType est une interface et resource.getcontent-s().get(0) est un objet
    mais je voudrais bien caster ce dernier en ScxmlType.
    Comment puis je le faire svp

  9. #9
    Membre Expert
    Avatar de Mickael_Istria
    Homme Profil pro
    Développeur Expert Eclipse IDE/RCP, pour Red Hat
    Inscrit en
    Juillet 2008
    Messages
    1 479
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Expert Eclipse IDE/RCP, pour Red Hat
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 479
    Par défaut
    Si tu veux de l'aide, il va falloir donner davantage de détails.
    Qu'est-ce qui est null, a quelle ligne, comment tu executes ton code...?

  10. #10
    Membre averti
    Inscrit en
    Septembre 2010
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 16
    Par défaut Merci
    Voila je suis en train de créer un plugin eclipse et je suis arrivé à la phase de GEF et GMF j'ai crée une classe Editeur Grapghique:
    public class EditeurGraphique extends GraphicalEditorWithFlyoutPalette

    {
    private IEditorPart parent;

    public EditeurGraphique(IEditorPart parent) {

    super.setEditDomain(new DefaultEditDomain(this));
    this.parent = parent;
    }

    @Override
    protected void configureGraphicalViewer() {
    super.configureGraphicalViewer();

    GraphicalViewer viewer = getGraphicalViewer();
    viewer.setEditPartFactory(ScxmlPartFactory.INSTANCE);

    }

    @Override
    protected void initializeGraphicalViewer() {
    super.initializeGraphicalViewer();

    GraphicalViewer viewer = getGraphicalViewer();

    //viewer.setContents(this.getScxml()); // set the contents of this
    // editor
    }
    protected ScxmlType getScxml() {
    EditingDomain editingDomain = ((IEditingDomainProvider) parent)
    .getEditingDomain();
    Resource resource = editingDomain.getResourceSet().getResources()
    .get(0);
    return (ScxmlType) (resource.getContents().get(0));
    }

    @Override
    protected PaletteRoot getPaletteRoot() {
    return null;
    }

    @Override
    public void doSave(IProgressMonitor monitor) {

    }

    }
    et aprés une autre classe ScxmlTypeFigure(ce code permettra d'afficher une bordure)package org.w3._2005._07.scxml.presentation.figures;

    import org.eclipse.draw2d.ColorConstants;
    import org.eclipse.draw2d.Figure;
    import org.eclipse.draw2d.LineBorder;

    public class ScxmlTypeFigure extends Figure
    {

    public ScxmlTypeFigure()
    {
    super.setBorder(new LineBorder(ColorConstants.blue, 2));
    }

    }
    et une autre classe ScxmlPart
    public class ScxmlPartFactory implements EditPartFactory
    {
    public static final EditPartFactory INSTANCE = new ScxmlPartFactory();

    public EditPart createEditPart(EditPart context, Object modelElement) {
    // get EditPart for model element
    EditPart part = getPartForElement(modelElement);
    // store model element in EditPart
    part.setModel(modelElement);
    return part;
    }
    private EditPart getPartForElement(Object modelElement) {
    if (modelElement instanceof ScxmlType) {
    return new ScxmlTypePart();
    }
    throw new RuntimeException("Erreur de création de part Model: "
    + ((modelElement != null) ? modelElement.getClass().getName()
    : "null"));
    }

    }
    et une autre ScxmlTypePart

    public class ScxmlTypePart extends AbstractGraphicalEditPart
    {@Override
    protected IFigure createFigure() {
    return new ScxmlTypeFigure();
    }

    @Override
    protected void createEditPolicies() {

    le probleme ce que quand je veux récupérer l'instance EMF du multi-part ScxmlEditor et le renseigner au GraphicalViewer comme suit :


    @Override
    protected void initializeGraphicalViewer() {
    super.initializeGraphicalViewer();
    GraphicalViewer viewer = getGraphicalViewer();
    viewer.setContents(this.getScxml()); // set the contents of this
    }
    protected ScxmlType getScxml() {
    EditingDomain editingDomain = ((IEditingDomainProvider) parent)
    .getEditingDomain();
    Resource resource = editingDomain.getResourceSet().getResources()
    .get(0);
    return (ScxmlType) (resource.getContents().get(0));
    }
    une erreur s'afficher que je ne peux pas caster scxmlType

  11. #11
    Membre Expert
    Avatar de Mickael_Istria
    Homme Profil pro
    Développeur Expert Eclipse IDE/RCP, pour Red Hat
    Inscrit en
    Juillet 2008
    Messages
    1 479
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Expert Eclipse IDE/RCP, pour Red Hat
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 479
    Par défaut
    Si tu veux récupérer ton modele sémantique a partir de l'éditeur, essaye le code suivant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    ScxmlEditor editor = ...;
    EObject roolElement = editor.getDiagramEditPart().resolveSemanticElement();
    return (Scxml) rootElement;

  12. #12
    Membre averti
    Inscrit en
    Septembre 2010
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 16
    Par défaut merci
    j'i modifié la méthode getScxml()
    ScxmlEditor editor = new ScxmlEditor();
    EObject rootElement = editor.getDiagramEditPart().resolveSemanticElement();
    return (ScxmlType) rootElement;
    et voilç j'ai un pb pr getDiagramEditPart() ca nexiste pas

  13. #13
    Membre Expert
    Avatar de Mickael_Istria
    Homme Profil pro
    Développeur Expert Eclipse IDE/RCP, pour Red Hat
    Inscrit en
    Juillet 2008
    Messages
    1 479
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Expert Eclipse IDE/RCP, pour Red Hat
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 479
    Par défaut
    Il crash au runtime, ou juste tu l'as pas dans la complétion?
    Si c'est dans la complétion, c'est qu'il te manque des dépendances dans ton Manifest, du genre org.eclipse.gmf.runtime.editor ou un truc du genre.

Discussions similaires

  1. Demande d'aide sur XPDL (XML Process Definition Language)
    Par Bebert71 dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 17/02/2006, 09h23
  2. SetStreamSource - plusieurs stream paralelles how to ?
    Par Omeyocan dans le forum DirectX
    Réponses: 13
    Dernier message: 04/01/2006, 14h41
  3. Réponses: 3
    Dernier message: 28/10/2003, 14h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo