Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "Gendoc/developerResources/architecture"

(List of processes)
(List of processes)
 
(10 intermediate revisions by one other user not shown)
Line 34: Line 34:
 
all of the declared services bellow can be overridden by a developer using the extension point '''org.eclipse.gendoc.services'''
 
all of the declared services bellow can be overridden by a developer using the extension point '''org.eclipse.gendoc.services'''
  
=== org.eclipse.gendoc.tags.handler ===
+
=== org.eclipse.gendoc.services ===
 +
 
 +
==== GendocDiagnostician ====
 +
* Information displayed to the user at the end of the process
 +
* interface : '''org.eclipse.gendoc.services.IGendocDiagnostician'''
 +
 
 +
==== Logger ====
 +
* log creation (error log for example)
 +
* interface : '''org.eclipse.gendoc.services.ILogger'''
 +
 
 +
==== ProgressMonitorService ====
 +
* a service to manage progress
 +
* interface : '''org.eclipse.gendoc.services.IProgressMonitorService'''
 +
 
 +
==== RegistryService ====
 +
* a map which can be used by developers to share data through services
 +
* interface : '''org.eclipse.gendoc.services.IRegistryService'''
 +
 
 +
==== BookmarkService ====
 +
* The service linked to '''bookmark''' tag
 +
* save all the bindings from the bookmark tag
 +
* interface : '''org.eclipse.gendoc.services.IBookmarkService'''
 +
 
 +
=== org.eclipse.gendoc.documents ===
 +
 
 +
==== DocumentManager ====
 +
* load template Document
 +
* interface : '''org.eclipse.gendoc.documents.IDocumentManager'''
 +
 
 +
==== DocumentService ====
 +
* main operations for document modifications
 +
* interface : '''org.eclipse.gendoc.documents.IDocumentService'''
 +
 
 +
==== IImageInfoServiceFactory ====
 +
* image information and transformations for specific formats
 +
* interface : '''org.eclipse.gendoc.documents.IImageManipulationServiceFactory'''
 +
 
 +
=== org.eclipse.gendoc.process ===
 +
 
 +
==== ProcessExtensionService ====
 +
* Manage the list of processes of the platorm
 +
* interface : '''org.eclipse.gendoc.process.IProcessExtensionService'''
 +
 
 +
=== org.eclipse.gendoc.tags ===
  
==== IConfigurationService ====  
+
==== ConfigurationService ====  
 
* The service linked to '''config''' tag
 
* The service linked to '''config''' tag
 
* information about : parameters, output path ...
 
* information about : parameters, output path ...
 +
* interface : '''org.eclipse.gendoc.tags.parsers.ITagParserService'''
  
==== IContextService ====
+
=== org.eclipse.gendoc.tags.parsers ===
 +
 
 +
==== TagExtensionService ====
 +
* information about registered tags through extension points
 +
* interface : '''org.eclipse.gendoc.tags.ITagExtensionService'''
 +
 
 +
=== org.eclipse.gendoc.tags.handler ===
 +
 
 +
==== TagParserService ====
 +
* transform text into tags
 +
* interface : '''org.eclipse.gendoc.tags.handlers.IConfigurationService'''
 +
 
 +
==== ContextService====
 
* the service linked to '''context''' tag
 
* the service linked to '''context''' tag
 
* information about : model path, context eobject, path to the eobject, the way to compute path ...
 
* information about : model path, context eobject, path to the eobject, the way to compute path ...
 +
* interface : '''org.eclipse.gendoc.tags.handlers.IContextService'''
  
==== IPropertiesService ====
+
==== PropertiesService====
 
* the service linked to '''properties''' tag
 
* the service linked to '''properties''' tag
 
* load a file to register parameters
 
* load a file to register parameters
 +
* interface : '''org.eclipse.gendoc.tags.handlers.IPropertiesService'''
  
==== ITagHandlerService ====
+
==== TagHandlerService ====
 
* the service used by gendoc to determine handlers from an org.eclipse.gendoc.tags.ITag
 
* the service used by gendoc to determine handlers from an org.eclipse.gendoc.tags.ITag
 +
* interface : '''org.eclipse.gendoc.tags.handlers.ITagHandlerService'''
  
==== IEMFModelLoaderService ====
+
==== EMFModelLoaderService ====
 
* the service which loads EMF models
 
* the service which loads EMF models
 
* used mainly by the IConfigurationService
 
* used mainly by the IConfigurationService
 +
* interface : '''org.eclipse.gendoc.tags.handlers.IEMFModelLoaderService'''
 +
 +
==== TagAnalyserBuffer ====
 +
* the service used to bufferize tag transformation content
 +
