Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/org.eclipse.jst.common.frameworks/src/org/eclipse/jst/common/jdt/internal/classpath/FlexibleProjectContainerInitializer.java')
-rw-r--r--plugins/org.eclipse.jst.common.frameworks/src/org/eclipse/jst/common/jdt/internal/classpath/FlexibleProjectContainerInitializer.java119
1 files changed, 0 insertions, 119 deletions
diff --git a/plugins/org.eclipse.jst.common.frameworks/src/org/eclipse/jst/common/jdt/internal/classpath/FlexibleProjectContainerInitializer.java b/plugins/org.eclipse.jst.common.frameworks/src/org/eclipse/jst/common/jdt/internal/classpath/FlexibleProjectContainerInitializer.java
deleted file mode 100644
index d9a6d4a88..000000000
--- a/plugins/org.eclipse.jst.common.frameworks/src/org/eclipse/jst/common/jdt/internal/classpath/FlexibleProjectContainerInitializer.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/******************************************************************************
- * Copyright (c) 2005 BEA Systems, Inc.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Konstantin Komissarchik - initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.jst.common.jdt.internal.classpath;
-
-import java.lang.reflect.Field;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jdt.core.ClasspathContainerInitializer;
-import org.eclipse.jdt.core.IClasspathAttribute;
-import org.eclipse.jdt.core.IClasspathContainer;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-
-/**
- * @author <a href="mailto:kosta@bea.com">Konstantin Komissarchik</a>
- */
-
-public abstract class FlexibleProjectContainerInitializer
-
- extends ClasspathContainerInitializer
-
-{
- private static final ClasspathDecorationsManager decorations
- = FlexibleProjectContainer.getDecorationsManager();
-
- public boolean canUpdateClasspathContainer( final IPath containerPath,
- final IJavaProject project)
- {
- return true;
- }
-
- public void requestClasspathContainerUpdate( final IPath containerPath,
- final IJavaProject project,
- final IClasspathContainer sg )
-
- throws CoreException
-
- {
- final String key = FlexibleProjectContainer.getDecorationManagerKey(project.getProject(), containerPath.toString());
-
- final IClasspathEntry[] entries = sg.getClasspathEntries();
-
- decorations.clearAllDecorations( key );
-
- for( int i = 0; i < entries.length; i++ )
- {
- final IClasspathEntry entry = entries[ i ];
-
- final IPath srcpath = entry.getSourceAttachmentPath();
- final IPath srcrootpath = entry.getSourceAttachmentRootPath();
- final IClasspathAttribute[] attrs = entry.getExtraAttributes();
-
- if( srcpath != null || attrs.length > 0 )
- {
- final String eid = entry.getPath().toString();
- final ClasspathDecorations dec = new ClasspathDecorations();
-
- dec.setSourceAttachmentPath( srcpath );
- dec.setSourceAttachmentRootPath( srcrootpath );
- dec.setExtraAttributes( attrs );
-
- decorations.setDecorations( key, eid, dec );
- }
- }
-
- decorations.save();
-
- final IClasspathContainer container
- = JavaCore.getClasspathContainer( containerPath, project );
-
- // ( (FlexibleProjectContainer) container ).refresh();
-
- refresh( container );
- }
-
- // Workaround for bug 145784.
- // this same hack is also being used in J2EEComponentClasspathInitializer
- private static void refresh( final IClasspathContainer container )
- {
- if( container instanceof FlexibleProjectContainer )
- {
- ( (FlexibleProjectContainer) container ).refresh();
- }
- else
- {
- try
- {
- final Field field
- = container.getClass().getDeclaredField( "fOriginal" ); //$NON-NLS-1$
-
- field.setAccessible( true );
-
- refresh( (IClasspathContainer) field.get( container ) );
- }
- catch( NoSuchFieldException e )
- {
- // Should not happen.
- throw new RuntimeException( e );
- }
- catch( IllegalAccessException e )
- {
- // Should not happen.
- throw new RuntimeException( e );
- }
- }
- }
-
-}

Back to the top