Ejemplo: escribir un fragmento Alemán para el conector XYZ

Los asistentes y editores del PDE que manipulan conectores y fragmentos son prácticamente idénticos.  Sin embargo, deben tenerse en cuenta algunas diferencias importantes.

Empezaremos por crear un proyecto de fragmento nuevo.  

En la primera página del asistente Fragmento nuevo, escriba el nombre de proyecto "com.example.german."  Pulse Siguiente y dé por buenos los valores por omisión de la segunda página.  (Vuelva a pulsar Siguiente).  En la página "Generadores de código de fragmentos", elija el botón de selección para crear un fragmento a partir de una plantilla y seleccione el asistente "Generador de fragmentos por omisión".  Después de pulsar Siguiente, debería ver la página "Contenido de un fragmento sencillo".

Esta página parece algo distinta del asistente del conector porque tiene dos campos adicionales: id del conector de destino y versión. Como estamos escribiendo un fragmento para un conector concreto, podemos utilizar el botón Examinar para seleccionar el "conector XYZ" del grupo "Conectores del área de trabajo" (también podemos elegir cualquier conector externo).

En cuanto se crea el proyecto, se abre el editor de manifiestos de fragmentos.

Es casi idéntico al editor de manifiestos de conectores, con las excepciones siguientes:

  1. En la página Visión general, el atributo "class" ha desaparecido.  Los fragmentos no tienen una clase de conector puesto que siguen el ciclo de vida de su conector de destino.  En cambio, pueden verse los campos id del conector de destino y versión.

  2. La página Dependencias no existe.  Si se selecciona el proyecto de fragmento y se elige Propiedades->Crear vía de acceso verá que el fragmento tiene la misma vía de acceso de construcción que el conector de destino.

Añadiremos un conjunto de acciones similar a las del ejemplo del conector, pero esta vez en alemán.

  1. Vaya a la  página Extensiones del editor de manifiestos de fragmentos. Pulse Nuevo para lanzar el asistente Extensión.
  2. Seleccione "Asistentes genéricos" y "Ampliación basada en esquema". Pulse Siguiente
  3. Seleccione "Conjuntos de acciones" de la lista de puntos de extensión. Pulse Finalizar.
  4. Seleccione el conjunto de acciones nuevo. Seleccione Nuevo->actionSet del menú emergente.
  5. Vaya a la hoja de propiedades y cambie la propiedad label por "Deutsche Aktionsmenge."
  6. Vaya a la sección "Hijos de elemento de ampliación" y seleccione Nuevo->menú del menú emergente.
  7. Modifique la propiedad label del menú por "Beispiel Menu" y la propiedad id por "beispielMenu."
  8. Vuelva a seleccionar el elemento de menú y elija Nuevo->separator del menú emergente. Cambie el nombre de las propiedades por "beispielGruppe" y guárdelo.
  9. Cree un elemento "action" nuevo (como en el paso 6). Establezca la propiedad label a "Beispiel Aktion." Establezca menubarPath a "beispielMenu/beispielGruppe."
  10. Seleccione la propiedad class para editarla y aparecerá el cuadro de diálogo del editor de celdas. Seleccione el botón de selección "Generar una clase nueva".
  11. Examine el contenedor de clases y seleccione la carpeta "Fragmento ALEMÁN" del proyecto "com.example.german".
  12. Cambie el nombre de clase por "DeutscheBeispielAktion". Pulse Finalizar.
  13. Cuando se abra el editor de Java con la clase nueva, busque el método "run" y añada:

System.out.println("Hallo, PDE welt!");

Guarde el contenido de los editores de Java y de manifiestos de fragmentos y ciérrelos.

Cuando se ejecute el fragmento utilizando el botón "Ejecutar" de la barra de herramientas, la instancia de la plataforma de ejecución debería tener disponible el conjunto de acciones "Deutsche Aktionsmenge".  (Utilice Perspectiva->Personalizar...->Otros para obtener la lista de conjuntos de acciones). Al activar el conjunto de acciones, debería aparecer en la barra de herramientas el menú "Beispiel Menu". Al seleccionar la opción del menú, debería verse "Hallo, PDE welt!" en la consola. La plataforma de ejecución no ve directamente el fragmento Alemán. En cambio, su registro de conectores ha determinado las referencias a fragmentos de forma que el conjunto de acciones del fragmento le parece a la plataforma que procede directamente del conector XYZ.