* interface : '''org.eclipse.gendoc.tags.handlers.process.buffers.ITagAnalyserBuffer'''
 +
 +
=== org.eclipse.gendoc.m2t ===
 +
 +
==== ScriptLanguageExtensionService ====
 +
* The service able to get a script processor
 +
* interface : '''org.eclipse.gendoc.m2t.IScriptLanguageExtensionService'''
 +
 +
==== FragmentService ====
 +
* the service linked to '''fragment''' tag
 +
* parse and compile fragment content
 +
* interface : '''org.eclipse.gendoc.m2t.IFragmentService'''
 +
 +
=== org.eclipse.gendoc.script.acceleo ===
 +
 +
==== ModuleManager ====
 +
* The service able to manage acceleo modules and dependencies
 +
* interface : '''org.eclipse.gendoc.script.services.IModuleManagerService'''
 +
 +
==== FileAndMetaModelsRegistry ====
 +
* The service managing metamodels registry
 +
* interface : '''org.eclipse.gendoc.script.acceleo.IFileAndMMRegistry'''
 +
 +
=== org.eclipse.gendoc.tags.html ===
 +
 +
==== HtmlService ====
 +
* the service linked to '''richText''' tag
 +
* The service able to manage rich text content (html content by default)
 +
* interface : '''org.eclipse.gendoc.tags.html.IHtmlService'''
  
 
== Processes ==
 
== Processes ==
Line 63: Line 155:
 
Each Process mentions its id, label, if it can run in parallel, priority, and java class (processor)
 
Each Process mentions its id, label, if it can run in parallel, priority, and java class (processor)
  
It is also possible to mention predecessors or successors. It is gendo engine which schedule the processes
+
It is also possible to mention predecessors or successors. It is gendoc engine which will schedule the processes according the defined rules.
  
 
=== List of processes ===
 
=== List of processes ===
 +
 +
[[File:Processes.png]]
 +
 +
''when a node have several incoming edges all the previous activities must be finished to start its execution''
 +
 +
''green edges are successor constraints, blue edges are predecessor constraints''
  
 
==== org.eclipse.gendoc.process ====
 
==== org.eclipse.gendoc.process ====

Latest revision as of 08:17, 27 July 2016

Features & Bundles

  • org.eclipse.gendoc.feature
    • all the common bundles needed to use Gendoc
    • org.eclipse.gendoc.batch
    • org.eclipse.gendoc.bundle.acceleo.commons
    • org.eclipse.gendoc.bundle.acceleo.gmf
    • org.eclipse.gendoc.document.parser
    • org.eclipse.gendoc.documents.image.svg
    • org.eclipse.gendoc.documents
    • org.eclipse.gendoc.m2t
    • org.eclipse.gendoc.process
    • org.eclipse.gendoc.script.acceleo
    • org.eclipse.gendoc.services.docx
    • org.eclipse.gendoc.services.odt
    • org.eclipse.gendoc.services
    • org.eclipse.gendoc.tags.handlers
    • org.eclipse.gendoc.tags.html
    • org.eclipse.gendoc.tags.hyperlink
    • org.eclipse.gendoc.tags.parsers
    • org.eclipse.gendoc.tags
    • org.eclipse.gendoc.ui
    • org.eclipse.gendoc.wizard.gmf
    • org.eclipse.gendoc.wizard
    • org.eclipse.gendoc
  • org.eclipse.gendoc.papyrus.feature
    • specific bundles (diagram and queries) for Papyrus
    • org.eclipse.gendoc.wizard.papyrus
    • org.eclipse.gendoc.bundle.acceleo.papyrus
  • org.eclipse.gendoc.sirius.feature
    • specific bundles (diagram and queries) for Sirius
    • org.eclipse.gendoc.bundle.acceleo.sirius

List of Services

all of the declared services bellow can be overridden by a developer using the extension point org.eclipse.gendoc.services

org.eclipse.gendoc.services

GendocDiagnostician

  • Information displayed to the user at the end of the process
  • interface : org.eclipse.gendoc.services.IGendocDiagnostician

Logger

  • log creation (error log for example)
  • interface : org.eclipse.gendoc.services.ILogger

ProgressMonitorService

  • a service to manage progress
  • interface : org.eclipse.gendoc.services.IProgressMonitorService

RegistryService

  • a map which can be used by developers to share data through services
  • interface : org.eclipse.gendoc.services.IRegistryService

BookmarkService

  • The service linked to bookmark tag
  • save all the bindings from the bookmark tag
  • interface : org.eclipse.gendoc.services.IBookmarkService

org.eclipse.gendoc.documents

DocumentManager

  • load template Document
  • interface : org.eclipse.gendoc.documents.IDocumentManager

