Hello Dulitha,

​I agree that artifact name needs to be unqiue to the car file. But in a
scenario where you have 2 esb configuration projects having an artifact
with the same name (in-sequence.xml) - it crashes the car interface.​

If you have the same ESB artifact in different configuration projects, you
cannot pack them in the same car file. Because in car file level we only
consider the artifact name and not the folder hierarchy (which involves the
ESB project). The ESB project is introduced by Dev studio to maintain
artifacts. When you deploy the car file in the ESB, ESB will only deploy
the artifacts as single entries and not the project, and I fail to
understand you reasoning behind having the same artifact name as you wont
be able to deploy them in the same ESB instance in a single car file anyway.

But I accept that this should be conveyed to the user via a message, not
crashing the car file.


About the issue you faced when deleting artifacts, I was not able to
reproduce it,

1. Created two ESB projects
2. Created 2 Rest API artifacts with the same name in both projects
3. Deleted on Rest API

It worked as expected for me in Dev studio 3.8.0

Could you please give me your Dev studio version and also reproducing steps?


Regards
Awanthika

Awanthika Senarath
Software Engineer, WSO2 Inc.
Mobile: +94717681791



On Wed, Dec 16, 2015 at 10:23 PM, Dulitha Wijewantha <duli...@wso2.com>
wrote:

