Git Product home page Git Product logo

specialization-plugin's People

Contributors

audreykoz avatar herve91 avatar jbsarrodie avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

specialization-plugin's Issues

Setting specialization attributes using jArchi script

Hi Hérve,

I'd like to know if it is possible to set specialization attributes using jArchi scripting. I'm looking into using this as a way of managing a multi-lingual model, and it would be really helpful to script some facilities to switch language in a view, as well as to automate the setting of attributes to make views multi-lingual.

If this is currently not an available feature (accessing specialization by jArchi script), I'd like to add my vote to add it as a feature (if I may be so presumptuous).

Thanks,
Michael

View failes to build with ${view:sum:property:cost}

View should fail not fail. Better if error in label position. Version v1.05

java.lang.RuntimeException: Cannot get variable "${view:sum:property:cost}" as the object is not part of a DiagramModel (DataObject).
at org.archicontribs.specialization.SpecializationVariable.getVariable(SpecializationVariable.java:310)
at org.archicontribs.specialization.SpecializationVariable.expand(SpecializationVariable.java:49)
at org.archicontribs.specialization.SpecializationPlugin.getLabelName(SpecializationPlugin.java:1181)
at org.archicontribs.specialization.uiProvider.elements.figures.ObjectFigure.setText(ObjectFigure.java:24)
at com.archimatetool.editor.diagram.figures.AbstractTextControlContainerFigure.refreshVisuals(AbstractTextControlContainerFigure.java:89)
at com.archimatetool.editor.diagram.editparts.AbstractArchimateElementEditPart.refreshFigure(AbstractArchimateElementEditPart.java:88)
at com.archimatetool.editor.diagram.editparts.AbstractBaseEditPart.refreshVisuals(AbstractBaseEditPart.java:165)
at org.eclipse.gef.editparts.AbstractEditPart.refresh(AbstractEditPart.java:725)
at org.eclipse.gef.editparts.AbstractGraphicalEditPart.refresh(AbstractGraphicalEditPart.java:644)
at org.eclipse.gef.editparts.AbstractEditPart.addNotify(AbstractEditPart.java:253)
at org.eclipse.gef.editparts.AbstractGraphicalEditPart.addNotify(AbstractGraphicalEditPart.java:223)
at org.eclipse.gef.editparts.AbstractEditPart.addChild(AbstractEditPart.java:212)
at org.eclipse.gef.editparts.AbstractEditPart.refreshChildren(AbstractEditPart.java:781)
at org.eclipse.gef.editparts.AbstractEditPart.refresh(AbstractEditPart.java:726)
at org.eclipse.gef.editparts.AbstractGraphicalEditPart.refresh(AbstractGraphicalEditPart.java:644)
at org.eclipse.gef.editparts.AbstractEditPart.addNotify(AbstractEditPart.java:253)
at org.eclipse.gef.editparts.AbstractGraphicalEditPart.addNotify(AbstractGraphicalEditPart.java:223)
at org.eclipse.gef.editparts.AbstractEditPart.addChild(AbstractEditPart.java:212)
at org.eclipse.gef.editparts.SimpleRootEditPart.setContents(SimpleRootEditPart.java:105)
at org.eclipse.gef.ui.parts.AbstractEditPartViewer.setContents(AbstractEditPartViewer.java:617)
at org.eclipse.gef.ui.parts.AbstractEditPartViewer.setContents(AbstractEditPartViewer.java:626)
at com.archimatetool.editor.diagram.ArchimateDiagramEditor.configureGraphicalViewer(ArchimateDiagramEditor.java:124)
at org.eclipse.gef.ui.parts.GraphicalEditor.createGraphicalViewer(GraphicalEditor.java:156)
at org.eclipse.gef.ui.parts.GraphicalEditor.createPartControl(GraphicalEditor.java:171)
at org.eclipse.gef.ui.parts.GraphicalEditorWithFlyoutPalette.createPartControl(GraphicalEditorWithFlyoutPalette.java:74)
at com.archimatetool.editor.diagram.AbstractDiagramEditor.createPartControl(AbstractDiagramEditor.java:251)
at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.createPartControl(CompatibilityPart.java:151)
at org.eclipse.ui.internal.e4.compatibility.CompatibilityEditor.createPartControl(CompatibilityEditor.java:99)
at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.create(CompatibilityPart.java:355)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:55)
at org.eclipse.e4.core.internal.di.InjectorImpl.processAnnotated(InjectorImpl.java:990)
at org.eclipse.e4.core.internal.di.InjectorImpl.processAnnotated(InjectorImpl.java:955)
at org.eclipse.e4.core.internal.di.InjectorImpl.inject(InjectorImpl.java:124)
at org.eclipse.e4.core.internal.di.InjectorImpl.internalMake(InjectorImpl.java:399)
at org.eclipse.e4.core.internal.di.InjectorImpl.make(InjectorImpl.java:318)
at org.eclipse.e4.core.contexts.ContextInjectionFactory.make(ContextInjectionFactory.java:162)
at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.createFromBundle(ReflectionContributionFactory.java:105)
at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.doCreate(ReflectionContributionFactory.java:74)
at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.create(ReflectionContributionFactory.java:56)
at org.eclipse.e4.ui.workbench.renderers.swt.ContributedPartRenderer.createWidget(ContributedPartRenderer.java:129)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createWidget(PartRenderingEngine.java:992)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:661)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:767)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$0(PartRenderingEngine.java:738)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$2.run(PartRenderingEngine.java:732)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:716)
at org.eclipse.e4.ui.internal.workbench.PartServiceImpl$1.handleEvent(PartServiceImpl.java:104)
at org.eclipse.e4.ui.services.internal.events.UIEventHandler$1.run(UIEventHandler.java:40)
at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:233)
at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:144)
at org.eclipse.swt.widgets.Display.syncExec(Display.java:4889)
at org.eclipse.e4.ui.internal.workbench.swt.E4Application$1.syncExec(E4Application.java:212)
at org.eclipse.e4.ui.services.internal.events.UIEventHandler.handleEvent(UIEventHandler.java:36)
at org.eclipse.equinox.internal.event.EventHandlerWrapper.handleEvent(EventHandlerWrapper.java:201)
at org.eclipse.equinox.internal.event.EventHandlerTracker.dispatchEvent(EventHandlerTracker.java:197)
at org.eclipse.equinox.internal.event.EventHandlerTracker.dispatchEvent(EventHandlerTracker.java:1)
at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148)
at org.eclipse.equinox.internal.event.EventAdminImpl.dispatchEvent(EventAdminImpl.java:135)
at org.eclipse.equinox.internal.event.EventAdminImpl.sendEvent(EventAdminImpl.java:78)
at org.eclipse.equinox.internal.event.EventComponent.sendEvent(EventComponent.java:39)
at org.eclipse.e4.ui.services.internal.events.EventBroker.send(EventBroker.java:52)
at org.eclipse.e4.ui.internal.workbench.UIEventPublisher.notifyChanged(UIEventPublisher.java:60)
at org.eclipse.emf.common.notify.impl.BasicNotifierImpl.eNotify(BasicNotifierImpl.java:374)
at org.eclipse.e4.ui.model.application.ui.impl.ElementContainerImpl.setSelectedElement(ElementContainerImpl.java:173)
at org.eclipse.e4.ui.internal.workbench.ModelServiceImpl.showElementInWindow(ModelServiceImpl.java:620)
at org.eclipse.e4.ui.internal.workbench.ModelServiceImpl.bringToTop(ModelServiceImpl.java:584)
at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.delegateBringToTop(PartServiceImpl.java:769)
at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.bringToTop(PartServiceImpl.java:401)
at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.showPart(PartServiceImpl.java:1188)
at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(WorkbenchPage.java:3261)
at org.eclipse.ui.internal.WorkbenchPage.access$25(WorkbenchPage.java:3176)
at org.eclipse.ui.internal.WorkbenchPage$10.run(WorkbenchPage.java:3158)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:3153)
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:3117)
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:3098)
at com.archimatetool.editor.ui.services.EditorManager.openEditor(EditorManager.java:52)
at com.archimatetool.editor.ui.services.EditorManager.openDiagramEditor(EditorManager.java:93)
at com.archimatetool.editor.views.tree.TreeModelView.handleOpenAction(TreeModelView.java:224)
at com.archimatetool.editor.views.tree.TreeModelView.access$1(TreeModelView.java:208)
at com.archimatetool.editor.views.tree.TreeModelView$1.doubleClick(TreeModelView.java:149)
at org.eclipse.jface.viewers.StructuredViewer$1.run(StructuredViewer.java:831)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.ui.internal.JFaceUtil.lambda$0(JFaceUtil.java:44)
at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:173)
at org.eclipse.jface.viewers.StructuredViewer.fireDoubleClick(StructuredViewer.java:828)
at org.eclipse.jface.viewers.AbstractTreeViewer.handleDoubleSelect(AbstractTreeViewer.java:1459)
at org.eclipse.jface.viewers.StructuredViewer$4.widgetDefaultSelected(StructuredViewer.java:1258)
at org.eclipse.jface.util.OpenStrategy.fireDefaultSelectionEvent(OpenStrategy.java:249)
at org.eclipse.jface.util.OpenStrategy.access$0(OpenStrategy.java:247)
at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:306)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:86)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4428)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1079)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4238)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3817)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1150)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1039)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:153)
at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:680)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:594)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148)
at com.archimatetool.editor.Application.start(Application.java:81)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:388)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:653)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:590)
at org.eclipse.equinox.launcher.Main.run(Main.java:1499)

