| 4 |
<title>Support Logical Resources</title> |
<title>Support Logical Resources</title> |
| 5 |
</head> |
</head> |
| 6 |
<body> |
<body> |
| 7 |
<table border="0" cellspacing="5" cellpadding="2" width="100%"> |
<table width="100%" cellpadding="2" cellspacing="5" border="0"> |
| 8 |
<tbody> |
<tbody> |
| 9 |
<tr> |
<tr> |
| 10 |
<td align="left" valign="top" bgcolor="#0080c0"> <b><font |
<td bgcolor="#0080c0" valign="top" align="left"> <b><font |
| 11 |
color="#ffffff" face="Arial,Helvetica"> Eclipse 3.1 - Plan item</font></b> |
face="Arial,Helvetica" color="#ffffff"> Eclipse 3.1 - Plan item</font></b> |
| 12 |
</td> |
</td> |
| 13 |
</tr> |
</tr> |
| 14 |
</tbody> |
</tbody> |
| 81 |
physical resources are used in current applications integrated into |
physical resources are used in current applications integrated into |
| 82 |
Eclipse.</p> |
Eclipse.</p> |
| 83 |
<p><a name="#table1"></a>Table 1: Example logical to physical uses</p> |
<p><a name="#table1"></a>Table 1: Example logical to physical uses</p> |
| 84 |
<table width="100%" border="1"> |
<table border="1" width="100%"> |
| 85 |
<tbody> |
<tbody> |
| 86 |
<tr> |
<tr> |
| 87 |
<td width="23%"> |
<td width="23%"> |
| 205 |
by contributing domain specific pages. JDT contributes a JDT search |
by contributing domain specific pages. JDT contributes a JDT search |
| 206 |
page to the view and shows logical Java elements. This solution however |
page to the view and shows logical Java elements. This solution however |
| 207 |
doesn't allow showing mixed logical models in the same widget, which is |
doesn't allow showing mixed logical models in the same widget, which is |
| 208 |
required in the Synchronize View and Navigator.<br> |
required several presentations in the SDK such as the Synchronize View, |
| 209 |
|
Navigator, Refactoring Preview, and many others.<br> |
| 210 |
</p> |
</p> |
| 211 |
Also, if an action prompts the user, for example to add resources to |
Also, if an action prompts the user, for example to add resources to |
| 212 |
CVS, what icons and labels are used in the dialog? It would be nice to |
CVS, what icons and labels are used in the dialog? It would be nice to |
| 216 |
<ul> |
<ul> |
| 217 |
<li>Need for full access to a logical model that would allow building |
<li>Need for full access to a logical model that would allow building |
| 218 |
a dynamic UI. This would include mapping from an IResource to a logical |
a dynamic UI. This would include mapping from an IResource to a logical |
| 219 |
element.<br> |
element (Complex).<br> |
| 220 |
</li> |
</li> |
| 221 |
</ul> |
</ul> |
| 222 |
<ul> |
<ul> |
| 223 |
<li>Need name and icon for a logical element to display in simple |
<li>Need name and icon for a logical element to display in simple |
| 224 |
dialogs.<br> |
dialogs (Simple).<br> |
| 225 |
</li> |
</li> |
| 226 |
</ul> |
</ul> |
| 227 |
<h2>Complaint 4: Change Sets</h2> |
<h2>Complaint 4: Change Sets</h2> |
| 228 |
<p>Consider a user's action as a logical change, for example, the user |
<p>Consider a user's action as a logical change, for example, the user |
| 229 |
renames a class using the JDT refactoring action. In the user's mind he |
renames a class using the JDT refactoring action. In the user's mind he |
| 230 |
'renamed a class' and as a result there has been many other file |
'renamed a class' and knows that there have been side effects to other |
| 231 |
changes. Currently there is not way of capturing these logical actions |
resources. Currently there is not way of capturing these logical |
| 232 |
|
actions |
| 233 |
and associating the set of affected resources. This problem manifests |
and associating the set of affected resources. This problem manifests |
| 234 |
itself more in tools where almost every change to the model has side |
itself more in tools where almost every change to the model has side |
| 235 |
effects.</p> |
effects.</p> |
| 238 |
of operations are |
of operations are |
| 239 |
allowed on theirs files. For example, if a logical element is composed |
allowed on theirs files. For example, if a logical element is composed |
| 240 |
of three files, the users should not be allowed to move, or delete them |
of three files, the users should not be allowed to move, or delete them |
| 241 |
individually. In essence, a way of vetoing the move/rename, copy, or |
individually. In essence, a way of vetoing or participating in all |
| 242 |
delete would be useful to ensure a coherant logical model.<br> |
resource refactorings for resources that are part of a logical model.<br> |
| 243 |
|
<br> |
| 244 |
|
The most obvious problem in the current Eclipse is that the resource |
| 245 |
|
navigator exposes resource refactorings (move, delete, copy) and the |
| 246 |
|
logical cannot easily override this behavior. <br> |
| 247 |
<h2>Complaint 6: IResource based views in the IDE</h2> |
<h2>Complaint 6: IResource based views in the IDE</h2> |
| 248 |
There are several views in the workbench IDE that could be used by |
There are several views in the workbench IDE that could be used by |
| 249 |
logical models but are currently too tied to resources. For example, |
logical models but are currently too tied to resources. For example, |
| 262 |
revisions of the other files. This is a problem because it then becomes |
revisions of the other files. This is a problem because it then becomes |
| 263 |
impossible to implement a comparison that has access to all the |
impossible to implement a comparison that has access to all the |
| 264 |
revisions of the logical element's files.<br> |
revisions of the logical element's files.<br> |
| 265 |
|
<h2>Complaint 8: Creating non-IResource projects that appear in the |
| 266 |
|
navigator</h2> |
| 267 |
|
Currently the Navigator displays the Resources plugin workspace and |
| 268 |
|
thus only resource projects can be displayed. Many clients would like |
| 269 |
|
to create projects that are not file based. The current workaround is |
| 270 |
|
to provide access to the non-file based project via a custom view, but |
| 271 |
|
better integration would occur if the navigator actually showed all |
| 272 |
|
project types.<br> |
| 273 |
<h1>Discussion</h1> |
<h1>Discussion</h1> |
| 274 |
<p>Given the number of different complaints about logical resource |
<p>Given the number of different complaints about logical resource |
| 275 |
support indicates that this is indeed a large problem space. If we plan |
support indicates that this is indeed a large problem space. If we plan |
| 282 |
</span>Complaint 1: Not very adaptable<br> |
</span>Complaint 1: Not very adaptable<br> |
| 283 |
Complaint 2: Decorators<br> |
Complaint 2: Decorators<br> |
| 284 |
Complaint 7: Merging can't consider files related to a logical element<br> |
Complaint 7: Merging can't consider files related to a logical element<br> |
| 285 |
|
Complaint 5: Participating in operations<br> |
| 286 |
</p> |
</p> |
| 287 |
<p><span style="font-weight: bold;">Presentation of logical models: |
<p><span style="font-weight: bold;">Presentation of logical models: |
| 288 |
Related to exposing a non-resource based data modeling framework</span><br> |
Related to exposing a non-resource based data modeling framework</span><br> |
| 291 |
</p> |
</p> |
| 292 |
<span style="font-weight: bold;">Others</span><br> |
<span style="font-weight: bold;">Others</span><br> |
| 293 |
Complaint 4: Change Sets<br> |
Complaint 4: Change Sets<br> |
|
Complaint 5: Participating in operations |
|
| 294 |
<p>A common discussion in the community is the idea |
<p>A common discussion in the community is the idea |
| 295 |
that the resources plug-in should be generalized to become this generic |
that the resources plug-in should be generalized to become this generic |
| 296 |
model, but in reality it wasn't designed as such and although it |
model, but in reality it wasn't designed as such and although it |