This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

Bug 115844 - ClearCase profile not annotating files & registering menu items
Summary: ClearCase profile not annotating files & registering menu items
Status: RESOLVED FIXED
Alias: None
Product: obsolete
Classification: Unclassified
Component: vcsgeneric (show other bugs)
Version: 6.x
Hardware: All Windows XP
: P2 blocker with 1 vote (vote)
Assignee: Martin Entlicher
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-09-18 13:48 UTC by akochnev
Modified: 2007-11-09 19:11 UTC (History)
0 users

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description akochnev 2007-09-18 13:48:20 UTC
1. When I add a ClearCase versioned directory in the Versioning Manager, it throws an exception that I had mentioned in
the "Clearcase Support for M10..." thread, evidently, the "home" property is not writable any more.
java.beans.IntrospectionException: Method not found: setHome
        at java.beans.PropertyDescriptor.<init>(PropertyDescriptor.java:93)
        at java.beans.PropertyDescriptor.<init>(PropertyDescriptor.java:53)
        at
org.netbeans.modules.vcscore.settings.GeneralVcsSettingsBeanInfo.getPropertyDescriptors(GeneralVcsSettingsBeanInfo.java:44)
        at java.beans.Introspector.getTargetPropertyInfo(Introspector.java:479)
        at java.beans.Introspector.getBeanInfo(Introspector.java:389)
        at java.beans.Introspector.getBeanInfo(Introspector.java:222)
        at java.beans.Introspector.getBeanInfo(Introspector.java:208)
        at org.openide.util.Utilities.getBeanInfo(Utilities.java:449)
        at org.openide.options.SystemOption.writeExternal(SystemOption.java:191)
        at org.openide.util.SharedClassObject$WriteReplace.writeObject(SharedClassObject.java:679)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:945)
        at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1461)
        at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
        at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
        at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
        at org.netbeans.modules.settings.convertors.XMLSettingsSupport.storeSerialData(XMLSettingsSupport.java:247)
        at org.netbeans.modules.settings.convertors.XMLSettingsSupport.storeToXML10(XMLSettingsSupport.java:88)
        at org.netbeans.modules.settings.convertors.SerialDataConvertor.write(SerialDataConvertor.java:110)
        at org.netbeans.modules.settings.convertors.SerialDataConvertor$SaveSupport.writeDown(SerialDataConvertor.java:809)
        at org.netbeans.modules.settings.convertors.SerialDataConvertor$SaveSupport.access$200(SerialDataConvertor.java:496)
        at org.netbeans.modules.settings.convertors.SerialDataConvertor.run(SerialDataConvertor.java:317)
        at org.netbeans.modules.settings.ScheduledRequest.performRequest(ScheduledRequest.java:175)
        at org.netbeans.modules.settings.ScheduledRequest.run(ScheduledRequest.java:150)
        at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:539)
[catch] at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:964)

2. Even when I fixed the BeanInfo class to not throw that exception, after the VCS & ClearCase modules are installed, no
menu items are registered when you right click on a directory or a file, and none of the directories are annotated with
CC status labels ( I poked around the VCS source but didn't see why it might be happening immediately - all actions are
declared in the layer file, etc, there must be some Cookie that's not getting set or something) . In 5.5.1 the ClearCase
plugin also adds a ClearCase menu item under the versioning menu; that doesn't happen either. 

Even though the menu items don't register, there is partial functionality available (e.g. it automatically checks out
files that are under ClearCase version control):
1. Add a  ClearCase versioned directory through the Versioning Manager, completes sucessfully, although no annotations
or  menu items are registered properly. 
2. Open a file, opens up as read-only. 
3. Attempt to edit the file, NetBeans prompts whether the file should be checked out.
Comment 1 Martin Entlicher 2007-09-18 14:01:06 UTC
The problem with setHome is a regression caused by some API changes. I'm going to fix it.

Regarding missing menu items, I've no idea what has changed, something in the core of NetBeans has stopped working. I'll
look at it. Since the new CVS module has items in the popup menus, there is likely some different way how to do it now.
Use Versioning -> ClearCase from the main menu as a workaround till it's fixed.
Comment 2 akochnev 2007-09-18 14:06:09 UTC
The Versioning -> ClearCase menu item doesn't show up either, effectively making the CC functionality inaccessible. My
Versioning menu only has "Versioning Manager" and "Local History" on it. 
Comment 3 akochnev 2007-09-18 14:21:52 UTC
Some more details surrounding the issue are on the mailing lists (e.g. dependencies on mdr, tokens that aren't there
anymore) at http://www.nabble.com/Building-VCS-saga---Where-oh-where-is-MDR---t4404064.html and
http://www.nabble.com/ClearCase-support-for-M10%2C-possibly-M11---t4354762.html
Comment 4 akochnev 2007-09-19 17:01:39 UTC
An additional piece of information that might be helpful : 