v2.0.0: Feature Request: Override property defaut for element (low priority)

If possible, it would be useful for the element specialization to define also default for property tab (fill colour, font, font colour, line colour, text alignment, text position, opacity).

NB: this is not high priority, as one can create a specialization palette from a specialized model with these properties set for the elements

Preferences does not render as expected in 2.0.0.alpha2

The preference form is rendering blank:

image

My JVM is on Mac OS version 10.15.7:
java.runtime.name=OpenJDK Runtime Environment
java.runtime.version=11.0.3+7
java.specification.name=Java Platform API Specification
java.specification.vendor=Oracle Corporation
java.specification.version=11
java.vendor=AdoptOpenJDK
java.vendor.url=https://adoptopenjdk.net/
java.vendor.url.bug=https://github.com/AdoptOpenJDK/openjdk-build/issues
java.vendor.version=AdoptOpenJDK
java.version=11.0.3
java.version.date=2019-04-16
java.vm.compressedOopsMode=Zero based
java.vm.info=mixed mode
java.vm.name=OpenJDK 64-Bit Server VM
java.vm.specification.name=Java Virtual Machine Specification
java.vm.specification.vendor=Oracle Corporation
java.vm.specification.version=11
java.vm.vendor=AdoptOpenJDK
java.vm.version=11.0.3+7

