Community
Participate
Working Groups
Steps: - create a binary project in your workspace (I used ...team.cvs.ui) - in a java browsing perspective open some type in the editor (e.g., CVSDecorator) - From a CVS repo view, pick a version of the project adn load it (I used 201 20020828 but it shouldn't matter) - notice that the editor stays open (you can close it with no errors) - notice that the type view is still populated - select a different typ in the types view and you get an error saying that teamcvsui.jar no longer exists. I suspect that this case is reproducable in other ways. Seems that the JAva UI is not noticing that the jar supplying the types/packages it is displaying has disappeared.
does it only happen in the browsing perspective?
There might be two sources for the problem - most likely a bug in the JavaBrowsingContentProvider - wrong or incomplete Java element delta I will also check the Package Explorer. Increasing prio.
Verified that the following scenarios work in I20021105 for Package Explorer and Java Browsing perspective: - delete internal JAR from workspace - delete external JAR from workspace - deleted internal JAR outside workspace To reproduce the described case with CVS I had to open a NEW WINDOW because otherwise the selection would have been cleared anyways. After replacing selection also worked fine until I tried to OPEN the type in the editor - I assume you worked with "open on single-click". Nothing is written to the .log.
The problem is in the Java element delta: instead of reporting - jar(s) + source folder(s) OR: - project + project it reports a huge delta saying each CU content has changed: Java Model[*]: {CHILDREN} org.eclipse.team.cvs.ui[*]: {CHILDREN | CONTENT} src[*]: {CHILDREN} org.eclipse.team.internal.ccvs.ui[*]: {CHILDREN | CONTENT} AdaptableHierarchicalResourceList.java[*]: {CONTENT} AdaptableResourceList.java[*]: {CONTENT} AlternateUserValidationDialog.java[*]: {CONTENT} AvoidableMessageDialog.java[*]: {CONTENT} BranchPromptDialog.java[*]: {CONTENT} CVSAbstractResolutionGenerator.java[*]: {CONTENT} CVSAddResolutionGenerator.java[*]: {CONTENT} CVSCompareEditorInput.java[*]: {CONTENT} CVSCompareRevisionsInput.java[*]: {CONTENT} CVSDecoration.java[*]: {CONTENT} CVSDecorationRunnable.java[*]: {CONTENT} CVSDecorator.java[*]: {CONTENT} CVSDecoratorConfiguration.java[*]: {CONTENT} CVSDecoratorPreferencesPage.java[*]: {CONTENT} CVSFilePropertiesPage.java[*]: {CONTENT} CVSFolderPropertiesPage.java[*]: {CONTENT} CVSLocalCompareEditorInput.java[*]: {CONTENT} CVSPerspective.java[*]: {CONTENT} CVSPreferencesPage.java[*]: {CONTENT} CVSProjectPropertiesPage.java[*]: {CONTENT} CVSProjectSetSerializer.java[*]: {CONTENT} CVSRemoveResolutionGenerator.java[*]: {CONTENT} CVSUIPlugin.java[*]: {CONTENT} Console.java[*]: {CONTENT} ConsoleDocument.java[*]: {CONTENT} ConsolePreferencesPage.java[*]: {CONTENT} ExtMethodPreferencePage.java[*]: {CONTENT} HistoryDropAdapter.java[*]: {CONTENT} HistoryFilter.java[*]: {CONTENT} HistoryFilterAction.java[*]: {CONTENT} HistoryFilterDialog.java[*]: {CONTENT} HistoryTableProvider.java[*]: {CONTENT} HistoryView.java[*]: {CONTENT} ICVSUIConstants.java[*]: {CONTENT} IDecorationNotifier.java[*]: {CONTENT} IHelpContextIds.java[*]: {CONTENT} IRepositoryListener.java[*]: {CONTENT} IgnoreResourcesDialog.java[*]: {CONTENT} OverlayIcon.java[*]: {CONTENT} OverlayIconCache.java[*]: {CONTENT} Policy.java[*]: {CONTENT} ProjectSelectionDialog.java[*]: {CONTENT} ReleaseCommentDialog.java[*]: {CONTENT} RemoteFileEditorInput.java[*]: {CONTENT} RemoteFileStorage.java[*]: {CONTENT} ResizableWizardDialog.java[*]: {CONTENT} ResourceEditionNode.java[*]: {CONTENT} ResourcePropertiesPage.java[*]: {CONTENT} SimpleContentProvider.java[*]: {CONTENT} TagAsVersionDialog.java[*]: {CONTENT} TagConfigurationDialog.java[*]: {CONTENT} TagSelectionDialog.java[*]: {CONTENT} TextViewerAction.java[*]: {CONTENT} TimeoutProgressMonitorDialog.java[*]: {CONTENT} UserValidationDialog.java[*]: {CONTENT} VersionCollator.java[*]: {CONTENT} WorkbenchUserAuthenticator.java[*]: {CONTENT} XMLWriter.java[*]: {CONTENT} ResourceDelta(/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/messages.properties)[*] org.eclipse.team.internal.ccvs.ui.actions[*]: {CHILDREN} AddAction.java[*]: {CONTENT} AddToWorkspaceAction.java[*]: {CONTENT} BranchAction.java[*]: {CONTENT} CVSAction.java[*]: {CONTENT} CheckoutAction.java[*]: {CONTENT} CheckoutAsAction.java[*]: {CONTENT} CheckoutIntoAction.java[*]: {CONTENT} CommitAction.java[*]: {CONTENT} CompareRemoteResourcesAction.java[*]: {CONTENT} CompareRemoteWithTagAction.java[*]: {CONTENT} CompareWithRemoteAction.java[*]: {CONTENT} CompareWithRevisionAction.java[*]: {CONTENT} CompareWithTagAction.java[*]: {CONTENT} ConfigureTagsFromRepoView.java[*]: {CONTENT} ConfigureTagsFromRepoViewOnFolder.java[*]: {CONTENT} ContentAction.java[*]: {CONTENT} GenerateDiffFileAction.java[*]: {CONTENT} IgnoreAction.java[*]: {CONTENT} MergeAction.java[*]: {CONTENT} MoveRemoteTagAction.java[*]: {CONTENT} NewRepositoryAction.java[*]: {CONTENT} OpenLogEntryAction.java[*]: {CONTENT} OpenRemoteFileAction.java[*]: {CONTENT} ReplaceWithRemoteAction.java[*]: {CONTENT} ReplaceWithTagAction.java[*]: {CONTENT} RestoreFromRepositoryAction.java[*]: {CONTENT} SetKeywordSubstitutionAction.java[*]: {CONTENT} ShowCVSPerspectiveAction.java[*]: {CONTENT} ShowHistoryAction.java[*]: {CONTENT} ShowResourceInHistoryAction.java[*]: {CONTENT} SyncAction.java[*]: {CONTENT} SyncAllAction.java[*]: {CONTENT} SyncOutgoingAction.java[*]: {CONTENT} TagAction.java[*]: {CONTENT} TagInRepositoryAction.java[*]: {CONTENT} UnmanageAction.java[*]: {CONTENT} UpdateAction.java[*]: {CONTENT} WorkspaceAction.java[*]: {CONTENT} org.eclipse.team.internal.ccvs.ui.merge[*]: {CHILDREN} MergeEditorInput.java[*]: {CONTENT} MergeWizard.java[*]: {CONTENT} MergeWizardEndPage.java[*]: {CONTENT} MergeWizardStartPage.java[*]: {CONTENT} OverrideUpdateMergeAction.java[*]: {CONTENT} ProjectElement.java[*]: {CONTENT} TagElement.java[*]: {CONTENT} TagRootElement.java[*]: {CONTENT} UpdateMergeAction.java[*]: {CONTENT} UpdateWithForcedJoinAction.java[*]: {CONTENT} org.eclipse.team.internal.ccvs.ui.model[*]: {CHILDREN} AllRootsElement.java[*]: {CONTENT} BranchCategory.java[*]: {CONTENT} CVSAdapterFactory.java[*]: {CONTENT} CVSFileElement.java[*]: {CONTENT} CVSFolderElement.java[*]: {CONTENT} CVSModelElement.java[*]: {CONTENT} CVSRemoteFilePropertySource.java[*]: {CONTENT} CVSRemoteFolderPropertySource.java[*]: {CONTENT} CVSRepositoryLocationPropertySource.java[*]: {CONTENT} CVSRepositoryRootElement.java[*]: {CONTENT} CVSResourceElement.java[*]: {CONTENT} CVSRootFolderElement.java[*]: {CONTENT} CVSTagElement.java[*]: {CONTENT} GroupedByVersionCategory.java[*]: {CONTENT} ModulesCategory.java[*]: {CONTENT} RemoteContentProvider.java[*]: {CONTENT} RemoteFileElement.java[*]: {CONTENT} RemoteFolderElement.java[*]: {CONTENT} RemoteModule.java[*]: {CONTENT} RemoteResourceElement.java[*]: {CONTENT} RemoteVersionModule.java[*]: {CONTENT} VersionCategory.java[*]: {CONTENT} org.eclipse.team.internal.ccvs.ui.repo[*]: {CHILDREN} CVSRepositoryPropertiesPage.java[*]: {CONTENT} CVSWorkingSet.java[*]: {CONTENT} CVSWorkingSetFolderSelectionPage.java[*]: {CONTENT} CVSWorkingSetWizard.java[*]: {CONTENT} CopyRepositoryNameAction.java[*]: {CONTENT} DefineBranchAction.java[*]: {CONTENT} NewCVSAnonEclipseConnection.java[*]: {CONTENT} NewCVSRepositoryAction.java[*]: {CONTENT} RefreshTagsAction.java[*]: {CONTENT} RemoveBranchTagAction.java[*]: {CONTENT} RemoveRootAction.java[*]: {CONTENT} RepositoriesView.java[*]: {CONTENT} RepositoriesViewContentHandler.java[*]: {CONTENT} RepositoryManager.java[*]: {CONTENT} RepositoryRoot.java[*]: {CONTENT} RepositorySorter.java[*]: {CONTENT} WorkingSetSelectionDialog.java[*]: {CONTENT} org.eclipse.team.internal.ccvs.ui.sync[*]: {CHILDREN} AddSyncAction.java[*]: {CONTENT} CVSCatchupReleaseViewer.java[*]: {CONTENT} CVSSyncCompareInput.java[*]: {CONTENT} CVSSyncCompareUnsharedInput.java[*]: {CONTENT} CVSSyncSet.java[*]: {CONTENT} CommitSyncAction.java[*]: {CONTENT} ForceCommitSyncAction.java[*]: {CONTENT} ForceUpdateSyncAction.java[*]: {CONTENT} IgnoreAction.java[*]: {CONTENT} MergeAction.java[*]: {CONTENT} ToolTipMessageDialog.java[*]: {CONTENT} UpdateSyncAction.java[*]: {CONTENT} org.eclipse.team.internal.ccvs.ui.wizards[*]: {CHILDREN} CVSWizardPage.java[*]: {CONTENT} CheckoutIntoProjectSelectionPage.java[*]: {CONTENT} CheckoutIntoWizard.java[*]: {CONTENT} ConfigurationWizardAutoconnectPage.java[*]: {CONTENT} ConfigurationWizardMainPage.java[*]: {CONTENT} GenerateDiffFileOperation.java[*]: {CONTENT} GenerateDiffFileWizard.java[*]: {CONTENT} KSubstWizard.java[*]: {CONTENT} KSubstWizardDirtyFilesPage.java[*]: {CONTENT} KSubstWizardSelectionPage.java[*]: {CONTENT} KSubstWizardSharedFilesPage.java[*]: {CONTENT} KSubstWizardSummaryPage.java[*]: {CONTENT} ModuleSelectionPage.java[*]: {CONTENT} NewLocationWizard.java[*]: {CONTENT} RepositorySelectionPage.java[*]: {CONTENT} RestoreFromRepositoryFileSelectionPage.java[*]: {CONTENT} RestoreFromRepositoryWizard.java[*]: {CONTENT} SharingWizard.java[*]: {CONTENT} SharingWizardFinishPage.java[*]: {CONTENT} UpdateWizard.java[*]: {CONTENT} UpdateWizardPage.java[*]: {CONTENT} ResourceDelta(/org.eclipse.team.cvs.ui/.classpath)[*] ResourceDelta(/org.eclipse.team.cvs.ui/.cvsignore)[*] ResourceDelta(/org.eclipse.team.cvs.ui/.project)[*] ResourceDelta(/org.eclipse.team.cvs.ui/about.html)[*] ResourceDelta(/org.eclipse.team.cvs.ui/build.properties)[*] ResourceDelta(/org.eclipse.team.cvs.ui/icons)[*] ResourceDelta(/org.eclipse.team.cvs.ui/plugin.properties)[*] ResourceDelta(/org.eclipse.team.cvs.ui/plugin.xml)[*] ResourceDelta(/org.eclipse.team.cvs.ui/teamcvsui.jar)[-] ResourceDelta(/org.eclipse.team.cvs.ui/teamcvsuisrc.zip)[-]
Sounds like a dup of bug 24775. Please verify with latest.
Problem still exists. Investigating for M4.
SetClaspathOperation now uses the package fragment roots of the project to computes the delta. Added regression test JavaElementDeltaTests.testRemoveCPEntryAndRoot
Verified.