diff options
Diffstat (limited to 'plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/WebLibDependencyPropertiesPage.java')
-rw-r--r-- | plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/WebLibDependencyPropertiesPage.java | 413 |
1 files changed, 0 insertions, 413 deletions
diff --git a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/WebLibDependencyPropertiesPage.java b/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/WebLibDependencyPropertiesPage.java deleted file mode 100644 index 53cc47d8d..000000000 --- a/plugins/org.eclipse.jst.j2ee.ui/j2ee_ui/org/eclipse/jst/j2ee/internal/WebLibDependencyPropertiesPage.java +++ /dev/null @@ -1,413 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2005 IBM Corporation and others. - * 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: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.j2ee.internal; - -import java.lang.reflect.InvocationTargetException; -import java.util.ArrayList; - -import org.eclipse.core.resources.IProject; -import org.eclipse.core.runtime.IPath; -import org.eclipse.core.runtime.Path; -import org.eclipse.emf.common.util.URI; -import org.eclipse.jdt.core.IJavaProject; -import org.eclipse.jdt.core.JavaCore; -import org.eclipse.jdt.ui.wizards.BuildPathDialogAccess; -import org.eclipse.jem.workbench.utility.JemProjectUtilities; -import org.eclipse.jface.dialogs.MessageDialog; -import org.eclipse.jface.dialogs.ProgressMonitorDialog; -import org.eclipse.jface.operation.IRunnableWithProgress; -import org.eclipse.jst.j2ee.application.internal.operations.ClassPathSelection; -import org.eclipse.jst.j2ee.application.internal.operations.ClasspathElement; -import org.eclipse.jst.j2ee.internal.common.ClasspathModelListener; -import org.eclipse.jst.j2ee.internal.common.operations.UpdateJavaBuildPathOperation; -import org.eclipse.jst.j2ee.internal.project.J2EEProjectUtilities; -import org.eclipse.swt.SWT; -import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.layout.GridLayout; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Label; -import org.eclipse.swt.widgets.Listener; -import org.eclipse.swt.widgets.Text; -import org.eclipse.wst.common.componentcore.ComponentCore; -import org.eclipse.wst.common.componentcore.internal.impl.ModuleURIUtil; -import org.eclipse.wst.common.componentcore.internal.resources.VirtualArchiveComponent; -import org.eclipse.wst.common.componentcore.resources.IVirtualComponent; -import org.eclipse.wst.common.componentcore.resources.IVirtualReference; -import org.eclipse.wst.common.frameworks.internal.ui.WTPUIPlugin; -import org.eclipse.wst.common.frameworks.internal.ui.WorkspaceModifyComposedOperation; - -public class WebLibDependencyPropertiesPage extends JARDependencyPropertiesPage implements IClasspathTableOwner, Listener, ClasspathModelListener { - - public WebLibDependencyPropertiesPage(final IProject project, - final J2EEDependenciesPage page) { - super(project, page); - } - - public Composite createContents(Composite parent) { - initialize(); - Composite composite = createBasicComposite(parent); - if( model.getComponent() != null ){ - if (!isValidWebModule()) - return composite; - J2EEDependenciesPage.createDescriptionComposite(composite, ManifestUIResourceHandler.Web_Libraries_Desc); - //createProjectLabelsGroup(composite); - createListGroup(composite); - handleWLPSupport(); - model.setWLPModel(true); - setEnablement(); - } - return composite; - } - - protected void createProjectLabelsGroup(Composite parent) { - - Composite labelsGroup = new Composite(parent, SWT.NONE); - GridLayout layout = new GridLayout(); - layout.numColumns = 2; - labelsGroup.setLayout(layout); - labelsGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); - - Label label = new Label(labelsGroup, SWT.NONE); - label.setText(ManifestUIResourceHandler.Project_name__UI_); - - componentNameText = new Text(labelsGroup, SWT.BORDER); - GridData data = new GridData(GridData.FILL_HORIZONTAL); - componentNameText.setEditable(false); - componentNameText.setLayoutData(data); - componentNameText.setText(project.getName()); - } - - protected void createListGroup(Composite parent) { - Composite listGroup = new Composite(parent, SWT.NONE); - GridLayout layout = new GridLayout(); - layout.numColumns = 1; - layout.marginWidth = 0; - layout.marginHeight = 0; - listGroup.setLayout(layout); - GridData gData = new GridData(GridData.FILL_BOTH); - gData.horizontalIndent = 5; - listGroup.setLayoutData(gData); - - availableDependentJars = new Label(listGroup, SWT.NONE); - gData = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL); - availableDependentJars.setText(ManifestUIResourceHandler.Available_dependent_JARs__UI_); - availableDependentJars.setLayoutData(gData); - createTableComposite(listGroup); - } - - protected void createTableComposite(Composite parent) { - Composite composite = new Composite(parent, SWT.NONE); - GridData gData = new GridData(GridData.FILL_BOTH); - composite.setLayoutData(gData); - tableManager = new ClasspathTableManager(this, model, validateEditListener); - tableManager.setReadOnly(isReadOnly()); - tableManager.fillWLPComposite(composite); - } - - protected boolean isValidWebModule() { - if (!J2EEProjectUtilities.isDynamicWebProject(project)) { - propPage.setErrorMessage(ManifestUIResourceHandler.Web_Lib_Error); - return false; - } - return true; - } - - protected void setEnablement() { - if (tableManager.availableJARsViewer.getTable().getItems().length == 0) { - tableManager.selectAllButton.setEnabled(false); - tableManager.deselectAllButton.setEnabled(false); - } else { - tableManager.selectAllButton.setEnabled(true); - tableManager.deselectAllButton.setEnabled(true); - } - } - - private void handleWLPSupport() { - tableManager.setWLPEntry(true); - availableDependentJars.setText("Select utility projects to add as Web Library projects to the web module"); //$NON-NLS-1$ - tableManager.refresh(); - } - - public boolean performOk() { - if( model.getComponent() == null || !isValidWebModule()){ - return true; - } - if (!isDirty) { - return true; - } - try { - boolean createdFlexProjects = runWLPOp(createFlexProjectOperations()); - boolean createdComponentDependency = false; - if (createdFlexProjects) - createdComponentDependency = runWLPOp(createComponentDependencyOperations()); - boolean createdBuildPathSettings = false; - if (createdComponentDependency) { - WorkspaceModifyComposedOperation composedOp = new WorkspaceModifyComposedOperation(); - composedOp.addRunnable(createWLPBuildPathOperation()); - createdBuildPathSettings = runWLPOp(composedOp); - } - isDirty = false; - return createdBuildPathSettings; - } finally { - model.dispose(); - } - } - - private boolean runWLPOp(WorkspaceModifyComposedOperation composed) { - try { - if (composed != null) - new ProgressMonitorDialog(propPage.getShell()).run(true, true, composed); - } catch (InvocationTargetException ex) { - String title = ManifestUIResourceHandler.An_internal_error_occurred_ERROR_; - String msg = title; - if (ex.getTargetException() != null && ex.getTargetException().getMessage() != null) - msg = ex.getTargetException().getMessage(); - MessageDialog.openError(propPage.getShell(), title, msg); - org.eclipse.jem.util.logger.proxy.Logger.getLogger().logError(ex); - return false; - } catch (InterruptedException e) { - // cancelled - return false; - } - return true; - } - public void handleSelectExternalJarButton(){ - - if (J2EEProjectUtilities.isDynamicWebProject(project)){ - - IPath[] selected= BuildPathDialogAccess.chooseExternalJAREntries(propPage.getShell()); - - if (selected != null) { - for (int i= 0; i < selected.length; i++) { - - String type = VirtualArchiveComponent.LIBARCHIVETYPE + IPath.SEPARATOR; -// String name = selected[i].toString(); - -// java.io.File file = new java.io.File(name); - IVirtualComponent archive = ComponentCore.createArchiveComponent( model.getComponent().getProject(), type + - selected[i].toString()); - - ArrayList vlist = new ArrayList(); - IVirtualReference[] oldrefs = model.getComponent().getReferences(); - for (int j = 0; j < oldrefs.length; j++) { - IVirtualReference ref = oldrefs[j]; - vlist.add(ref); - } - - //To do: check if archive component already exists - IVirtualReference ref = ComponentCore.createReference( model.getComponent(), archive, new Path("/WEB-INF/lib") ); //$NON-NLS-1$ - vlist.add(ref); - - IVirtualReference[] refs = new IVirtualReference[vlist.size()]; - for (int j = 0; j < vlist.size(); j++) { - IVirtualReference tmpref = (IVirtualReference) vlist.get(j); - refs[j] = tmpref; - } - model.getComponent().setReferences(refs); - - - //ClasspathElement element = createClassPathElement(archive, file.getName()); - ClasspathElement element = createClassPathElement(archive, archive.getName()); - ClassPathSelection selection = createClassPathSelectionForExternalJar(element); - createBuildPathOperationForExternalJar(selection); - - WorkspaceModifyComposedOperation composed = new WorkspaceModifyComposedOperation(createBuildPathOperationForExternalJar(selection)); - try { - new ProgressMonitorDialog(propPage.getShell()).run(true, true, composed); - } catch (InvocationTargetException ex) { - String title = ManifestUIResourceHandler.An_internal_error_occurred_ERROR_; - String msg = title; - if (ex.getTargetException() != null && ex.getTargetException().getMessage() != null) - msg = ex.getTargetException().getMessage(); - MessageDialog.openError(propPage.getShell(), title, msg); - org.eclipse.jem.util.logger.proxy.Logger.getLogger().logError(ex); - - } catch (InterruptedException e) { - // cancelled - - } - model.getClassPathSelectionForWLPs().getClasspathElements().add(element); - } - - refresh(); - } - } - - } - - public void handleSelectVariableButton(){ - - if (J2EEProjectUtilities.isDynamicWebProject(project)){ - IPath existingPath[] = new Path[0]; - IPath[] paths = BuildPathDialogAccess.chooseVariableEntries(propPage.getShell(), existingPath); - - if (paths != null) { - for (int i = 0; i < paths.length; i++) { - IPath resolvedPath= JavaCore.getResolvedVariablePath(paths[i]); - - java.io.File file = new java.io.File(resolvedPath.toOSString()); - if( file.isFile() && file.exists()){ - String type = VirtualArchiveComponent.VARARCHIVETYPE + IPath.SEPARATOR; - - IVirtualComponent archive = ComponentCore.createArchiveComponent( model.getComponent().getProject(), type + - paths[i].toString()); - - ArrayList vlist = new ArrayList(); - IVirtualReference[] oldrefs = model.getComponent().getReferences(); - for (int j = 0; j < oldrefs.length; j++) { - IVirtualReference ref = oldrefs[j]; - vlist.add(ref); - } - - //To do: check if archive component already exists - IVirtualReference ref = ComponentCore.createReference( model.getComponent(), archive, new Path("/WEB-INF/lib") ); //$NON-NLS-1$ - vlist.add(ref); - - IVirtualReference[] refs = new IVirtualReference[vlist.size()]; - for (int j = 0; j < vlist.size(); j++) { - IVirtualReference tmpref = (IVirtualReference) vlist.get(j); - refs[j] = tmpref; - } - model.getComponent().setReferences(refs); - - //ClasspathElement element = createClassPathElement(archive, file.getName()); - ClasspathElement element = createClassPathElement(archive, archive.getName()); - - ClassPathSelection selection = createClassPathSelectionForExternalJar(element); - createBuildPathOperationForExternalJar(selection); - - WorkspaceModifyComposedOperation composed = new WorkspaceModifyComposedOperation(createBuildPathOperationForExternalJar(selection)); - try { - new ProgressMonitorDialog(propPage.getShell()).run(true, true, composed); - } catch (InvocationTargetException ex) { - String title = ManifestUIResourceHandler.An_internal_error_occurred_ERROR_; - String msg = title; - if (ex.getTargetException() != null && ex.getTargetException().getMessage() != null) - msg = ex.getTargetException().getMessage(); - MessageDialog.openError(propPage.getShell(), title, msg); - org.eclipse.jem.util.logger.proxy.Logger.getLogger().logError(ex); - - } catch (InterruptedException e) { - // cancelled - - } - model.getClassPathSelectionForWLPs().getClasspathElements().add(element); - - }else{ - //display error - } - - } - refresh(); - } - } - } - - private ClasspathElement createClassPathElement(IVirtualComponent archiveComp, - String unresolvedName ) { - - URI uri = URI.createURI(ModuleURIUtil.getHandleString(archiveComp)); - ClasspathElement element = new ClasspathElement(uri); - element.setValid(false); - element.setSelected(true); - element.setRelativeText(unresolvedName); - element.setText(unresolvedName); - element.setEarProject(null); - return element; - } - - private ClassPathSelection createClassPathSelectionForExternalJar(ClasspathElement element){ - ClassPathSelection selection = new ClassPathSelection(); - selection.getClasspathElements().add(element); - return selection; - } - private ClassPathSelection createClassPathSelectionForProjectJar(ClasspathElement element){ - ClassPathSelection selection = new ClassPathSelection(); - selection.getClasspathElements().add(element); - return selection; - } - - - protected IRunnableWithProgress createBuildPathOperationForExternalJar(ClassPathSelection selection) { - IJavaProject javaProject = JemProjectUtilities.getJavaProject(project); - return WTPUIPlugin.getRunnableWithProgress(new UpdateJavaBuildPathOperation(javaProject, selection)); - } - - public void handleSelectProjectJarButton(){ - - if (J2EEProjectUtilities.isDynamicWebProject(project)){ - - IPath[] selected= BuildPathDialogAccess.chooseJAREntries(propPage.getShell(), project.getLocation(), new IPath[0]); - - if (selected != null) { - for (int i= 0; i < selected.length; i++) { - - String type = VirtualArchiveComponent.LIBARCHIVETYPE + IPath.SEPARATOR; - // String name = selected[i].toString(); - - //IPath fullPath = project.getFile(selected[i]).getFullPath(); - IVirtualComponent archive = ComponentCore.createArchiveComponent( model.getComponent().getProject(), type + - selected[i].makeRelative().toString()); - - ArrayList vlist = new ArrayList(); - IVirtualReference[] oldrefs = model.getComponent().getReferences(); - for (int j = 0; j < oldrefs.length; j++) { - IVirtualReference ref = oldrefs[j]; - vlist.add(ref); - } - - //To do: check if archive component already exists - IVirtualReference ref = ComponentCore.createReference( model.getComponent(), archive, new Path("/WEB-INF/lib") ); //$NON-NLS-1$ - vlist.add(ref); - - IVirtualReference[] refs = new IVirtualReference[vlist.size()]; - for (int j = 0; j < vlist.size(); j++) { - IVirtualReference tmpref = (IVirtualReference) vlist.get(j); - refs[j] = tmpref; - } - model.getComponent().setReferences(refs); - - - //ClasspathElement element = createClassPathElement(archive, file.getName()); - ClasspathElement element = createClassPathElement(archive, archive.getName()); - ClassPathSelection selection = createClassPathSelectionForProjectJar(element); - createBuildPathOperationForExternalJar(selection); - - WorkspaceModifyComposedOperation composed = new WorkspaceModifyComposedOperation(createBuildPathOperationForExternalJar(selection)); - try { - new ProgressMonitorDialog(propPage.getShell()).run(true, true, composed); - } catch (InvocationTargetException ex) { - String title = ManifestUIResourceHandler.An_internal_error_occurred_ERROR_; - String msg = title; - if (ex.getTargetException() != null && ex.getTargetException().getMessage() != null) - msg = ex.getTargetException().getMessage(); - MessageDialog.openError(propPage.getShell(), title, msg); - org.eclipse.jem.util.logger.proxy.Logger.getLogger().logError(ex); - - } catch (InterruptedException e) { - // cancelled - - } - model.getClassPathSelectionForWLPs().getClasspathElements().add(element); - } - - refresh(); - } - } - - } - -// private void enableExternalJarControls(boolean b) { -// tableManager.externalJarButton.setVisible(b); -// tableManager.addVariableButton.setVisible(b); -// } - -} |