Some Icons Render, Some Do Not

For some unknown reason, only some of my PNG images are showing up in my model and others do not. I'm pretty sure that it's not due to naming convention or size, as there doesn't seem to be a pattern for what does and does not show up.
Screen Shot 2019-05-17 at 11 51 29 AM
Screen Shot 2019-05-17 at 11 51 24 AM

I'm using the Mac version of this plugin.

Default icon position on 3D shapes

This might be "nice to have", but I'm wondering if it would be convenient to have the default position on 3D shapes to be on the front face of the shape, rather than up the corner.

This example shows Plateau 1 with the default location. The icon feels lost to me.
I have set Plateau 2 icon location to -15,-15. This brings it to the front face.

icon location

v2.0.0 alpha1: icons not correctly categorized

Great interface to select an element, however there are not always correctly categorized
eg: Business Object is a passive structure element (not behaviour), idem for Contract and Representation.
Product is a composite (of passive structure and behaviour), so difficult to place

Issue when replacing icons and the collaboration plug.

When I replace an icon, commit the changes and push the model to a git repo. The graphic doesnt get included with the git push.

Is there a way to have the collaboration plugin capture and upload the icons used in the specialization ?

I'm trying to think of a way to share the images with multiple people who are working on the same model.

Instead of using local images, could we specify a url path to a graphic ?

v2.0.0: Feature Request: specialize relation

The label feature for a relation in v1.0 of the plugin was very useful. It seems not possible to do it with v2.0.0. Feature request is to have relation specialization also, which will allow to:

  • define at least label specialization, using static text and/or variable (P1)
  • define associated properties (with default) (P1)
  • set the relation Archi properties tab defaut (text position, line width, font, font colour, line colour) (P2)

Inconsistency in plugin installation