I tried the CVS VCS plugin and it did register a menu item in the versioning menu. I compared the layer files for CC and
CVS, and I noticed that the ClearCase plugin is missing the equivalent registration in the menu system (under the "vcs"
folder)

    <folder name="versioningMenu">
      <file name="cvs.xml">
            <attr name="SystemFileSystem.localizingBundle"
stringvalue="org.netbeans.modules.vcs.profiles.cvsprofiles.Bundle" />
      </file>
    </folder>

The CVS plugin also registers a service, which the CC plugin doesn't do. 
<folder name="Services">
        <folder name="FileAttributeProviders">
            <folder name="Default">
                <file name="org-netbeans-modules-vcs-profiles-cvsprofiles-list-CvsFileAttributeProvider.instance">
                    <attr name="instanceCreate"
newvalue="org.netbeans.modules.vcs.profiles.cvsprofiles.list.CvsFileAttributeProvider" />
                    <attr name="instanceOf" stringvalue="org.netbeans.modules.vcscore.turbo.local.FileAttributeProvider" />
                </file>
            </folder>
        </folder>
    </folder>

Overall, the CC plugin seems pretty empty (with only 3 packages with only a few classes in them, whereas the CVS plugin
has about 13 packages with a lot more classes. 
Comment 5 akochnev 2007-09-19 21:27:36 UTC
Some more info on the subject : 

1. The whole org.netbeans.modules.vcs.profiles.clearcase package is missing. When I look in CVS, the attic has some
files that are a few years old. At the same time, when I look at the binary clearcase plugin from 5.5.1 the same package
and commands are available. 

2. The org.netbeans.modules.vcs.profiles.clearcase.config.ClearCase.xml file is significantly different from what's
deployed in 5.5.1. I really don't know the impact of the differences, but I thought it might be worth mentioning (e.g.
considering that the module is not actively developed, it seems unlikely that so many changes would be exist). 
Comment 6 akochnev 2007-09-19 21:42:46 UTC
Sorry, I meant to say that the org.netbeans.modules.vcs.profiles.clearcase.commands package is missing. 

Also, yet another piece of the puzzle : when a ClearCase directory is mounted, it doesn't show up in the Versioning
explorer. 
Comment 7 Martin Entlicher 2007-10-17 15:46:05 UTC
There is several problems described.
- The problem with setHome was already fixed some time ago.
- Now I've identified the problem with missing menu items and annotations.
- It looks like there was some development of ClearCase module on a 5.5 branch only. This was not merged into trunk for
some strange reason. I can merge it to the trunk, hopefully it will function correctly, like in NB 5.5.
Comment 8 akochnev 2007-10-17 16:00:49 UTC
Could you please post a note here when you merge the 5.5 work in here, I'd like to give it a go ASAP. 

I'm curious, would you be able to also post a couple of sentences on the cause for the missing menu items and
annotations ? I did spend a bunch of time trying to figure out the reason, but I never found the root cause.. thus, I'm
curios... 
Comment 9 Martin Entlicher 2007-10-17 16:01:34 UTC
The annotations and actions are back:

/shared/data/ccvs/repository/vcscore/src/META-INF/services/org.netbeans.modules.masterfs.providers.AnnotationProvider,v
 <--  org.netbeans.modules.masterfs.providers.AnnotationProvider
new revision: 1.2; previous revision: 1.1

/shared/data/ccvs/repository/vcscore/src/org/netbeans/modules/vcscore/VcsAnnotationProvider.java,v  <-- 
VcsAnnotationProvider.java
new revision: 1.2; previous revision: 1.1

/shared/data/ccvs/repository/vcscore/src/org/netbeans/modules/vcscore/resources/mf-layer.xml,v  <--  mf-layer.xml
new revision: 1.54; previous revision: 1.53
Comment 10 akochnev 2007-10-24 16:51:54 UTC
In it's current state, there are no context menus when you right-click on a file/folder that is CC versioned. Please add
the following to the mf-layer.xml in the ClearCase Profile for Generic VCS module: 

  <folder name="versioningMenu">
    <file name="ClearCase.xml">
      <attr name="SystemFileSystem.localizingBundle" stringvalue="org.netbeans.modules.vcs.profiles.clearcase.Bundle" />
    </file>
  </folder>

