[JBoss JIRA] (JBIDE-21668) Fix collection setters in ResourcesUIModel
by Viacheslav Kabanovich (JIRA)
[ https://issues.jboss.org/browse/JBIDE-21668?page=com.atlassian.jira.plugi... ]
Viacheslav Kabanovich commented on JBIDE-21668:
-----------------------------------------------
[~fbricon], I can do the pull request for my suggestion, it seems simple.
> Fix collection setters in ResourcesUIModel
> ------------------------------------------
>
> Key: JBIDE-21668
> URL: https://issues.jboss.org/browse/JBIDE-21668
> Project: Tools (JBoss Tools)
> Issue Type: Task
> Components: openshift
> Affects Versions: 4.4.0.Alpha1
> Reporter: Viacheslav Kabanovich
> Assignee: Viacheslav Kabanovich
> Fix For: 4.4.x
>
>
> Created as follow up to JBIDE-21590.
> Collections setters in ResourcesUIModel, for instance
> {code}
> public void setBuildConfigs(Collection<IResourceUIModel> buildConfigs) {
> firePropertyChange(PROP_BUILD_CONFIGS, resources.get(ResourceKind.BUILD_CONFIG), resources.put(ResourceKind.BUILD_CONFIG, new ArrayList<>(buildConfigs)));
> }
> {code}
> fire incorrect newValue object, because java.util.Map.put(key, value) returns old object associated with the key, not the one just set.
> At this moment, this does not create any bugs, because these setters are still not used, all changes go through ResourcesUIModel.add, ResourcesUIModel.remove, ResourcesUIModel.update that have correct notification. But bugs may appear as soon as collection setters are used, so that they better be fixed, for instance this way :
> {code}
> public void setBuildConfigs(Collection<IResourceUIModel> buildConfigs) {
> setResourcesForKind(buildConfigs, ResourceKind.BUILD_CONFIG);
> }
> private void setResourcesForKind(Collection<IResourceUIModel> list, String kind) {
> List<IResourceUIModel> oldList = resources.get(kind);
> List<IResourceUIModel> newList = new ArrayList<IResourceUIModel>(list);
> resources.put(kind, newList);
> firePropertyChange(getProperty(kind), oldList, newList);
> }
> {code}
> and with use of private setResourcesForKind all other setters will remain one-liners.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
9 years, 10 months
[JBoss JIRA] (JBDS-3899) Include latest wst.jsdt and chromium.debug features in TPs, jboss tools, and devstudio
by Victor Rubezhny (JIRA)
[ https://issues.jboss.org/browse/JBDS-3899?page=com.atlassian.jira.plugin.... ]
Victor Rubezhny edited comment on JBDS-3899 at 5/24/16 2:23 PM:
----------------------------------------------------------------
We need to install:
org.eclipse.wst.jsdt.feature - for JSDT
org.eclipse.wst.jsdt.chromium.debug.feature - for JSDT Chromuim Debuger
Edited: I've removed the source features from the request because the sources were never included inro devstudio. So, the following features aren't to be included:
org.eclipse.wst.jsdt_sdk.feature - for JSDT SDK (JSDT + Sources)
org.eclipse.wst.jsdt.chromium_sdk.feature - for JSDT Chromuim Debuger SDK (Debuger + Sources)
was (Author: vrubezhny):
We need to install:
org.eclipse.wst.jsdt.feature - for JSDT
org.eclipse.wst.jsdt_sdk.feature - for JSDT SDK (JSDT + Sources)
org.eclipse.wst.jsdt.chromium.debug.feature - for JSDT Chromuim Debuger
org.eclipse.wst.jsdt.chromium_sdk.feature - for JSDT Chromuim Debuger SDK (Debuger + Sources)
> Include latest wst.jsdt and chromium.debug features in TPs, jboss tools, and devstudio
> --------------------------------------------------------------------------------------
>
> Key: JBDS-3899
> URL: https://issues.jboss.org/browse/JBDS-3899
> Project: Red Hat Developer Studio (DevStudio)
> Issue Type: Task
> Components: target-platform
> Reporter: Alexey Kazakov
> Assignee: Nick Boldt
> Priority: Blocker
> Fix For: 10.0.0.Alpha3
>
>
> New JSDT included new Debugger plugins. They are not included in JSDT feature afaik.
> We should make sure we have all needed plugins/features included in devstudio and JBT TPs/market place/installation.
> [~vrubezhny], [~ibuziuk] please provide all needed info for [~nickboldt].
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
9 years, 10 months