The wiki documentation refers to using *.jar, but the new versions (master branch) contains *.arhiplugin only (it's renaming to zip and unzipping does not work). Or that is better to not touch latest, and we shall keep using what is in branch: 1.0.0.11 vs 1.0.0.12 ?

By the way, judging from the file-extension, are new versions assumed to be installed from the Help->Manage Plugins?
-At the moment it is not recognized as a plugin from there.

Image does not materialise in diagram

Added tag icon and icon on models explorer changed to image but not diagram object. On some objects it changed the nature of image but reflection of original image. Properties showed image and had erratic behavior where properties content lost. One have to choose another object and come back to restore correct behavior

Nested objects of same color have shades of the color

If I nest to objects in diagram I am having to manual arrange different shades of color to improve diagram. Great if shading was automated. Only need to oscillate between two shades which could be set as defaults and overwritten at preferences and view layers

v2.0.0 alpha 1. Cannot make it work

After a clean install of archi 4.4.0 (including JRE) + collaboration plugin + specialization plugin v2.0.0alpha1 on Windows 10 64bits, the plugin doesn't seem to run correctly. I get NullPointerException trying to use it.

Strange as the behaviour is not observed on another computer (home computer) with same configuration

See attached log
.archi.SpecializationPlugin.log
archi.log

Per element Properties to scale the source image

My goal is to be able to record screen snapshots as UI/UX mockups in "Application Interface" elements.

Today, screen snapshots at full resolution can be immense. For example, 38 inches wide on some monitors.

Within an Archi view, I want to show a scaled (down) version of the snapshot. For example, to make "Powerpoint" like views.

Ideally, a property would control whether the source image is automatically fit-within-element, cropped-by-element, or fits-element-to-actual-size.

Additionally, properties to snap the icon to left, top, right, bottom, and center of the element would be a nice feature.

2.0.0.alpha doesn't work with Archi 4.5.1

When I updated Archi to the latest version 4.5.1, the 2.0.0.alpha version of the specialization plugin (2.0.0.alpha1.jar) causes the error java.lang.NullPointerException when I try to add a new element to a model.

The whole error log:

!SESSION 2019-09-16 13:53:13.845 -----------------------------------------------
eclipse.buildId=unknown
java.version=11.0.3
java.vendor=AdoptOpenJDK
BootLoader constants: OS=macosx, ARCH=x86_64, WS=cocoa, NL=en_RU
Command-line arguments:  -os macosx -ws cocoa -arch x86_64 -clean

This is a continuation of log file /Users/user/Library/Application Support/Archi4/.metadata/.bak_0.log
Created Time: 2019-09-16 13:53:49.914

!ENTRY org.eclipse.ui 4 0 2019-09-16 13:53:49.914
!MESSAGE Unhandled event loop exception
!STACK 0
java.lang.NullPointerException
    at org.archicontribs.specialization.propertysections.SpecializationModelSection.getSelectedClass(SpecializationModelSection.java:1177)
    at org.archicontribs.specialization.types.ElementSpecializationMap.getElementSpecialization(ElementSpecializationMap.java:132)
    at org.archicontribs.specialization.SpecializationPlugin.drawIcon(SpecializationPlugin.java:905)
    at org.archicontribs.specialization.uiProvider.elements.figures.ApplicationComponentFigure.drawIcon(ApplicationComponentFigure.java:22)
    at com.archimatetool.editor.diagram.figures.elements.ApplicationComponentFigure.drawFigure(ApplicationComponentFigure.java:46)
    at com.archimatetool.editor.diagram.figures.AbstractContainerFigure.paintFigure(AbstractContainerFigure.java:93)
    at org.eclipse.draw2d.Figure.paint(Figure.java:1118)
    at org.eclipse.draw2d.Figure.paintChildren(Figure.java:1170)
    at org.eclipse.draw2d.Figure.paintClientArea(Figure.java:1209)
    at org.eclipse.draw2d.Figure.paint(Figure.java:1120)
    at org.eclipse.draw2d.Figure.paintChildren(Figure.java:1170)
    at org.eclipse.draw2d.Figure.paintClientArea(Figure.java:1205)
    at org.eclipse.draw2d.Figure.paint(Figure.java:1120)
    at org.eclipse.draw2d.Figure.paintChildren(Figure.java:1170)
    at org.eclipse.draw2d.Figure.paintClientArea(Figure.java:1205)
    at org.eclipse.draw2d.Figure.paint(Figure.java:1120)
    at org.eclipse.draw2d.Figure.paintChildren(Figure.java:1170)
    at org.eclipse.draw2d.Figure.paintClientArea(Figure.java:1205)
    at org.eclipse.draw2d.ScalableFreeformLayeredPane.paintClientArea(ScalableFreeformLayeredPane.java:60)
    at org.eclipse.draw2d.Figure.paint(Figure.java:1120)
    at org.eclipse.draw2d.Figure.paintChildren(Figure.java:1170)
    at org.eclipse.draw2d.Figure.paintClientArea(Figure.java:1205)
    at org.eclipse.draw2d.Figure.paint(Figure.java:1120)
    at org.eclipse.draw2d.Figure.paintChildren(Figure.java:1170)
    at org.eclipse.draw2d.Figure.paintClientArea(Figure.java:1200)
    at org.eclipse.draw2d.Viewport.paintClientArea(Viewport.java:160)
    at org.eclipse.draw2d.Figure.paint(Figure.java:1120)
    at org.eclipse.draw2d.Figure.paintChildren(Figure.java:1170)
    at org.eclipse.draw2d.Figure.paintClientArea(Figure.java:1205)
    at org.eclipse.draw2d.Figure.paint(Figure.java:1120)
    at org.eclipse.draw2d.DeferredUpdateManager.paint(DeferredUpdateManager.java:168)
    at org.eclipse.draw2d.LightweightSystem.paint(LightweightSystem.java:203)
    at org.eclipse.draw2d.LightweightSystem$2.handleEvent(LightweightSystem.java:110)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
    at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4363)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1512)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1535)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1520)
    at org.eclipse.swt.widgets.Control.drawWidget(Control.java:1278)
    at org.eclipse.swt.widgets.Canvas.drawWidget(Canvas.java:175)
    at org.eclipse.swt.widgets.Widget.drawRect(Widget.java:776)
    at org.eclipse.swt.widgets.Canvas.drawRect(Canvas.java:169)
    at org.eclipse.swt.widgets.Display.windowProc(Display.java:6005)
    at org.eclipse.swt.internal.cocoa.OS.objc_msgSendSuper(Native Method)
    at org.eclipse.swt.widgets.Display.applicationNextEventMatchingMask(Display.java:5254)
    at org.eclipse.swt.widgets.Display.applicationProc(Display.java:5683)
    at org.eclipse.swt.internal.cocoa.OS.objc_msgSend(Native Method)
    at org.eclipse.swt.internal.cocoa.NSApplication.nextEventMatchingMask(NSApplication.java:97)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3761)
    at org.eclipse.jface.window.Window.runEventLoop(Window.java:823)
    at org.eclipse.jface.window.Window.open(Window.java:799)
    at com.archimatetool.editor.actions.AboutHandler.execute(AboutHandler.java:25)
    at org.eclipse.ui.internal.handlers.E4HandlerProxy.execute(E4HandlerProxy.java:96)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.base/java.lang.reflect.Method.invoke(Unknown Source)
    at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:58)
    at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:320)
    at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:254)
    at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:173)
    at org.eclipse.e4.core.commands.internal.HandlerServiceHandler.execute(HandlerServiceHandler.java:156)
    at org.eclipse.core.commands.Command.executeWithChecks(Command.java:497)
    at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:490)
    at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.executeHandler(HandlerServiceImpl.java:213)
    at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.executeHandler(HandlerServiceImpl.java:195)
    at org.eclipse.e4.ui.workbench.renderers.swt.cocoa.CocoaUIHandler.runCommand(CocoaUIHandler.java:651)
    at org.eclipse.e4.ui.workbench.renderers.swt.cocoa.CocoaUIHandler.access$5(CocoaUIHandler.java:637)
    at org.eclipse.e4.ui.workbench.renderers.swt.cocoa.CocoaUIHandler$3.widgetSelected(CocoaUIHandler.java:509)
    at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:252)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
    at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4363)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1512)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1535)
    at org.eclipse.swt.widgets.Widget.sendSelectionEvent(Widget.java:1585)
    at org.eclipse.swt.widgets.MenuItem.sendSelection(MenuItem.java:595)
    at org.eclipse.swt.widgets.Display.windowProc(Display.java:5800)
    at org.eclipse.swt.internal.cocoa.OS.objc_msgSendSuper(Native Method)
    at org.eclipse.swt.widgets.Display.applicationNextEventMatchingMask(Display.java:5254)
    at org.eclipse.swt.widgets.Display.applicationProc(Display.java:5683)
    at org.eclipse.swt.internal.cocoa.OS.objc_msgSend(Native Method)
    at org.eclipse.swt.internal.cocoa.NSApplication.nextEventMatchingMask(NSApplication.java:97)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3761)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1173)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1062)
    at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:155)
    at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:644)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
    at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:566)
    at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
    at com.archimatetool.editor.Application.start(Application.java:84)
    at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:137)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:107)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:400)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.base/java.lang.reflect.Method.invoke(Unknown Source)
    at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:661)
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:597)
    at org.eclipse.equinox.launcher.Main.run(Main.java:1476)

