Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 290254

Summary: Test Navigator refactoring operations synchronize test asset logical and resource names.
Product: z_Archived Reporter: Paul Slauenwhite <paulslau>
Component: TPTPAssignee: Bozier jerome <jerome.bozier>
Status: CLOSED WONTFIX QA Contact: Kathy Chan <kathy>
Severity: major    
Priority: P2 CC: paulslau
Version: unspecified   
Target Milestone: ---   
Hardware: All   
OS: All   
Whiteboard:
Bug Depends on: 279090, 286952    
Bug Blocks:    

Description Paul Slauenwhite CLA 2009-09-23 09:04:14 EDT
Test Navigator refactoring operations synchronize test asset logical and resource names.

The Test Navigator refactoring scenarios (e.g. rename, copy/cut/paste, etc.) synchronize the logical and resource names.  This behavior is incorrect since the logical and resource names are intended to be different, in that the logical name allows customization of the test asset name without affecting the file name within the workspace (see [1] in http://help.eclipse.org/galileo/topic/org.eclipse.hyades.test.doc.user/concepts/cartifacteditor.htm).

For example, changing the name of the test asset in the Test Navigator/test editor should only update the logical name and not the resource name.  Similarly, changing the name of the test asset file should only update the resource name and not the logical name.

Rules:

1) When a test asset is created, the resource and logical names should be the same.  

2) Any changes (e.g. rename) to the name of the test asset in the Test Navigator should only update the logical name of the test asset.

3) Any changes (e.g. rename) to the name of the test asset in the editor should only update the logical name of the test asset.

4) Any changes (e.g. rename) to the name of the test asset from copy/cut/paste in the Test Navigator should only update the logical name of the test asset.

5) The resource (or test asset file) name can only be changed outside the Test Navigator (e.g. Package Explorer) and not affect the logical name.

6) Name validation should only be done based on the logical name.  Note, the logical name is the same as the resource name when the test asset is created.

Requires new test cases for each refactoring and name validation scenarios.
Comment 1 Paul Slauenwhite CLA 2009-09-23 09:04:49 EDT
Jerome, please provide a sizing.
Comment 2 Paul Slauenwhite CLA 2009-09-23 09:05:42 EDT
*** Bug 228260 has been marked as a duplicate of this bug. ***
Comment 3 Paul Slauenwhite CLA 2009-09-24 11:22:45 EDT
See org.eclipse.hyades.test.ui.internal.util.TestUIUtilities.isValidLogicalName(String, IContainer) introduced under 286952.
Comment 4 Paul Slauenwhite CLA 2009-09-24 12:19:02 EDT
Remove org.eclipse.hyades.test.ui.util.TestUIUtil.isLogicalNameAvailable(String, IContainer) since we can have duplicate logical names in the same container but can NOT have duplicate resource names in the same container.
Comment 5 Paul Slauenwhite CLA 2009-10-26 06:42:55 EDT
Jerome, please provide a sizing.
Comment 6 Bozier jerome CLA 2009-10-28 10:15:01 EDT
(In reply to comment #0)
. rule 1 : actual rule
. rule 2 : minor change
. rule 3 : actual rule
. rule 4 : see bellow
. rule 5 : no change if rules 2 & 4 are fixed
. rule 6 : see below

to clarify the talk, an element named A(B) mean that its logical name is A and its physical name is B

I have 2 problems with rules 4 & 6 :
. we copy a test element A(B)
. we paste it in a container that already contains A(C)
if we make a "total" paste, we will have 2 element with the same logical name inside the container. 
is it acceptable ? would "Copy of A(B)" better ?

. we copy a test element A(B)
. we paste it in a container that already contains C(B)
with the actual solution and rule 2/4 change, we will paste an element A(Copy of B)
is it acceptable ? would "Copy of A(Copy of B)" better ?
Comment 7 Paul Slauenwhite CLA 2009-10-30 11:24:47 EDT
(In reply to comment #6)
> (In reply to comment #0)
> . rule 1 : actual rule
> . rule 2 : minor change
> . rule 3 : actual rule
> . rule 4 : see bellow
> . rule 5 : no change if rules 2 & 4 are fixed
> . rule 6 : see below
> 
> to clarify the talk, an element named A(B) mean that its logical name is A and
> its physical name is B
> 
> I have 2 problems with rules 4 & 6 :
> . we copy a test element A(B)
> . we paste it in a container that already contains A(C)
> if we make a "total" paste, we will have 2 element with the same logical name
> inside the container. 
> is it acceptable ? would "Copy of A(B)" better ?

I would suggest 'Copy of A(B)'.

> . we copy a test element A(B)
> . we paste it in a container that already contains C(B)
> with the actual solution and rule 2/4 change, we will paste an element A(Copy
> of B)
> is it acceptable ? would "Copy of A(Copy of B)" better ?

I would suggest 'A(Copy of B)'.

Ultimately, we want to maintain the distinction between resource and logical names and the only relation be when we initially create the test asset (e.g. the logical name is the same as the resource name when the test asset is created).
Comment 8 Bozier jerome CLA 2009-11-23 05:25:12 EST
updating estimated time (a big part is for testing)
Comment 9 Paul Slauenwhite CLA 2010-05-07 06:48:10 EDT
Deferring to future due to lack resources to complete in TPTP 4.7.0.
Comment 10 Paul Slauenwhite CLA 2010-06-24 13:04:12 EDT
No longer required by a consuming product.
Comment 11 Paul Slauenwhite CLA 2010-06-24 13:33:12 EDT
Closing.