Adding this snippet starts showing the context menus. 
Comment 11 Martin Entlicher 2007-11-07 17:18:30 UTC
The "bow" branch is merged into trunk, so that functionality that was available in past releases is back in the mainstream:

Checking in nbproject/project.xml;
/shared/data/ccvs/repository/vcsgeneric/profiles/clearcase/nbproject/project.xml,v  <--  project.xml
new revision: 1.7; previous revision: 1.6
done
Checking in src/org/netbeans/modules/vcs/profiles/clearcase/commands/Bundle.properties;
/shared/data/ccvs/repository/vcsgeneric/profiles/clearcase/src/org/netbeans/modules/vcs/profiles/clearcase/commands/Bundle.properties,v
 <--  Bundle.properties
new revision: 1.2; previous revision: 1.1
done
Checking in src/org/netbeans/modules/vcs/profiles/clearcase/commands/ClearCaseAbstractCommand.java;
/shared/data/ccvs/repository/vcsgeneric/profiles/clearcase/src/org/netbeans/modules/vcs/profiles/clearcase/commands/ClearCaseAbstractCommand.java,v
 <--  ClearCaseAbstractCommand.java
new revision: 1.2; previous revision: 1.1
done
Checking in src/org/netbeans/modules/vcs/profiles/clearcase/commands/ClearCaseCheckinCommand.java;
/shared/data/ccvs/repository/vcsgeneric/profiles/clearcase/src/org/netbeans/modules/vcs/profiles/clearcase/commands/ClearCaseCheckinCommand.java,v
 <--  ClearCaseCheckinCommand.java
new revision: 1.2; previous revision: 1.1
done
Checking in src/org/netbeans/modules/vcs/profiles/clearcase/commands/ClearCaseMkdirCommand.java;
/shared/data/ccvs/repository/vcsgeneric/profiles/clearcase/src/org/netbeans/modules/vcs/profiles/clearcase/commands/ClearCaseMkdirCommand.java,v
 <--  ClearCaseMkdirCommand.java
new revision: 1.2; previous revision: 1.1
done
Checking in src/org/netbeans/modules/vcs/profiles/clearcase/commands/ClearCaseRmdirCommand.java;
/shared/data/ccvs/repository/vcsgeneric/profiles/clearcase/src/org/netbeans/modules/vcs/profiles/clearcase/commands/ClearCaseRmdirCommand.java,v
 <--  ClearCaseRmdirCommand.java
new revision: 1.2; previous revision: 1.1
done
Checking in src/org/netbeans/modules/vcs/profiles/clearcase/config/Bundle.properties;
/shared/data/ccvs/repository/vcsgeneric/profiles/clearcase/src/org/netbeans/modules/vcs/profiles/clearcase/config/Bundle.properties,v
 <--  Bundle.properties
new revision: 1.10; previous revision: 1.9
done
Checking in src/org/netbeans/modules/vcs/profiles/clearcase/config/ClearCase.xml;
/shared/data/ccvs/repository/vcsgeneric/profiles/clearcase/src/org/netbeans/modules/vcs/profiles/clearcase/config/ClearCase.xml,v
 <--  ClearCase.xml
new revision: 1.11; previous revision: 1.10
done
Checking in src/org/netbeans/modules/vcs/profiles/clearcase/list/ClearCaseListCommand.java;
/shared/data/ccvs/repository/vcsgeneric/profiles/clearcase/src/org/netbeans/modules/vcs/profiles/clearcase/list/ClearCaseListCommand.java,v
 <--  ClearCaseListCommand.java
new revision: 1.7; previous revision: 1.6
Comment 12 Martin Entlicher 2007-11-09 16:20:39 UTC
The ClearCase menu is registered now under Versioning menu.
Please verify that ClearCase profile works fine now in 6.0.

/shared/data/ccvs/repository/vcscore/src/org/netbeans/modules/vcscore/actions/VcsAllCommandsAction.java,v  <-- 
VcsAllCommandsAction.java
new revision: 1.20; previous revision: 1.19

/shared/data/ccvs/repository/vcsgeneric/profiles/clearcase/src/org/netbeans/modules/vcs/profiles/clearcase/Bundle.properties,v
 <--  Bundle.properties
new revision: 1.7; previous revision: 1.6

/shared/data/ccvs/repository/vcsgeneric/profiles/clearcase/src/org/netbeans/modules/vcs/profiles/clearcase/mf-layer.xml,v
 <--  mf-layer.xml
new revision: 1.6; previous revision: 1.5
Comment 13 akochnev 2007-11-09 19:11:22 UTC
The context menu items in the explorer, as well as the global Versioning menu item displays as expected. There is still
an issue w/ the Versioning TopComponent, I will file a separate bug for that.