Error "Failed to create the part's controls" after copying the jar file

Hello,

I copied the jar file org.archicontribs.specialization_v1.0.9.jar into the plugin folder C:\Program Files\Archi4\plugins (using Archimate 4.2.0).
When restarting Archi I get this error:
"Failed to create the part's controls"
java.lang.ClassCastException: com.archimatetool.model.impl.DiagramModelArchimateObject cannot be cast to com.archimatetool.model.IArchimateModelObject
...

When creating a noew object the error is
An error has occurred. See error log for more details.
com.archimatetool.model.impl.DiagramModelArchimateObject cannot be cast to com.archimatetool.model.IArchimateModelObject

Any idea what could be the reason and how to fix it ?

Thanks and best regards
Werner

v2.0.0: Feature proposal: Selectable default image positions and sizes

Hi

Having to enter the precise position and size of the image individually for each specialization is not very convenient and can lead inconsistencies between specialisations.

I suggest providing a dropdown with "sensible" defaults, like the following:

  • "top-right-square" (1,1; 20x20)
  • "top-left-square" (-1,1; 20x20)
  • "bottom-right-square" (-1,-1;20x20)
  • "bottom-left-square" (-1,-1;20x20)
  • "top-right" (1,1; x20)
  • "top-left" (-1,1; x20)
  • "bottom-right (-1,-1; x20)
  • "bottom-left (-1,-1; x20)
  • "center" (center; auto)

