archi-contribs / specialization-plugin Goto Github PK
View Code? Open in Web Editor NEWPlugin for Archi to specialize concepts (figure, icon...)
License: Other
Plugin for Archi to specialize concepts (figure, icon...)
License: Other
May wish to add cost to relationships. Actually can see total be based on source/target of certain relationship types
Not sure why on a view the setting can be overridden once set in preferences
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
Want to be able to extra properties from some elements into the diagram with an association line. It only needs to exist for the diagram but the information stored against element. May be a good was of placing diagram text and/or properties into the diagram.
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)
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
The preference form is rendering blank:
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
Needed to replace and ICON with a different version. Couldn't see a way to replace or delete redundant images
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.
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
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 ?
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:
History is under this issue #6, this continues the issue using v1.0 of the plugin
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.
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
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
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
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.
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)
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
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:
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!
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)
The image file "/Applications/Archi.app/plugins/com.archimatetool.editor_4.0.3.201709061211/img/microsoft/dag.png"
Error while clicking on the "Specialization" tab. Log attached.
Why "replace icon" cant be available for all element types? It would be good to add it at least for Representation and Dataobject. Thanks.
On archi 4.4.0 and specialization plugin 1.0.11
!MESSAGE Unhandled event loop exception
!STACK 0
org.eclipse.swt.SWTError: No more handles
org.archicontribs.specialization.SpecializationPlugin.drawIcon(SpecializationPlugin.java:1315)
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.
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
The wiki page of the project is not accessible – looks like it's empty and redirects to the project Readme.
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.
The other round-corner shapes seem fine, as far as I can tell.
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?
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
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
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.
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.
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,
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.
Given charter 15 of the specification a specialization is a std element with a special objective.
I need a specialization of a capability and want to add that to the palette.
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
Would be great to allow a template mechanism with a default template for label on nodes where name is header and documentation as paragraph.
That way one doesn't have to double entry information on labels.
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?
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.:
The general meaning of the element would thus remain directly visible and would be complemented by the new image.
Thank you!
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?
The interface is great to create element specialization, however no easy way to do the following:
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
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
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.
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!)
Want to keep the orginal archi icon but would love to have a secondary icon or as the back drop image that fills the node box.
Hi Herve, with this plugin installed the Magic Cursor is not working as it should do when clicking from a concept to white space.
See https://forum.archimatetool.com/index.php?topic=485.0
Windows/Mac/Linux.
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.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.