DocumentService

  • main operations for document modifications
  • interface : org.eclipse.gendoc.documents.IDocumentService

IImageInfoServiceFactory

  • image information and transformations for specific formats
  • interface : org.eclipse.gendoc.documents.IImageManipulationServiceFactory

org.eclipse.gendoc.process

ProcessExtensionService

  • Manage the list of processes of the platorm
  • interface : org.eclipse.gendoc.process.IProcessExtensionService

org.eclipse.gendoc.tags

ConfigurationService

  • The service linked to config tag
  • information about : parameters, output path ...
  • interface : org.eclipse.gendoc.tags.parsers.ITagParserService

org.eclipse.gendoc.tags.parsers

TagExtensionService

  • information about registered tags through extension points
  • interface : org.eclipse.gendoc.tags.ITagExtensionService

org.eclipse.gendoc.tags.handler

TagParserService

  • transform text into tags
  • interface : org.eclipse.gendoc.tags.handlers.IConfigurationService

ContextService

  • the service linked to context tag
  • information about : model path, context eobject, path to the eobject, the way to compute path ...
  • interface : org.eclipse.gendoc.tags.handlers.IContextService

PropertiesService

  • the service linked to properties tag
  • load a file to register parameters
  • interface : org.eclipse.gendoc.tags.handlers.IPropertiesService

TagHandlerService

  • the service used by gendoc to determine handlers from an org.eclipse.gendoc.tags.ITag
  • interface : org.eclipse.gendoc.tags.handlers.ITagHandlerService

EMFModelLoaderService

  • the service which loads EMF models
  • used mainly by the IConfigurationService
  • interface : org.eclipse.gendoc.tags.handlers.IEMFModelLoaderService

TagAnalyserBuffer

  • the service used to bufferize tag transformation content
  • interface : org.eclipse.gendoc.tags.handlers.process.buffers.ITagAnalyserBuffer

org.eclipse.gendoc.m2t

ScriptLanguageExtensionService

  • The service able to get a script processor
  • interface : org.eclipse.gendoc.m2t.IScriptLanguageExtensionService

FragmentService

  • the service linked to fragment tag
  • parse and compile fragment content
  • interface : org.eclipse.gendoc.m2t.IFragmentService

org.eclipse.gendoc.script.acceleo

ModuleManager

  • The service able to manage acceleo modules and dependencies
  • interface : org.eclipse.gendoc.script.services.IModuleManagerService

FileAndMetaModelsRegistry

  • The service managing metamodels registry
  • interface : org.eclipse.gendoc.script.acceleo.IFileAndMMRegistry

org.eclipse.gendoc.tags.html

HtmlService

  • the service linked to richText tag
  • The service able to manage rich text content (html content by default)
  • interface : org.eclipse.gendoc.tags.html.IHtmlService

Processes

Processes in gendoc are java classes which implement org.eclipse.gendoc.process.IProcess (or inherit from org.eclipse.gendoc.process.AbstractProcess)

A process is declared through the extension point : org.eclipse.gendoc.processes.

Each Process mentions its id, label, if it can run in parallel, priority, and java class (processor)

It is also possible to mention predecessors or successors. It is gendoc engine which will schedule the processes according the defined rules.

List of processes

Processes.png

when a node have several incoming edges all the previous activities must be finished to start its execution

green edges are successor constraints, blue edges are predecessor constraints

org.eclipse.gendoc.process

  • countSteps
    • A process that identifies the number of steps in the document (useful for the gendoc progress monitor)

org.eclipse.gendoc

  • generate
    • predecessor : countSteps
    • parse and analyse the tags in the document
  • save
    • predecessor : generate
  • additionalResources
    • predecessor : generate
    • successor : save
    • add the additional ressources potentially generated during the gendoc process

org.eclipse.gendoc.tags.handlers

  • drop
    • predecessor : generate
    • successor : save
    • remove paragraphs containing drop tags
  • nobr
    • predecessor : drop
    • successor : save
    • remove line breaks
  • fragment
    • predecessor : countSteps
    • successor : generate
    • analyse and compile fragment tags
  • RegisterVariableProcess
    • predecessor : countSteps
    • successor : generate
    • register predefined variables available in gendoc
  • bookmark
    • predecessor : countSteps
    • successor : fragment
    • analyse bookmarks for replacement

org.eclipse.gendoc.tags.html

  • additionalStyles
    • predecessor : generate
    • successor : save
    • add styles according to HTML content

org.eclipse.gendoc.bundle.acceleo.papyrus

  • org.eclipse.gendoc.bundle.acceleo.papyrus.factoryassignment
    • successor : countSteps
    • override the factories for Papyrus model loading

Back to the top