Additionally, it could make sense to preselect one of the above as when creating a new specialisation (e.g. "bottom-right"...)

Such defaults would of course be overrideable by entering coordinates & sizes directly.

Thanks!

Plugin working but icons not changing

Hi,

I've followed the instructions, the plugin is installed and showing in Archi preferences. The icon property is set on the Node object and the value is set to the file name.
But the icon does not change to the image file... help?

Archi 4.0.3 build 201709061211
Archi installation details.txt
OS: Mac OSX 10.13.1 (high sierra)
Specialization-plugin: 0.2 (file /Applications/Archi.app/plugins/org.archicontribs.specialization_v0.2.jar)

screen shot 2017-12-07 at 19 52 24

screen shot 2017-12-07 at 19 41 11

screen shot 2017-12-07 at 19 40 18

screen shot 2017-12-07 at 19 47 24

The image file "/Applications/Archi.app/plugins/com.archimatetool.editor_4.0.3.201709061211/img/microsoft/dag.png"
dag

Support for more element types

Why "replace icon" cant be available for all element types? It would be good to add it at least for Representation and Dataobject. Thanks.

Image folder settings in preferences not fully visibible

Hi,

When adding a image folder the input field for the actual folder is not properly visible, at least not on Linux which I am using.

bild

It is possible to clock on top part of the button to browse to a correct foler but not to enter or view the folder.

The image is with Archi 4.3.3 and specialization plugin 1.0.11

BR
Erik

Wiki page doesn't work

The wiki page of the project is not accessible – looks like it's empty and redirects to the project Readme.

[Issue] Work Package has gone rectangular

Version of Archi, Operating System

Archi 4.1.1 64bit on Mac (or PC).
Specialization plug-in 0.3

Expected Behaviour

Work Package element appearance used to have rounded corners.

Actual Behaviour

The Work Package element appears as a rectangle.

This seems to have appeared at some point since I started using the Collaboration, forms or specialisation plug-ins. I don't really want to strip them out, but downloading a fresh Archi seems to be ok again.

wp

The other round-corner shapes seem fine, as far as I can tell.

Drill-down Elements navigation on HTML-reports

Similar to how it is done for View Reference. As I've understood the issue is how to distinguish selection-click in HTML (for documentation) and navigation click, which is double-click in the application (for opening another drill-down element)? Probably, it could be done by replication of drill-down property by clickable icon?

  1. HTML-report preview with drill-down on (see "Hip Flexors" element): https://evlibra.github.io/Archi_Body/198667f9-f68d-46a1-8bf6-01c97c861d17/views/b90805b2-7a2c-47e2-86a7-b2d5d1dd95a6.html

  2. HTML-report preview with View Reference (see blue "SWE.1" and "ASPICE - PRJ X - Map" for example)
    https://evlibra.github.io/Archi_ASPICE/id-322369a4-b2ad-4c96-8d58-a5d264295809/views/b4a58a17-a562-4304-b735-3b37cc0d68d2.html

Disapearing of alignement and sizing option

The installation of the 1.0.7 version make disappear the alignement and sizing options.

I tried to uninstall the plugin, the options appeared. Then they disappeared again while installing again.

Imbedding diagram title and what to have date/time last changed

In diagram using artefact as base for putting title into diagram. Would be great if I could include date time it was changed in an automated way. Same with mode as property Know one can do such for property but requires manual management. Plus be nice to be able to make some basic formatting such as text bold. Also property that give folder with folder depth.

Make image folder and property name customizable

Hi,

I've started to experiment with this plugin and I have a use case where I'd like to use another property name. The reason is that for several models I use a property named "Stereotype" which value is the type of customized element. Being able to defined that this property drives the choice of the image would be great and a first step in Archi supporting ArchiMate language customization mecanisms. In addition, the location of the image folder should be customizable too as not all users have write access to the Archi setup folder.

That being said: Great work !

Regards,

Version 1.x of plugin needs to be compiled against Archi 4.7.x to address API changes

I'm routinely seeing the following error's being thrown by the 1.x version of this plugin on Arch 4.7.x

An error has occurred. See error log for more details.
org.archicontribs.specialization.uiProvider.elements.figures.ApplicationComponentFigure.setText()V

It appears that the plugin needs to be updated and compiled against Archi 4.7.x.

Compatibility with report feature ?

Hello,

ty for this plugin ... works perfectly in ARCHI and creates a better experience using the application.

How can i make it work fine with ARCHI, report HTML feature ?

Regards

