Through Eclipse Mars, the Java Reverse Engineering was available in the Papyrus extra plugins. Since Eclipse Neon, they are now in a separate Papyrus component, called Papyrus software designer.
The Java reverse tools allow Java files or packages to be reverse-engineered into a Papyrus class diagram.
[[installation_instructions]]
[[installation_instructions]]
== Installation instructions
== Installation instructions
The Java features of Papyrus are available as part of the http://wiki.eclipse.org/Papyrus_Software_Designer[Papyrus Software Designer] extra feature.
The reverse engineering capabilities are part of the Java feature of Papyrus SW designer. Java reverse is available, once the Java feature is installed via update site or marketplace. See link:../getting-started
You can install it by using the Papyrus Software Designer update-site (for Oxygen):
@@ -72,11 +57,11 @@ You can reverse-engineer a class or a package by just dragging & dropping it on
...
@@ -72,11 +57,11 @@ You can reverse-engineer a class or a package by just dragging & dropping it on
image:figs/JavaReverseDragAndDrop.png[Reverse drag and drop]
image:figs/JavaReverseDragAndDrop.png[Reverse drag and drop]
A settings dialog is opened. You can modify settings (please see Reverse settings).
A settings dialog is opened. You can modify settings (please see Reverse settings).
When you're reverse-engineering via the drag & drop method, you can also choose to display model, packages, and classes / interfaces / enumerations in the Papyrus diagram. To enable display, just click the check-boxes:
When you are reverse-engineering via the drag & drop method, you can also choose to display model, packages, and classes / interfaces / enumerations in the Papyrus diagram. To enable display, just click the check-boxes:
image:figs/JavaReverseDnDPopUp.png[Reverse drag and drop popup]
image:figs/JavaReverseDnDPopUp.png[Reverse drag and drop popup]
When you click on the _OK_ button, your components are displayed in the Papyrus diagram. Note: while all selected components are reversed-engineered, only components which are selected, but not in the Papyrus diagram are displayed.
When you click the _OK_ button, your components are displayed in the Papyrus diagram. Note: while all selected components are reversed-engineered, only components which are selected, but not in the Papyrus diagram are displayed.
image:figs/JavaReverseDnDResult.png[Reverse drag and drop results]
image:figs/JavaReverseDnDResult.png[Reverse drag and drop results]
*** Class oepd.languages.java.reverse.ui.handlers.JavaCodeReverseInJobHandler - the methods doPrepareExecute(ExecutionEvent) and doExecuteTransactionInJob(IProgressMonitor) are called first
*** Class oepd.languages.java.reverse.ui.ProjectExplorerNodeWalkerWithIProgress - the methods doSwitch(Object, SubMonitor) and visitICompilationUnit(ICompilationUnit, SubMonitor) traverse the project explorer resources recursively until reaching a compilation unit (called a "node" in this context).
*** Project explorer walker visits the project explorer resources recursively, until we reach a compilation unit called a "node" in this context.
*** Class oepd.languages.java.reverse.ui.ReverseSelectedNodeVisitor - the method visitICompilationUnit(ICompilationUnit) examines JDT elements of a compilation unit.
*** Class oepd.languages.java.reverse.umlparser.CompilationUnitAnalyser - analyze a compilation unit and create associated UML elements. The compilation unit analyzer uses other classes of the package oepd.languages.java.reverse.umlparser