>
>
> On Tue, Dec 15, 2015 at 10:26 PM, Awanthika Senarath <awanth...@wso2.com>
> wrote:
>
>> Hi Dulitha,
>>
>> Find my responses in-line,
>>
>> 1) Can't have the same project name in the workspace. For example - I
>> create a project called gateway-dev and have gateway-car, gateway-synapse,
>> gateway-registry. I can't create a project with gateway-staging and have
>> gateway-car. Is this an eclipse limitation?
>>     This is an eclipse limitation. Eclipse maintains a META file called
>> .project for each and every project and the name in this .project file
>> needs to be unique.
>>
>> 2) Can't have the same artifact name in the workspace. This one is bit
>> annoying. I renamed the project to gateway-dev-synapse and
>> gateway-staging-synapse. I can't have the api artifact with id.xml inside
>> dev project and staging project in the same namespace:- the car picking
>> form gets confused on the two assets. What's more - it will get corrupted
>> and not have anything at all from synapse to pick. Below is an error that
>> popped in the error console
>>     Yes, car files import artifacts based on the artifact name and in the
>> artifact.xml of a car file it will list all the artifacts that needs to be
>> bundled in that particular car, hence the artifact names needs to be unique
>> for the car file. The error you have got is due to dev studio crashing
>> before the file system files are properly refreshed, OR an attempt to
>> manually edit the file system resources not via eclipse. Ideally this
>> should be resolved by refreshing the workspace files through eclipse (right
>> click the file and refresh)
>>
>
> ​I agree that artifact name needs to be unqiue to the car file. But in a
> scenario where you have 2 esb configuration projects having an artifact
> with the same name (in-sequence.xml) - it crashes the car interface.​
>
>
>
>> ​
>>
> 3) Deleting a resource (API) got me below error -
>>     Could you please let us know how to reproduce this? did you attempt
>> to rename the resource before deleting?
>>
> ​This was the scenario where I had the same arifact name in 2 different
> esb configuration projects. ​
>
>
>
>>
>> 4) Bulk import for resources -
>>     You are correct, this is a current limitation. You can import the
>> synapse configuration with multiple proxies in it and dev-studio will
>> generate the proxies for different artifacts in the synapse configuration.
>> But currently it is not supported to import multiple proxy.xml files
>> simultaneously.
>>
>> Regards
>> Awanthika
>>
>>
>> Awanthika Senarath
>> Software Engineer, WSO2 Inc.
>> Mobile: +94717681791
>>
>>
>>
>> On Wed, Dec 16, 2015 at 6:25 AM, Dulitha Wijewantha <duli...@wso2.com>
>> wrote:
>>
>>> Hi guys,
>>> I got some issues today working on the developer studio.
>>>
>>> 1) Can't have the same project name in the workspace. For example - I
>>> create a project called gateway-dev and have gateway-car, gateway-synapse,
>>> gateway-registry. I can't create a project with gateway-staging and have
>>> gateway-car. Is this an eclipse limitation?
>>>
>>> 2) Can't have the same artifact name in the workspace. This one is bit
>>> annoying. I renamed the project to gateway-dev-synapse and
>>> gateway-staging-synapse. I can't have the api artifact with id.xml inside
>>> dev project and staging project in the same namespace:- the car picking
>>> form gets confused on the two assets. What's more - it will get corrupted
>>> and not have anything at all from synapse to pick. Below is an error that
>>> popped in the error console -
>>>
>>> org.eclipse.core.runtime.CoreException: The file is not synchronized
>>> with the local file system.
>>> at
>>> org.eclipse.core.internal.filebuffers.ResourceTextFileBuffer.commitFileBufferContent(ResourceTextFileBuffer.java:338)
>>> at
>>> org.eclipse.core.internal.filebuffers.ResourceFileBuffer.commit(ResourceFileBuffer.java:325)
>>> at
>>> org.eclipse.ltk.core.refactoring.TextFileChange.commit(TextFileChange.java:233)
>>> at
>>> org.eclipse.ltk.core.refactoring.TextChange.perform(TextChange.java:240)
>>> at
>>> org.eclipse.ltk.core.refactoring.CompositeChange.perform(CompositeChange.java:278)
>>> at
>>> org.eclipse.ltk.core.refactoring.CompositeChange.perform(CompositeChange.java:278)
>>> at
>>> org.eclipse.ltk.core.refactoring.PerformChangeOperation$1.run(PerformChangeOperation.java:258)
>>> at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2345)
>>> at
>>> org.eclipse.ltk.core.refactoring.PerformChangeOperation.executeChange(PerformChangeOperation.java:306)
>>> at
>>> org.eclipse.ltk.internal.ui.refactoring.UIPerformChangeOperation.executeChange(UIPerformChangeOperation.java:92)
>>> at
>>> org.eclipse.ltk.core.refactoring.PerformChangeOperation.run(PerformChangeOperation.java:218)
>>> at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2345)
>>> at
>>> org.eclipse.ltk.internal.ui.refactoring.WorkbenchRunnableAdapter.run(WorkbenchRunnableAdapter.java:87)
>>> at
>>> org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121)
>>>
>>>
>>> org.eclipse.core.runtime.CoreException: The file is not synchronized
>>> with the local file system.
>>> at
>>> org.eclipse.core.internal.filebuffers.ResourceTextFileBuffer.commitFileBufferContent(ResourceTextFileBuffer.java:338)
>>> at
>>> org.eclipse.core.internal.filebuffers.ResourceFileBuffer.commit(ResourceFileBuffer.java:325)
>>> at
>>> org.eclipse.ltk.core.refactoring.TextFileChange.commit(TextFileChange.java:233)
>>> at
>>> org.eclipse.ltk.core.refactoring.TextChange.perform(TextChange.java:240)
>>> at
>>> org.eclipse.ltk.core.refactoring.CompositeChange.perform(CompositeChange.java:278)
>>> at
>>> org.eclipse.ltk.core.refactoring.CompositeChange.perform(CompositeChange.java:278)
>>> at
>>> org.eclipse.ltk.core.refactoring.PerformChangeOperation$1.run(PerformChangeOperation.java:258)
>>> at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2345)
>>> at
>>> org.eclipse.ltk.core.refactoring.PerformChangeOperation.executeChange(PerformChangeOperation.java:306)
>>> at
>>> org.eclipse.ltk.internal.ui.refactoring.UIPerformChangeOperation.executeChange(UIPerformChangeOperation.java:92)
>>> at
>>> org.eclipse.ltk.core.refactoring.PerformChangeOperation.run(PerformChangeOperation.java:218)
>>> at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2345)
>>> at
>>> org.eclipse.ltk.internal.ui.refactoring.WorkbenchRunnableAdapter.run(WorkbenchRunnableAdapter.java:87)
>>> at
>>> org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121)
>>>
>>> 3) Deleting a resource (API) got me below error -
>>>
>>>  org.eclipse.swt.SWTException: Failed to execute runnable
>>> (java.lang.NullPointerException)
>>> at org.eclipse.swt.SWT.error(SWT.java:4397)
>>> at org.eclipse.swt.SWT.error(SWT.java:4312)
>>> at
>>> org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:138)
>>> at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3976)
>>> at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3653)
>>> at
>>> org.eclipse.jface.operation.ModalContext$ModalContextThread.block(ModalContext.java:173)
>>> at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:388)
>>> at
>>> org.eclipse.ltk.internal.ui.refactoring.RefactoringWizardDialog2.run(RefactoringWizardDialog2.java:331)
>>> at
>>> org.eclipse.ltk.ui.refactoring.RefactoringWizard.internalPerformFinish(RefactoringWizard.java:637)
>>> at
>>> org.eclipse.ltk.internal.ui.refactoring.ErrorWizardPage.performFinish(ErrorWizardPage.java:162)
>>> at
>>> org.eclipse.ltk.ui.refactoring.RefactoringWizard.performFinish(RefactoringWizard.java:710)
>>> at
>>> org.eclipse.ltk.internal.ui.refactoring.RefactoringWizardDialog2.okPressed(RefactoringWizardDialog2.java:468)
>>> at org.eclipse.jface.dialogs.Dialog.buttonPressed(Dialog.java:476)
>>> at org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.java:628)
>>> at
>>> org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:248)
>>> at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
>>> at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4166)
>>> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1466)
>>> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1489)
>>> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1474)
>>> at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1279)
>>> at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4012)
>>> at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3651)
>>> at org.eclipse.jface.window.Window.runEventLoop(Window.java:826)
>>> at org.eclipse.jface.window.Window.open(Window.java:802)
>>> at
>>> org.eclipse.ltk.ui.refactoring.RefactoringWizardOpenOperation$1.run(RefactoringWizardOpenOperation.java:187)
>>> at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
>>> at
>>> org.eclipse.ltk.ui.refactoring.RefactoringWizardOpenOperation.run(RefactoringWizardOpenOperation.java:202)
>>> at
>>> org.eclipse.ltk.ui.refactoring.RefactoringWizardOpenOperation.run(RefactoringWizardOpenOperation.java:122)
>>> at
>>> org.eclipse.ltk.internal.ui.refactoring.actions.DeleteResourcesHandler.execute(DeleteResourcesHandler.java:40)
>>> at
>>> org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:290)
>>> at
>>> org.eclipse.ui.internal.handlers.E4HandlerProxy.execute(E4HandlerProxy.java:90)
>>> at sun.reflect.GeneratedMethodAccessor26.invoke(Unknown Source)
>>> at
>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>> at java.lang.reflect.Method.invoke(Method.java:606)
>>> at
>>> org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:56)
>>> at
>>> org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:243)
>>> at
>>> org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:224)
>>> at
>>> org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:132)
>>> at
>>> org.eclipse.e4.core.commands.internal.HandlerServiceHandler.execute(HandlerServiceHandler.java:167)
>>> at org.eclipse.core.commands.Command.executeWithChecks(Command.java:499)
>>> at
>>> org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:508)
>>> at
>>> org.eclipse.e4.core.commands.internal.HandlerServiceImpl.executeHandler(HandlerServiceImpl.java:213)
>>> at
>>> org.eclipse.ui.internal.handlers.LegacyHandlerService.executeCommandInContext(LegacyHandlerService.java:480)
>>> at
>>> org.eclipse.ui.internal.ide.actions.LTKLauncher.runCommand(LTKLauncher.java:95)
>>> at
>>> org.eclipse.ui.internal.ide.actions.LTKLauncher.openDeleteWizard(LTKLauncher.java:47)
>>> at
>>> org.eclipse.ui.actions.DeleteResourceAction.run(DeleteResourceAction.java:474)
>>> at
>>> org.eclipse.ui.actions.BaseSelectionListenerAction.runWithEvent(BaseSelectionListenerAction.java:168)
>>> at
>>> org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:584)
>>> at
>>> org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:501)
>>> at
>>> org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:411)
>>> at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
>>> at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4166)
>>> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1466)
>>> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1489)
>>> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1474)
>>> at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1279)
>>> at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4012)
>>> at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3651)
>>> at
>>> org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1113)
>>> at
>>> org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
>>> at
>>> org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:997)
>>> at
>>> org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:140)
>>> at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:611)
>>> at
>>> org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
>>> at
>>> org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:567)
>>> at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
>>> at
>>> org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:124)
>>> at
>>> org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
>>> at
>>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
>>> at
>>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
>>> at
>>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:354)
>>> at
>>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:181)
>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>> at
>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>>> at
>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>> at java.lang.reflect.Method.invoke(Method.java:606)
>>> at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:636)
>>> at org.eclipse.equinox.launcher.Main.basicRun(Main.java:591)
>>> at org.eclipse.equinox.launcher.Main.run(Main.java:1450)
>>> Caused by: java.lang.NullPointerException
>>> at
>>> org.wso2.developerstudio.eclipse.platform.ui.provider.FilterNestedProjects.getPathList(FilterNestedProjects.java:121)
>>> at
>>> org.wso2.developerstudio.eclipse.platform.ui.provider.FilterNestedProjects.select(FilterNestedProjects.java:91)
>>> at org.eclipse.jface.viewers.ViewerFilter.filter(ViewerFilter.java:51)
>>> at
>>> org.eclipse.jface.viewers.StructuredViewer.getFilteredChildren(StructuredViewer.java:921)
>>> at
>>> org.eclipse.jface.viewers.AbstractTreeViewer.getSortedChildren(AbstractTreeViewer.java:620)
>>> at
>>> org.eclipse.jface.viewers.AbstractTreeViewer.updateChildren(AbstractTreeViewer.java:2645)
>>> at
>>> org.eclipse.jface.viewers.AbstractTreeViewer.internalRefreshStruct(AbstractTreeViewer.java:1923)
>>> at
>>> org.eclipse.jface.viewers.TreeViewer.internalRefreshStruct(TreeViewer.java:721)
>>> at
>>> org.eclipse.jface.viewers.AbstractTreeViewer.internalRefresh(AbstractTreeViewer.java:1898)
>>> at
>>> org.eclipse.jface.viewers.AbstractTreeViewer.internalRefresh(AbstractTreeViewer.java:1855)
>>> at
>>> org.eclipse.ui.navigator.CommonViewer.internalRefresh(CommonViewer.java:561)
>>> at
>>> org.eclipse.jface.viewers.StructuredViewer$8.run(StructuredViewer.java:1535)
>>> at
>>> org.eclipse.jface.viewers.StructuredViewer.preservingSelection(StructuredViewer.java:1443)
>>> at
>>> org.eclipse.jface.viewers.TreeViewer.preservingSelection(TreeViewer.java:403)
>>> at
>>> org.eclipse.jface.viewers.StructuredViewer.preservingSelection(StructuredViewer.java:1404)
>>> at
>>> org.eclipse.jface.viewers.StructuredViewer.refresh(StructuredViewer.java:1533)
>>> at org.eclipse.jface.viewers.ColumnViewer.refresh(ColumnViewer.java:555)
>>> at org.eclipse.ui.navigator.CommonViewer.refresh(CommonViewer.java:353)
>>> at org.eclipse.ui.navigator.CommonViewer.refresh(CommonViewer.java:510)
>>> at
>>> org.eclipse.jface.viewers.StructuredViewer.refresh(StructuredViewer.java:1465)
>>> at
>>> org.wso2.developerstudio.eclipse.platform.ui.provider.ProjectContentProvider$2.run(ProjectContentProvider.java:163)
>>> at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
>>> at
>>> org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135)
>>> ... 77 more
>>>
>>> 4) Bulk import for resources - I guess this is a limitation currently.
>>> There is no way to import bulk set of Proxy services to the project.
>>>
>>> Cheers
>>>
>>>
>>> --
>>> Dulitha Wijewantha (Chan)
>>> Software Engineer - Mobile Development
>>> WSO2 Inc
>>> Lean.Enterprise.Middleware
>>>  * ~Email       duli...@wso2.com <duli...@wso2mobile.com>*
>>> *  ~Mobile     +94712112165 <%2B94712112165>*
>>> *  ~Website   dulitha.me <http://dulitha.me>*
>>> *  ~Twitter     @dulitharw <https://twitter.com/dulitharw>*
>>>   *~Github     @dulichan <https://github.com/dulichan>*
>>>   *~SO     @chan <http://stackoverflow.com/users/813471/chan>*
>>>
>>> _______________________________________________
>>> Dev mailing list
>>> Dev@wso2.org
>>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>>
>>>
>>
>
>
> --
> Dulitha Wijewantha (Chan)
> Software Engineer - Mobile Development
> WSO2 Inc
> Lean.Enterprise.Middleware
>  * ~Email       duli...@wso2.com <duli...@wso2mobile.com>*
> *  ~Mobile     +94712112165 <%2B94712112165>*
> *  ~Website   dulitha.me <http://dulitha.me>*
> *  ~Twitter     @dulitharw <https://twitter.com/dulitharw>*
>   *~Github     @dulichan <https://github.com/dulichan>*
>   *~SO     @chan <http://stackoverflow.com/users/813471/chan>*
>
_______________________________________________
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to