Error message when adding a (new or existing) application component to a view

I use the specialisation plugin to show a name and a company-defined applicatio-number in the application component.
Bij setting the label expression "to ${name}\n${property:SW}"

Everytime I add a component to a view, I get an error message
"An error has occurred. See error log for more details.
org.archicontribs.specialization.uiProvider.elements.figures.ApplicationComponentFigure.setText()V"

It seems a warning, after acknowledging the message, everything seems working fine.

What information can I provide you to have a look at the issue?

v2.0.0: Feature proposal: Keep existing element icon

Hello,

I really like this new version of the plugin - the approach is very clean and understandable.

One suggestion would be to be able to add the new image to the element without removing the default one, e.g.:

image

The general meaning of the element would thus remain directly visible and would be complemented by the new image.

Thank you!

Use concept type for label

I try to implement the "Mastering of Archimate" labeling scheme with Archi and don't know if it possible (can't figure out it by myself or find in documentation) to set an Archimate concept type (Application Component or Bussiness Service for instance) of the element as its label property?

v2.0.0: Feature request: Spezialization management

The interface is great to create element specialization, however no easy way to do the following:

  • see the list of specialization existing in a model (element type, name, icon view)
  • import/export specializations between models

Suggestion: put such feature in the model specilization tab. Use current tab as creator/editor of a single specialization

NB: a set of specialization starts to be close of a Archimate profile. Maybe call it Profile management

Custom icons not showing up

  • Archimatetool 4.0.3
  • OS is linuxmint 18

I followed the instructions (plugin installation, model setup, icon images copied to plugins/com.archimate.../img/mydirectory ) but icons are not showing up

Enabling the plugin traces gives :

`
!
2017-11-03 20:33:00 INFO 144:SpecializationPlugin - Initialising SpecializationPlugin plugin ...

2017-11-03 20:33:00 INFO 146:SpecializationPlugin - ===============================================

2017-11-03 20:33:00 INFO 196:SpecializationPlugin - Specialization plugin v0.2 initialized.

tail: /home/xxx/SpecializationPlugin.log : fichier tronqué
`

Icon is attached

rect

null pointer exception when switching between views with Specialization plugin drill-down

ug report - null pointer exception

attaching configuration file and error log snippet
Version of Archi, Operating System

help/about says Archi Version 4.3.1 Build 2019-01281101 - but the download package says 4.3.2
Windows 10

I am using the Specialization plug-in, and its drill-down feature to jump to another view when I double-click an object . This would be the current plug-in version, as I downloaded it earlier this week.
https://github.com/archi-contribs/specialization-plugin
Steps to Reproduce the Behaviour

I have one view dedicated to navigation - I happened to use "work package" objects for this, since I don't use them in the model otherwise. I have one object per view, with the drill-down property linked to one of the views. 19 views in all.
I have one "work package" object on each of the 19 views with its drill down property set to the navigation page. trying to make it easy for the novice user to navigate around the models.
When I jump to a model via a double-click on the object, and then close the eclipse page via the "x'. I get the null pointer exception - sometimes. I also get it - sometimes - when I jump from one eclipse tab to another. It ONLY occurs when I've changing between views, never when I'm doing basic modeling functions on a view. Once it starts to occur, then it seems to occur every time I switch views.

null pointer exception - configuration.txt

null pointer exception - error log.txt

Edit label in replace lavbel tab don't make the model dirty

If I open a model and make changes to an objects replace-label in the dedicated property-tab it does not make the model dirty and changes are not saved if I press Save (non-dirty models are not saved).

(Super-plugin by the way, many thanks!)

Icons and replacement labels are not rendering

I'm using Archi 4.3 and specialization-plugin 1.09 on a fresh model on a Mac. I have turned on all of the Replace All options at the plugin preferences pane (although I've tried setting them at model and view level as well). The icon setting UI shows the image that I choose, so it is able to access the image files. However, after changing values in the components the rendered view does not change (only changing the name field itself produces a visible change).

I've run with the trace log on and it doesn't appear that it is even trying to redraw the components.

Here is the log output when I first enable it:

