[jbosstools-issues] [JBoss JIRA] (JBIDE-22138) Server adapter: doesn't respect openshift maven profile

Andre Dietisheim (JIRA) issues at jboss.org
Fri Aug 3 11:10:01 EDT 2018


    [ https://issues.jboss.org/browse/JBIDE-22138?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13609084#comment-13609084 ] 

Andre Dietisheim edited comment on JBIDE-22138 at 8/3/18 11:09 AM:
-------------------------------------------------------------------

[~rob.stryker] m2e-wtp sets the module name in the following method: [AbstractProjectConfiguratorDelegate#configureDeployedName|https://github.com/eclipse/m2e.wtp/blob/master/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/AbstractProjectConfiguratorDelegate.java#L179]
I see it being called, which then causes the file to change on disk. 

This then causes *J2EEModuleVirtualComponent* to clear it's cache:
{code}
J2EEModuleVirtualComponent(VirtualComponent).clearCache() line: 721	
J2EEModuleVirtualComponent.clearCache() line: 512	
J2EEModuleVirtualComponent(VirtualComponent).resourceChanged(Resource) line: 95	
VirtualComponent$ResourceAdapter.notifyChanged(Notification) line: 78	
WTPModulesResource(TranslatorResourceImpl).eNotify(Notification) line: 444	
WTPModulesResource(ResourceImpl).setModified(boolean) line: 1867	
WTPModulesResource(TranslatorResourceImpl).doSave(OutputStream, Map) line: 192	
WTPModulesResource(ResourceImpl).save(OutputStream, Map<?,?>) line: 1475	
WTPModulesResource(ResourceImpl).save(Map<?,?>) line: 1044	
WTPModulesResource(ReferencedXMIResourceImpl).save(Map) line: 377	
WTPModulesResource(TranslatorResourceImpl).save(Map) line: 167	
ModuleStructuralModel(EditModel).primSaveResource(Resource) line: 1303	
ModuleStructuralModel(EditModel).saveResource(Resource) line: 1334	
ModuleStructuralModel(EditModel).primSave(IProgressMonitor) line: 1269	
EditModel$1.run(IProgressMonitor) line: 373	
Workspace.run(ICoreRunnable, ISchedulingRule, int, IProgressMonitor) line: 2289	
Workspace.run(IWorkspaceRunnable, ISchedulingRule, int, IProgressMonitor) line: 2316	
ModuleStructuralModel.runSaveOperation(IWorkspaceRunnable, IProgressMonitor) line: 310	
ModuleStructuralModel(EditModel).save(IProgressMonitor, Object) line: 376	
ModuleStructuralModel.saveIfNecessary(IProgressMonitor, Object) line: 392	
StructureEdit.saveIfNecessary(IProgressMonitor) line: 397	
WebProjectConfiguratorDelegate(AbstractProjectConfiguratorDelegate).configureDeployedName(IProject, String) line: 189
{code}

But I dont see *JEEDeployableFactory#clearCache* being called. Btw. I dont see JEEDeployableFactory listening to resource change. Here are the listeners that I see registered:
* org.eclipse.emf.common.notify.impl.AdapterImpl at 21197771
* org.eclipse.wst.common.internal.emfworkbench.integration.EditModel$ResourceAdapter at 6bc55154
* org.eclipse.wst.common.internal.emfworkbench.WorkbenchResourceHelper$FileAdapter at 3543d4e1
* EMF2DOMAdapterImpl(#document,WTPModulesResource), org.eclipse.wst.common.componentcore.internal.resources.VirtualComponent$ResourceAdapter at 2e185af0



was (Author: adietish):
[~rob.stryker] m2e-wtp sets the module name in the following method: [AbstractProjectConfiguratorDelegate#configureDeployedName|https://github.com/eclipse/m2e.wtp/blob/master/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/AbstractProjectConfiguratorDelegate.java#L179]
I see it being called, which then causes the file to change on disk. 

This then causes *J2EEModuleVirtualComponent* to clear it's cache:
{code}
J2EEModuleVirtualComponent(VirtualComponent).clearCache() line: 721	
J2EEModuleVirtualComponent.clearCache() line: 512	
J2EEModuleVirtualComponent(VirtualComponent).resourceChanged(Resource) line: 95	
VirtualComponent$ResourceAdapter.notifyChanged(Notification) line: 78	
WTPModulesResource(TranslatorResourceImpl).eNotify(Notification) line: 444	
WTPModulesResource(ResourceImpl).setModified(boolean) line: 1867	
WTPModulesResource(TranslatorResourceImpl).doSave(OutputStream, Map) line: 192	
WTPModulesResource(ResourceImpl).save(OutputStream, Map<?,?>) line: 1475	
WTPModulesResource(ResourceImpl).save(Map<?,?>) line: 1044	
WTPModulesResource(ReferencedXMIResourceImpl).save(Map) line: 377	
WTPModulesResource(TranslatorResourceImpl).save(Map) line: 167	
ModuleStructuralModel(EditModel).primSaveResource(Resource) line: 1303	
ModuleStructuralModel(EditModel).saveResource(Resource) line: 1334	
ModuleStructuralModel(EditModel).primSave(IProgressMonitor) line: 1269	
EditModel$1.run(IProgressMonitor) line: 373	
Workspace.run(ICoreRunnable, ISchedulingRule, int, IProgressMonitor) line: 2289	
Workspace.run(IWorkspaceRunnable, ISchedulingRule, int, IProgressMonitor) line: 2316	
ModuleStructuralModel.runSaveOperation(IWorkspaceRunnable, IProgressMonitor) line: 310	
ModuleStructuralModel(EditModel).save(IProgressMonitor, Object) line: 376	
ModuleStructuralModel.saveIfNecessary(IProgressMonitor, Object) line: 392	
StructureEdit.saveIfNecessary(IProgressMonitor) line: 397	
WebProjectConfiguratorDelegate(AbstractProjectConfiguratorDelegate).configureDeployedName(IProject, String) line: 189
{code}

But I dont see *JEEDeployableFactory#clearCache* being called. Btw. I dont see J2EEDeployableFactory listening to resource change. Here are the listeners that I see registered:
* org.eclipse.emf.common.notify.impl.AdapterImpl at 21197771
* org.eclipse.wst.common.internal.emfworkbench.integration.EditModel$ResourceAdapter at 6bc55154
* org.eclipse.wst.common.internal.emfworkbench.WorkbenchResourceHelper$FileAdapter at 3543d4e1
* EMF2DOMAdapterImpl(#document,WTPModulesResource), org.eclipse.wst.common.componentcore.internal.resources.VirtualComponent$ResourceAdapter at 2e185af0


> Server adapter: doesn't respect openshift maven profile
> -------------------------------------------------------
>
>                 Key: JBIDE-22138
>                 URL: https://issues.jboss.org/browse/JBIDE-22138
>             Project: Tools (JBoss Tools)
>          Issue Type: Bug
>          Components: openshift
>         Environment: JBoss Developer Studio (Core Features) 9.1.0.GA-v20160403-1700-B477
> Openshift plugin 3.1.0.Final-v20160401-2357-B263
>            Reporter: Rafael Benevides
>            Assignee: Andre Dietisheim
>              Labels: openshift_v3, server_adapter
>             Fix For: 4.9.0.AM2
>
>         Attachments: image-2018-06-22-19-02-57-247.png
>
>
> This is a follow up on JBIDE-22128.
> The maven profile is never read to determine the actual archive name. That will require more coupling to m2e, in order to load the pom.xml model using the openshift profile, if it exists, in order to determine the archive name. This will be a long running operation and will require more significant changes
> steps:
> # EXEC: follow steps outlined in https://github.com/redhat-helloworld-msa/helloworld-msa/blob/master/hello.adoc (deploying with fabric8 maven plugin doesn't work, you end up having the pod failing with ImagePullBack error. You need to take the alternative road where you deploy via "oc new-build", "oc new-app", "oc expose" etc.)
> # EXEC: import the app into your Eclipse workspace
> # EXEC: "hello" (workspace) project: Properties > Maven > Active Maven Profile: set "openshift" 
> # EXEC: create a server adapter and start it
> # ASSERT: adapter starts syncing, verify what war is used
> Result:
> The war that's created locally and then synced to the pod is "hello.war" even though the profile specifies "ROOT.war"



--
This message was sent by Atlassian JIRA
(v7.5.0#75005)


More information about the jbosstools-issues mailing list