2018-10-16 15:16:10 DEBUG  525:PreferencePage                           - Logger initialised.
2018-10-16 15:16:10 TRACE  525:PreferencePage                           ┌ log4j.rootLogger = TRACE, stdout, filelog4j.appender.stdout = org.apache.log4j.ConsoleAppender
2018-10-16 15:16:10 TRACE  525:PreferencePage                           │ log4j.appender.stdout.Target = System.out
2018-10-16 15:16:10 TRACE  525:PreferencePage                           │ log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
2018-10-16 15:16:10 TRACE  525:PreferencePage                           │ log4j.appender.stdout.layout.ConversionPattern = %d{yyyy-MM-dd HH:mm:ss} %-5p %4L:%-40.40C{1} %m%n
2018-10-16 15:16:10 TRACE  525:PreferencePage                           │ log4j.appender.file = org.apache.log4j.FileAppender
2018-10-16 15:16:10 TRACE  525:PreferencePage                           │ log4j.appender.file.ImmediateFlush = true
2018-10-16 15:16:10 TRACE  525:PreferencePage                           │ log4j.appender.file.Append = false
2018-10-16 15:16:10 TRACE  525:PreferencePage                           │ log4j.appender.file.Encoding = UTF-8
2018-10-16 15:16:10 TRACE  525:PreferencePage                           │ log4j.appender.file.File = /Users/wilsb047/SpecializationPlugin.log
2018-10-16 15:16:10 TRACE  525:PreferencePage                           └ log4j.appender.file.layout.ConversionPattern = %d{yyyy-MM-dd HH:mm:ss} %-5p %4L:%-40.40C{1} %m%n

Here is the output when I select an application component, edit the replace label value and then change the icon file reference:

2018-10-16 15:18:25 TRACE  112:SpecializationIconSection$Filter         - Showing icon tab.
2018-10-16 15:18:25 TRACE   59:SpecializationElementLabelSection$Filter - Showing label tab.
2018-10-16 15:18:25 TRACE   66:SpecializationDrillDownSection$Filter    - Showing Drill down tab.
2018-10-16 15:18:25 TRACE  112:SpecializationIconSection$Filter         - Showing icon tab.
2018-10-16 15:18:25 TRACE   59:SpecializationElementLabelSection$Filter - Showing label tab.
2018-10-16 15:18:25 TRACE   66:SpecializationDrillDownSection$Filter    - Showing Drill down tab.
2018-10-16 15:18:25 TRACE  112:SpecializationIconSection$Filter         - Showing icon tab.
2018-10-16 15:18:25 TRACE   59:SpecializationElementLabelSection$Filter - Showing label tab.
2018-10-16 15:18:25 TRACE   66:SpecializationDrillDownSection$Filter    - Showing Drill down tab.
2018-10-16 15:18:25 TRACE  756:SpecializationIconSection                - Refreshing controls
2018-10-16 15:18:25 TRACE  112:SpecializationIconSection$Filter         - Showing icon tab.
2018-10-16 15:18:25 TRACE  756:SpecializationIconSection                - Refreshing controls
2018-10-16 15:18:30 TRACE   59:SpecializationElementLabelSection$Filter - Showing label tab.
2018-10-16 15:18:30 TRACE  260:SpecializationElementLabelSection        - Setting element to ArchimateElementEditPart( com.archimatetool.model.impl.DiagramModelArchimateObject@553da911 (id: 27d45ab5-dee7-4a1b-8f1f-93c10f018f82, name: ) (font: null, fontColor: null, lineWidth: 1, lineColor: null, textAlignment: 2, fillColor: null, alpha: 255) (textPosition: 0, type: 0) )
2018-10-16 15:18:30 TRACE  277:SpecializationElementLabelSection        - Refreshing controls
2018-10-16 15:18:35 TRACE  277:SpecializationElementLabelSection        - Refreshing controls
2018-10-16 15:18:35 TRACE  277:SpecializationElementLabelSection        - Refreshing controls
2018-10-16 15:18:36 TRACE  277:SpecializationElementLabelSection        - Refreshing controls
2018-10-16 15:18:36 TRACE  277:SpecializationElementLabelSection        - Refreshing controls
2018-10-16 15:18:36 TRACE  277:SpecializationElementLabelSection        - Refreshing controls
2018-10-16 15:19:03 TRACE  522:SpecializationIconSection$2              - Getting folder content : "/Users/wilsb047/Pictures"
... found some subfolders...
2018-10-16 15:19:03 TRACE  549:SpecializationIconSection$2              - found image : 02205-TR-44.jpg
... found some other images...
2018-10-16 15:19:03 TRACE  549:SpecializationIconSection$2              - found image : YU5-10.jpg
2018-10-16 15:19:11 TRACE  444:SpecializationIconSection                - Showing preview for image "/Users/wilsb047/Pictures/Cube.png"
2018-10-16 15:19:14 TRACE  444:SpecializationIconSection                - Showing preview for image "/Users/wilsb047/Pictures/Cube.png"
2018-10-16 15:19:14 TRACE  444:SpecializationIconSection                - Showing preview for image "/Users/wilsb047/Pictures/Cube.png"
2018-10-16 15:19:19 TRACE  277:SpecializationElementLabelSection        - Refreshing controls

So it refreshes the controls in the inspector a lot but never seems to do anything to the view.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.