Cool. That's for adding the API.
On Nov 6, 2007, at 10:30 AM, ul..bjectstyle.org wrote:
> Author: uli
> Date: 2007-11-06 13:29:31 -0500 (Tue, 06 Nov 2007)
> New Revision: 4607
>
> Removed:
> trunk/woproject/wolips/core/plugins/org.objectstyle.wolips.jdt/
> java/org/objectstyle/wolips/jdt/classpath/WOClasspathContainer.java
> trunk/woproject/wolips/core/plugins/org.objectstyle.wolips.jdt/
> java/org/objectstyle/wolips/jdt/classpath/
> WOClasspathContainerInitializer.java
> trunk/woproject/wolips/core/plugins/org.objectstyle.wolips.jdt/
> java/org/objectstyle/wolips/jdt/ui/WOClassPathContainerPage.java
> trunk/woproject/wolips/core/plugins/org.objectstyle.wolips.jdt/
> java/org/objectstyle/wolips/jdt/ui/
> WOClasspathContainerContentProvider.java
> trunk/woproject/wolips/core/plugins/
> org.objectstyle.wolips.launching/java/org/objectstyle/wolips/
> launching/classpath/WORuntimeClasspathResolver.java
> Modified:
> trunk/woproject/wolips/core/plugins/org.objectstyle.wolips.jdt/
> META-INF/MANIFEST.MF
> trunk/woproject/wolips/core/plugins/org.objectstyle.wolips.jdt/
> java/org/objectstyle/wolips/jdt/ant/UpdateFrameworkIncludeFiles.java
> trunk/woproject/wolips/core/plugins/org.objectstyle.wolips.jdt/
> java/org/objectstyle/wolips/jdt/ant/UpdateIncludeFiles.java
> trunk/woproject/wolips/core/plugins/org.objectstyle.wolips.jdt/
> java/org/objectstyle/wolips/jdt/ant/
> UpdateOtherClasspathIncludeFiles.java
> trunk/woproject/wolips/core/plugins/org.objectstyle.wolips.jdt/
> java/org/objectstyle/wolips/jdt/classpath/ContainerEntries.java
> trunk/woproject/wolips/core/plugins/org.objectstyle.wolips.jdt/
> java/org/objectstyle/wolips/jdt/classpath/ContainerEntry.java
> trunk/woproject/wolips/core/plugins/org.objectstyle.wolips.jdt/
> java/org/objectstyle/wolips/jdt/classpath/ContainerInitializer.java
> trunk/woproject/wolips/core/plugins/org.objectstyle.wolips.jdt/
> java/org/objectstyle/wolips/jdt/listener/ResourceChangeListener.java
> trunk/woproject/wolips/core/plugins/org.objectstyle.wolips.jdt/
> java/org/objectstyle/wolips/jdt/listener/UpdateIncludeFilesJob.java
> trunk/woproject/wolips/core/plugins/org.objectstyle.wolips.jdt/
> plugin.xml
> trunk/woproject/wolips/core/plugins/
> org.objectstyle.wolips.launching/java/org/objectstyle/wolips/
> launching/classpath/WORuntimeClasspathProvider.java
> trunk/woproject/wolips/core/plugins/
> org.objectstyle.wolips.launching/plugin.xml
> trunk/woproject/wolips/core/plugins/
> org.objectstyle.wolips.wizards/.classpath
> trunk/woproject/wolips/core/plugins/org.objectstyle.wolips.wizards/
> META-INF/MANIFEST.MF
> trunk/woproject/wolips/core/plugins/org.objectstyle.wolips.wizards/
> java/org/objectstyle/wolips/wizards/NewWOProjectWizard.java
> Log:
> WOL-632
>
> Modified: trunk/woproject/wolips/core/plugins/
> org.objectstyle.wolips.jdt/META-INF/MANIFEST.MF
> ===================================================================
> --- trunk/woproject/wolips/core/plugins/org.objectstyle.wolips.jdt/
> META-INF/MANIFEST.MF 2007-11-06 00:06:44 UTC (rev 4606)
> +++ trunk/woproject/wolips/core/plugins/org.objectstyle.wolips.jdt/
> META-INF/MANIFEST.MF 2007-11-06 18:29:31 UTC (rev 4607)
>.. -9,10 +9,11 @@
> Require-Bundle: org.eclipse.ui,
> org.eclipse.core.resources,
> org.eclipse.jdt.core,
> - org.objectstyle.wolips.datasets,
> org.objectstyle.wolips.variables,
> org.eclipse.jdt.ui,
> org.objectstyle.wolips.baseforplugins,
> + org.eclipse.ui.ide,
> + org.objectstyle.wolips,
> org.eclipse.jdt,
> org.eclipse.jdt.apt.core
> Eclipse-LazyStart: true
>
> Modified: trunk/woproject/wolips/core/plugins/
> org.objectstyle.wolips.jdt/java/org/objectstyle/wolips/jdt/ant/
> UpdateFrameworkIncludeFiles.java
> ===================================================================
> --- trunk/woproject/wolips/core/plugins/org.objectstyle.wolips.jdt/
> java/org/objectstyle/wolips/jdt/ant/UpdateFrameworkIncludeFiles.java
> 2007-11-06 00:06:44 UTC (rev 4606)
> +++ trunk/woproject/wolips/core/plugins/org.objectstyle.wolips.jdt/
> java/org/objectstyle/wolips/jdt/ant/UpdateFrameworkIncludeFiles.java
> 2007-11-06 18:29:31 UTC (rev 4607)
>.. -51,13 +51,13 @@
> import org.eclipse.core.resources.IProject;
> import org.eclipse.core.runtime.CoreException;
> import org.eclipse.core.runtime.IPath;
> +import org.eclipse.core.runtime.NullProgressMonitor;
> import org.eclipse.core.runtime.Path;
> import org.eclipse.jdt.core.IClasspathEntry;
> import org.eclipse.jdt.core.IJavaProject;
> import org.eclipse.jdt.core.JavaCore;
> import org.eclipse.jdt.core.JavaModelException;
> -import org.objectstyle.wolips.datasets.adaptable.Project;
> -import org.objectstyle.wolips.datasets.resources.IWOLipsModel;
> +import
> org.objectstyle.wolips.core.resources.types.project.IProjectAdapter;
> import org.objectstyle.wolips.jdt.JdtPlugin;
> import org.objectstyle.wolips.variables.VariablesPlugin;
>
>.. -108,7 +108,7 @@
> for (int i = 0; i < this.getPaths().length; i++) {
>
> String thisPath = getPaths()[i].toOSString();
> - currentFrameworkListFile =
> this.getProject().getAntFolder().getFile(this.INCLUDES_FILE_PREFIX +
> "." + this.rootPaths[i]);
> + currentFrameworkListFile =
> this
> .getProjectAdapter
> ().getWoprojectAdapter
> ().getUnderlyingFolder().getFile(this.INCLUDES_FILE_PREFIX + "." +
> this.rootPaths[i]);
>
> // if (currentFrameworkListFile.exists()) {
> // delete old include file
>.. -155,17 +155,13 @@
> if (referencedProjects != null) {
> for (int j = 0; j < referencedProjects.length; j++) {
> if (referencedProjects[j].isAccessible() &&
> referencedProjects[j].isOpen()) {
> - try {
> - Project referencedWOLipsProject = (Project)
> (referencedProjects[j]).getAdapter(Project.class);
> - if (referencedWOLipsProject != null &&
> referencedWOLipsProject.hasWOLipsNature() &&
> referencedWOLipsProject.isFramework()) {
> - newFrameworkEntries.append("Library/Frameworks/");
> -
> newFrameworkEntries
> .append(referencedWOLipsProject.getIProject().getName());
> - newFrameworkEntries.append(".");
> - newFrameworkEntries.append(IWOLipsModel.EXT_FRAMEWORK);
> - newFrameworkEntries.append("\n");
> - }
> - } catch (CoreException e1) {
> - JdtPlugin.getDefault().getPluginLogger().log(e1);
> + IProjectAdapter referencedWOLipsProject = (IProjectAdapter)
> (referencedProjects[j]).getAdapter(IProjectAdapter.class);
> + if (referencedWOLipsProject != null &&
> referencedWOLipsProject.isFramework()) {
> + newFrameworkEntries.append("Library/Frameworks/");
> +
> newFrameworkEntries
> .append(referencedWOLipsProject.getUnderlyingProject().getName());
> + newFrameworkEntries.append(".");
> + newFrameworkEntries.append("framework");
> + newFrameworkEntries.append("\n");
> }
> }
> }
>.. -182,8 +178,7 @@
> currentFrameworkListFile.setContents(new
> ByteArrayInputStream(newFrameworkEntries.toString().getBytes()),
> true, true, null);
> } else {
> // create list file if any entries found
> - Project project = (Project)
> this.getIProject().getAdapter(Project.class);
> - project.createAntFolder();
> +
> this
> .getProjectAdapter
> ().getWoprojectAdapter().getUnderlyingFolder().create(false, true,
> new NullProgressMonitor());
> currentFrameworkListFile.create(new
> ByteArrayInputStream(newFrameworkEntries.toString().getBytes()),
> true, null);
> }
> } catch (CoreException e) {
>
> Modified: trunk/woproject/wolips/core/plugins/
> org.objectstyle.wolips.jdt/java/org/objectstyle/wolips/jdt/ant/
> UpdateIncludeFiles.java
> ===================================================================
> --- trunk/woproject/wolips/core/plugins/org.objectstyle.wolips.jdt/
> java/org/objectstyle/wolips/jdt/ant/UpdateIncludeFiles.java
> 2007-11-06 00:06:44 UTC (rev 4606)
> +++ trunk/woproject/wolips/core/plugins/org.objectstyle.wolips.jdt/
> java/org/objectstyle/wolips/jdt/ant/UpdateIncludeFiles.java
> 2007-11-06 18:29:31 UTC (rev 4607)
>.. -57,7 +57,7 @@
>
> import org.eclipse.core.resources.IProject;
> import org.eclipse.core.runtime.IPath;
> -import org.objectstyle.wolips.datasets.adaptable.Project;
> +import
> org.objectstyle.wolips.core.resources.types.project.IProjectAdapter;
> import org.objectstyle.wolips.variables.VariablesPlugin;
>
> /**
>.. -74,7 +74,7 @@
>
> private IProject iProject;
>
> - private Project project;
> + private IProjectAdapter projectAdapter;
>
> /**
> *
>.. -112,13 +112,13 @@
> */
> public void setIProject(IProject iProject) {
> this.iProject = iProject;
> - this.project = (Project) iProject.getAdapter(Project.class);
> + this.projectAdapter = (IProjectAdapter)
> iProject.getAdapter(IProjectAdapter.class);
> }
>
> /**
> *..eturn Returns the project.
> */
> - protected Project getProject() {
> - return this.project;
> + protected IProjectAdapter getProjectAdapter() {
> + return this.projectAdapter;
> }
> }
>
> Modified: trunk/woproject/wolips/core/plugins/
> org.objectstyle.wolips.jdt/java/org/objectstyle/wolips/jdt/ant/
> UpdateOtherClasspathIncludeFiles.java
> ===================================================================
> --- trunk/woproject/wolips/core/plugins/org.objectstyle.wolips.jdt/
> java/org/objectstyle/wolips/jdt/ant/
> UpdateOtherClasspathIncludeFiles.java 2007-11-06 00:06:44 UTC (rev
> 4606)
> +++ trunk/woproject/wolips/core/plugins/org.objectstyle.wolips.jdt/
> java/org/objectstyle/wolips/jdt/ant/
> UpdateOtherClasspathIncludeFiles.java 2007-11-06 18:29:31 UTC (rev
> 4607)
>.. -62,11 +62,11 @@
> import org.eclipse.core.resources.IFile;
> import org.eclipse.core.runtime.CoreException;
> import org.eclipse.core.runtime.IPath;
> +import org.eclipse.core.runtime.NullProgressMonitor;
> import org.eclipse.jdt.core.IClasspathEntry;
> import org.eclipse.jdt.core.IJavaProject;
> import org.eclipse.jdt.core.JavaCore;
> import org.eclipse.jdt.core.JavaModelException;
> -import org.objectstyle.wolips.datasets.adaptable.Project;
> import org.objectstyle.wolips.jdt.JdtPlugin;
>
> /**
>.. -110,7 +110,7 @@
>
> for (int i = 0; i < getPaths().length; i++) {
>
> - currentClasspathListFile =
> this.getProject().getAntFolder().getFile(this.INCLUDES_FILE_PREFIX +
> "." + this.rootPaths[i]);
> + currentClasspathListFile =
> this
> .getProjectAdapter
> ().getWoprojectAdapter
> ().getUnderlyingFolder().getFile(this.INCLUDES_FILE_PREFIX + "." +
> this.rootPaths[i]);
> // System.out.println("currentClasspathListFile: " +
> // currentClasspathListFile.toString());
> if (currentClasspathListFile.exists()) {
>.. -149,8 +149,7 @@
> currentClasspathListFile.setContents(new
> ByteArrayInputStream(newClasspathEntries.toString().getBytes()),
> true, true, null);
> } else {
> // create list file if any entries found
> - Project project = (Project)
> this.getIProject().getAdapter(Project.class);
> - project.createAntFolder();
> +
> this
> .getProjectAdapter
> ().getWoprojectAdapter().getUnderlyingFolder().create(false, true,
> new NullProgressMonitor());
> currentClasspathListFile.create(new
> ByteArrayInputStream(newClasspathEntries.toString().getBytes()),
> true, null);
> }
> } catch (CoreException e) {
>
> Modified: trunk/woproject/wolips/core/plugins/
> org.objectstyle.wolips.jdt/java/org/objectstyle/wolips/jdt/classpath/
> ContainerEntries.java
> ===================================================================
> --- trunk/woproject/wolips/core/plugins/org.objectstyle.wolips.jdt/
> java/org/objectstyle/wolips/jdt/classpath/ContainerEntries.java
> 2007-11-06 00:06:44 UTC (rev 4606)
> +++ trunk/woproject/wolips/core/plugins/org.objectstyle.wolips.jdt/
> java/org/objectstyle/wolips/jdt/classpath/ContainerEntries.java
> 2007-11-06 18:29:31 UTC (rev 4607)
>.. -158,4 +158,17 @@
> this.entries.add(containerEntries[i]);
> }
> }
> +
> + /**
> + *..aram containerEntries
> + */
> + public void add(ArrayList<ContainerEntry> containerEntries) {
> + if(containerEntries == null) {
> + return;
> + }
> + for (int i = 0; i < containerEntries.size(); i++) {
> + ContainerEntry containerEntry = containerEntries.get(i);
> + this.add(containerEntry);
> + }
> + }
> }
>
> Modified: trunk/woproject/wolips/core/plugins/
> org.objectstyle.wolips.jdt/java/org/objectstyle/wolips/jdt/classpath/
> ContainerEntry.java
> ===================================================================
> --- trunk/woproject/wolips/core/plugins/org.objectstyle.wolips.jdt/
> java/org/objectstyle/wolips/jdt/classpath/ContainerEntry.java
> 2007-11-06 00:06:44 UTC (rev 4606)
> +++ trunk/woproject/wolips/core/plugins/org.objectstyle.wolips.jdt/
> java/org/objectstyle/wolips/jdt/classpath/ContainerEntry.java
> 2007-11-06 18:29:31 UTC (rev 4607)
>.. -123,6 +123,12 @@
> }
>
> /**
> + *..aram name
> + */
> + public ContainerEntry(String name) {
> + this(name, null, null, null, null);
> + }
> + /**
> *..aram path
> *..eturn
> *..hrows PathCoderException
>
> Modified: trunk/woproject/wolips/core/plugins/
> org.objectstyle.wolips.jdt/java/org/objectstyle/wolips/jdt/classpath/
> ContainerInitializer.java
> ===================================================================
> --- trunk/woproject/wolips/core/plugins/org.objectstyle.wolips.jdt/
> java/org/objectstyle/wolips/jdt/classpath/ContainerInitializer.java
> 2007-11-06 00:06:44 UTC (rev 4606)
> +++ trunk/woproject/wolips/core/plugins/org.objectstyle.wolips.jdt/
> java/org/objectstyle/wolips/jdt/classpath/ContainerInitializer.java
> 2007-11-06 18:29:31 UTC (rev 4607)
>.. -60,13 +60,29 @@
> */
> package org.objectstyle.wolips.jdt.classpath;
>
> +import java.lang.reflect.InvocationTargetException;
> +import java.util.ArrayList;
> +
> +import org.eclipse.core.resources.IResourceStatus;
> import org.eclipse.core.runtime.CoreException;
> import org.eclipse.core.runtime.IPath;
> +import org.eclipse.core.runtime.IProgressMonitor;
> +import org.eclipse.core.runtime.IStatus;
> +import org.eclipse.core.runtime.Status;
> import org.eclipse.jdt.core.ClasspathContainerInitializer;
> import org.eclipse.jdt.core.IClasspathContainer;
> +import org.eclipse.jdt.core.IClasspathEntry;
> import org.eclipse.jdt.core.IJavaProject;
> import org.eclipse.jdt.core.JavaCore;
> +import org.eclipse.jface.dialogs.ErrorDialog;
> +import org.eclipse.jface.dialogs.MessageDialog;
> +import org.eclipse.swt.widgets.Display;
> +import org.eclipse.ui.PlatformUI;
> +import org.eclipse.ui.actions.WorkspaceModifyOperation;
> +import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin;
> +import org.eclipse.ui.progress.IProgressService;
> import org.objectstyle.wolips.jdt.JdtPlugin;
> +import org.objectstyle.wolips.jdt.classpath.model.Framework;
>
> /**
> *..uthor ulrich
>.. -127,7 +143,7 @@
> *..ee
> org
> .eclipse
> .jdt
> .core
> .ClasspathContainerInitializer
> #initialize(org.eclipse.core.runtime.IPath,
> * org.eclipse.jdt.core.IJavaProject)
> */
> - public void initialize(IPath containerPath, IJavaProject project)
> throws CoreException {
> + public void initialize(final IPath containerPath, final
> IJavaProject project) throws CoreException {
> int size = containerPath.segmentCount();
> if (size > 0) {
> String firstSegment = containerPath.segment(0);
>.. -144,6 +160,76 @@
> JavaCore.setClasspathContainer(containerPath, new
> IJavaProject[] { project }, new IClasspathContainer[]
> { classpathContainer }, null);
> }
> }
> + //convert old container
> + final String OLD_WOLIPS_CLASSPATH_CONTAINER_IDENTITY =
> "org.objectstyle.wolips.WO_CLASSPATH";
> + if
> (firstSegment.startsWith(OLD_WOLIPS_CLASSPATH_CONTAINER_IDENTITY)) {
> + final WorkspaceModifyOperation op = new
> WorkspaceModifyOperation(project.getProject()) {
> +
> + public void execute(IProgressMonitor monitor) throws
> CoreException {
> + IClasspathEntry[] classpathEntries = project.getRawClasspath();
> + IClasspathEntry[] newClasspathEntries = new
> IClasspathEntry[classpathEntries.length];
> + for (int i = 0; i < classpathEntries.length; i++) {
> + IClasspathEntry classpathEntry = classpathEntries[i];
> + String firstSegementOfEntry =
> classpathEntry.getPath().segment(0);
> + if (firstSegementOfEntry != null &&
> firstSegementOfEntry
> .startsWith(OLD_WOLIPS_CLASSPATH_CONTAINER_IDENTITY)) {
> + Container container = new Container(null);
> + ArrayList<Framework> frameworks = new ArrayList<Framework>();
> + for (int j = 1; j < containerPath.segmentCount(); j++) {
> + String segment = containerPath.segment(j);
> + Framework framework =
> JdtPlugin
> .getDefault().getClasspathModel().getFrameworkWithName(segment);
> + if (framework != null) {
> + frameworks.add(framework);
> + }
> + }
> + container.setContent(frameworks.toArray(new
> Framework[frameworks.size()]));
> + IPath newContainerPath = container.getPath();
> + IClasspathEntry newClasspathEntry =
> JavaCore.newContainerEntry(newContainerPath);
> + newClasspathEntries[i] = newClasspathEntry;
> + } else {
> + newClasspathEntries[i] = classpathEntry;
> + }
> + }
> + project.setRawClasspath(newClasspathEntries, monitor);
> + }
> +
> + };
> +
> + Display.getDefault().asyncExec(new Runnable() {
> +
> + public void run() {
> + IProgressService service =
> PlatformUI.getWorkbench().getProgressService();
> +
> + // run the classpath update operation
> + try {
> + service.run(true, true, op);
> + } catch (InterruptedException e) {
> + return;
> + } catch (final InvocationTargetException e) {
> +
> + // ie.- one of the steps resulted in a core
> + // exception
> + Throwable t = e.getTargetException();
> + if (t instanceof CoreException) {
> + if (((CoreException) t).getStatus().getCode() ==
> IResourceStatus.CASE_VARIANT_EXISTS) {
> + MessageDialog.openError(null, "WebObjects Frameworks Error
> while updating classpath", project.getProject().getName());
> + } else {
> + ErrorDialog.openError(null, "WebObjects Frameworks",
> null, // no
> + // special
> + // message
> + ((CoreException) t).getStatus());
> + }
> + } else {
> + // CoreExceptions are handled above, but
> + // unexpected
> + // runtime
> + // exceptions and errors may still occur.
> + IDEWorkbenchPlugin.getDefault().getLog().log(new
> Status(IStatus.ERROR, IDEWorkbenchPlugin.IDE_WORKBENCH, 0,
> t.toString(), t));
> + MessageDialog.openError(null, "WebObjects Frameworks Error
> while updating classpath", t.getMessage());
> + }
> + }
> + }
> + });
> + }
> }
> }
> }
> \ No newline at end of file
>
> Deleted: trunk/woproject/wolips/core/plugins/
> org.objectstyle.wolips.jdt/java/org/objectstyle/wolips/jdt/classpath/
> WOClasspathContainer.java
> ===================================================================
> --- trunk/woproject/wolips/core/plugins/org.objectstyle.wolips.jdt/
> java/org/objectstyle/wolips/jdt/classpath/WOClasspathContainer.java
> 2007-11-06 00:06:44 UTC (rev 4606)
> +++ trunk/woproject/wolips/core/plugins/org.objectstyle.wolips.jdt/
> java/org/objectstyle/wolips/jdt/classpath/WOClasspathContainer.java
> 2007-11-06 18:29:31 UTC (rev 4607)
>.. -1,186 +0,0 @@
> -/*
> ====================================================================
> - *
> - * The ObjectStyle Group Software License, Version 1.0
> - *
> - * Copyright (c) 2002 - 2006 The ObjectStyle Group
> - * and individual authors of the software. All rights reserved.
> - *
> - * Redistribution and use in source and binary forms, with or without
> - * modification, are permitted provided that the following conditions
> - * are met:
> - *
> - * 1. Redistributions of source code must retain the above copyright
> - * notice, this list of conditions and the following disclaimer.
> - *
> - * 2. Redistributions in binary form must reproduce the above
> copyright
> - * notice, this list of conditions and the following disclaimer in
> - * the documentation and/or other materials provided with the
> - * distribution.
> - *
> - * 3. The end-user documentation included with the redistribution, if
> - * any, must include the following acknowlegement:
> - * "This product includes software developed by the
> - * ObjectStyle Group (http://objectstyle.org/)."
> - * Alternately, this acknowlegement may appear in the software
> itself,
> - * if and wherever such third-party acknowlegements normally
> appear.
> - *
> - * 4. The names "ObjectStyle Group" and "Cayenne"
> - * must not be used to endorse or promote products derived
> - * from this software without prior written permission. For
> written
> - * permission, please contact andru..bjectstyle.org.
> - *
> - * 5. Products derived from this software may not be called
> "ObjectStyle"
> - * nor may "ObjectStyle" appear in their names without prior
> written
> - * permission of the ObjectStyle Group.
> - *
> - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
> - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
> - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
> - * DISCLAIMED. IN NO EVENT SHALL THE OBJECTSTYLE GROUP OR
> - * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
> - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
> - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
> - * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
> AND
> - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
> - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
> - * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
> - * SUCH DAMAGE.
> - *
> ====================================================================
> - *
> - * This software consists of voluntary contributions made by many
> - * individuals on behalf of the ObjectStyle Group. For more
> - * information on the ObjectStyle Group, please see
> - * <http://objectstyle.org/>.
> - *
> - */
> -package org.objectstyle.wolips.jdt.classpath;
> -
> -import java.io.File;
> -import java.io.FilenameFilter;
> -import java.util.HashMap;
> -import java.util.LinkedHashSet;
> -import java.util.Map;
> -import java.util.Set;
> -
> -import org.eclipse.core.runtime.IPath;
> -import org.eclipse.core.runtime.Path;
> -import org.eclipse.jdt.core.IClasspathAttribute;
> -import org.eclipse.jdt.core.IClasspathContainer;
> -import org.eclipse.jdt.core.IClasspathEntry;
> -import org.eclipse.jdt.core.JavaCore;
> -import org.objectstyle.wolips.variables.VariablesPlugin;
> -
> -/**
> - *..uthor Harald Niesche
> - *..uthor uli
> - */
> -public final class WOClasspathContainer implements
> IClasspathContainer {
> - public static final String WOLIPS_CLASSPATH_CONTAINER_IDENTITY =
> "org.objectstyle.wolips.WO_CLASSPATH";
> -
> - public static final String[] WOLIPS_CLASSPATH_STANDARD_FRAMEWORKS
> = new String[] { "JavaWebObjects", "JavaFoundation", "JavaXML",
> "JavaWOExtensions", "JavaEOAccess", "JavaEOControl",
> "JavaJDBCAdaptor" };
> -
> - private IClasspathEntry[] classpathEntries = null;
> -
> - private static Map<String, Set<IClasspathEntry>>
> allClasspathEntries = new HashMap<String, Set<IClasspathEntry>>();
> -
> - private IPath id;
> -
> - /**
> - * Constructor for WOClassPathContainer.
> - *
> - *..aram id
> - */
> - public WOClasspathContainer(IPath id) {
> - super();
> - this.id = id;
> - }
> -
> - /**
> - *..ee
> org.eclipse.jdt.core.IClasspathContainer#getClasspathEntries()
> - */
> - public IClasspathEntry[] getClasspathEntries() {
> - if (classpathEntries == null) {
> - initPath();
> - }
> - return classpathEntries;
> - }
> -
> - /**
> - *..ee org.eclipse.jdt.core.IClasspathContainer#getDescription()
> - */
> - public String getDescription() {
> - return "WO Frameworks";
> - }
> -
> - /**
> - *..ee org.eclipse.jdt.core.IClasspathContainer#getKind()
> - */
> - public int getKind() {
> - return IClasspathContainer.K_APPLICATION;
> - }
> -
> - /**
> - *..ee org.eclipse.jdt.core.IClasspathContainer#getPath()
> - */
> - public IPath getPath() {
> - return id;
> - }
> -
> - private void initPath() {
> - synchronized (allClasspathEntries) {
> - Set<IClasspathEntry> path = new LinkedHashSet<IClasspathEntry>();
> - IPath[] paths = VariablesPlugin.getDefault().getFrameworkRoots();
> - for (int i = 1; i < id.segmentCount(); i++) {
> - for (int h = 0; h < paths.length; h++) {
> - IPath classpathVariable = paths[h];
> - String framework = id.segment(i);
> - if (!allClasspathEntries.containsKey(framework)) {
> - File frameworkFile = new File(classpathVariable.toOSString(),
> framework + ".framework/Resources/Java");
> - if (frameworkFile.isDirectory()) {
> - String archives[] = frameworkFile.list(new FilenameFilter() {
> - public boolean accept(File dir, String name) {
> - String lowerName = name.toLowerCase();
> - return (lowerName.endsWith(".zip") ||
> lowerName.endsWith(".jar"));
> - }
> - });
> - IPath source = new Path(classpathVariable.toOSString() + "/"
> + framework + ".framework/Resources/Java/src.jar");
> - if (!source.toFile().exists()) {
> - source = null;
> - }
> - for (int j = 0; j < archives.length; j++) {
> - // framework found under this root
> - h = paths.length;
> - IPath archivePath = new
> Path(frameworkFile.getAbsolutePath() + "/" + archives[j]);
> - // IClasspathEntry entry =
> - // JavaCore.newLibraryEntry(archivePath, null,
> - // null);
> - if (!archives[j].equals("src.jar")) {
> - IClasspathAttribute javadoc[] = new IClasspathAttribute[0];
> - if (framework.indexOf("Java") == 0) {
> - javadoc = new IClasspathAttribute[1];
> - String referenceApiString =
> VariablesPlugin
> .getDefault().getReferenceApiAsJavaDocCompatibleString();
> - if (referenceApiString != null) {
> - javadoc[0] =
> JavaCore
> .newClasspathAttribute
> (IClasspathAttribute.JAVADOC_LOCATION_ATTRIBUTE_NAME,
> referenceApiString);
> - }
> - }
> - IClasspathEntry entry =
> JavaCore.newLibraryEntry(archivePath, source, null, null, javadoc,
> false);
> - path.add(entry);
> - Set<IClasspathEntry> entrySet =
> WOClasspathContainer.allClasspathEntries.get(framework);
> - if (entrySet == null) {
> - entrySet = new LinkedHashSet<IClasspathEntry>();
> - WOClasspathContainer.allClasspathEntries.put(framework,
> entrySet);
> - }
> - entrySet.add(entry);
> - }
> - }
> - }
> - } else {
> - path.addAll(allClasspathEntries.get(framework));
> - h = paths.length;
> - }
> - }
> - }
> - classpathEntries = path.toArray(new IClasspathEntry[path.size()]);
> - }
> - }
> -}
> \ No newline at end of file
>
> Deleted: trunk/woproject/wolips/core/plugins/
> org.objectstyle.wolips.jdt/java/org/objectstyle/wolips/jdt/classpath/
> WOClasspathContainerInitializer.java
> ===================================================================
> --- trunk/woproject/wolips/core/plugins/org.objectstyle.wolips.jdt/
> java/org/objectstyle/wolips/jdt/classpath/
> WOClasspathContainerInitializer.java 2007-11-06 00:06:44 UTC (rev
> 4606)
> +++ trunk/woproject/wolips/core/plugins/org.objectstyle.wolips.jdt/
> java/org/objectstyle/wolips/jdt/classpath/
> WOClasspathContainerInitializer.java 2007-11-06 18:29:31 UTC (rev
> 4607)
>.. -1,108 +0,0 @@
> -/*
> ====================================================================
> - *
> - * The ObjectStyle Group Software License, Version 1.0
> - *
> - * Copyright (c) 2002 The ObjectStyle Group
> - * and individual authors of the software. All rights reserved.
> - *
> - * Redistribution and use in source and binary forms, with or without
> - * modification, are permitted provided that the following conditions
> - * are met:
> - *
> - * 1. Redistributions of source code must retain the above copyright
> - * notice, this list of conditions and the following disclaimer.
> - *
> - * 2. Redistributions in binary form must reproduce the above
> copyright
> - * notice, this list of conditions and the following disclaimer in
> - * the documentation and/or other materials provided with the
> - * distribution.
> - *
> - * 3. The end-user documentation included with the redistribution, if
> - * any, must include the following acknowlegement:
> - * "This product includes software developed by the
> - * ObjectStyle Group (http://objectstyle.org/)."
> - * Alternately, this acknowlegement may appear in the software
> itself,
> - * if and wherever such third-party acknowlegements normally
> appear.
> - *
> - * 4. The names "ObjectStyle Group" and "Cayenne"
> - * must not be used to endorse or promote products derived
> - * from this software without prior written permission. For
> written
> - * permission, please contact andru..bjectstyle.org.
> - *
> - * 5. Products derived from this software may not be called
> "ObjectStyle"
> - * nor may "ObjectStyle" appear in their names without prior
> written
> - * permission of the ObjectStyle Group.
> - *
> - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
> - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
> - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
> - * DISCLAIMED. IN NO EVENT SHALL THE OBJECTSTYLE GROUP OR
> - * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
> - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
> - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
> - * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
> AND
> - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
> - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
> - * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
> - * SUCH DAMAGE.
> - *
> ====================================================================
> - *
> - * This software consists of voluntary contributions made by many
> - * individuals on behalf of the ObjectStyle Group. For more
> - * information on the ObjectStyle Group, please see
> - * <http://objectstyle.org/>.
> - *
> - */
> -
> -/**
> - * Created on 28.06.2002
> - *
> - */
> -package org.objectstyle.wolips.jdt.classpath;
> -
> -import org.eclipse.core.runtime.CoreException;
> -import org.eclipse.core.runtime.IPath;
> -import org.eclipse.jdt.core.ClasspathContainerInitializer;
> -import org.eclipse.jdt.core.IClasspathContainer;
> -import org.eclipse.jdt.core.IJavaProject;
> -import org.eclipse.jdt.core.JavaCore;
> -
> -/**
> - *..uthor Harald Niesche
> - *
> - */
> -public final class WOClasspathContainerInitializer extends
> ClasspathContainerInitializer {
> -
> - /**
> - * Constructor for WOClasspathContainerInitializer.
> - */
> - public WOClasspathContainerInitializer() {
> - super();
> - }
> -
> - /**
> - *..ee
> org.eclipse.jdt.core.ClasspathContainerInitializer#initialize(IPath,
> - * IJavaProject)
> - */
> - public final void initialize(IPath containerPath, IJavaProject
> project) throws CoreException {
> - int size = containerPath.segmentCount();
> - if (size > 0) {
> - String firstSegment = containerPath.segment(0);
> - if
> (firstSegment
> .startsWith
> (WOClasspathContainer.WOLIPS_CLASSPATH_CONTAINER_IDENTITY)) {
> -
> - JavaCore.setClasspathContainer(containerPath, new
> IJavaProject[] { project }, new IClasspathContainer[] { new
> WOClasspathContainer(containerPath) }, null);
> - }
> - }
> - }
> -
> - /*
> - * (non-Javadoc)
> - *
> - *..ee
> org
> .eclipse
> .jdt
> .core
> .ClasspathContainerInitializer
> #getComparisonID(org.eclipse.core.runtime.IPath,
> - * org.eclipse.jdt.core.IJavaProject)
> - */
> - public Object getComparisonID(IPath containerPath, IJavaProject
> project) {
> - // we want every WO container to show up
> - return containerPath;
> - }
> -}
>
> Modified: trunk/woproject/wolips/core/plugins/
> org.objectstyle.wolips.jdt/java/org/objectstyle/wolips/jdt/listener/
> ResourceChangeListener.java
> ===================================================================
> --- trunk/woproject/wolips/core/plugins/org.objectstyle.wolips.jdt/
> java/org/objectstyle/wolips/jdt/listener/ResourceChangeListener.java
> 2007-11-06 00:06:44 UTC (rev 4606)
> +++ trunk/woproject/wolips/core/plugins/org.objectstyle.wolips.jdt/
> java/org/objectstyle/wolips/jdt/listener/ResourceChangeListener.java
> 2007-11-06 18:29:31 UTC (rev 4607)
>.. -50,15 +50,13 @@
> package org.objectstyle.wolips.jdt.listener;
>
> import org.eclipse.core.resources.IFile;
> -import org.eclipse.core.resources.IProject;
> import org.eclipse.core.resources.IResource;
> import org.eclipse.core.resources.IResourceChangeEvent;
> import org.eclipse.core.resources.IResourceChangeListener;
> import org.eclipse.core.resources.IResourceDelta;
> import org.eclipse.core.resources.IResourceDeltaVisitor;
> import org.eclipse.core.runtime.CoreException;
> -import org.objectstyle.wolips.datasets.DataSetsPlugin;
> -import org.objectstyle.wolips.datasets.adaptable.Project;
> +import
> org.objectstyle.wolips.core.resources.types.project.IProjectAdapter;
> import org.objectstyle.wolips.jdt.JdtPlugin;
>
> /**
>.. -66,8 +64,6 @@
> */
> public class ResourceChangeListener implements
> IResourceChangeListener, IResourceDeltaVisitor {
>
> - private Project project;
> -
> /**
> * Constructor for ResourceChangeListener.
> */
>.. -94,7 +90,7 @@
> try {
> return examineResource(resource, delta.getKind());
> } catch (CoreException e) {
> - DataSetsPlugin.getDefault().getPluginLogger().log(e);
> + JdtPlugin.getDefault().getPluginLogger().log(e);
> return false;
> }
> }
>.. -119,12 +115,11 @@
> // further investigation of resource delta needed
> return true;
> case IResource.PROJECT:
> - this.project = null;
> - this.project = (Project) ((IProject)
> resource).getAdapter(Project.class);
> - if (this.project == null) {
> + IProjectAdapter project = (IProjectAdapter)
> resource.getAdapter(IProjectAdapter.class);
> + if (project == null) {
> return false;
> }
> - if (this.project.isWOLipsProject()) {
> + if (project.isApplication() || project.isFramework()) {
> return true;
> } // no webobjects project
> return false;
>.. -132,22 +127,9 @@
> return false;
> case IResource.FILE:
> if (resource.getName().equals(".classpath")) {
> - UpdateIncludeFilesJob updateIncludeFilesJob = new
> UpdateIncludeFilesJob(this.project.getIProject());
> - updateIncludeFilesJob.setRule(this.project.getIProject());
> + UpdateIncludeFilesJob updateIncludeFilesJob = new
> UpdateIncludeFilesJob(resource.getProject());
> + updateIncludeFilesJob.setRule(resource.getProject());
> updateIncludeFilesJob.schedule();
> - // IJavaProject iJavaProject = JavaCore.create(this.project
> - // .getIProject());
> - // JavaProject javaProject = (JavaProject) iJavaProject
> - // .getAdapter(JavaProject.class);
> - // List frameworkNames = javaProject.getFrameworkNames();
> - //
> - // if (frameworkNames != null) {
> - // UpdateFrameworkNamesJob updateFrameworkNamesJob = new
> - // UpdateFrameworkNamesJob(
> - // frameworkNames, this.project.getIProject());
> - // updateFrameworkNamesJob.setRule(this.project.getIProject());
> - // updateFrameworkNamesJob.schedule();
> - // }
> }
> }
> return false;
>
> Modified: trunk/woproject/wolips/core/plugins/
> org.objectstyle.wolips.jdt/java/org/objectstyle/wolips/jdt/listener/
> UpdateIncludeFilesJob.java
> ===================================================================
> --- trunk/woproject/wolips/core/plugins/org.objectstyle.wolips.jdt/
> java/org/objectstyle/wolips/jdt/listener/UpdateIncludeFilesJob.java
> 2007-11-06 00:06:44 UTC (rev 4606)
> +++ trunk/woproject/wolips/core/plugins/org.objectstyle.wolips.jdt/
> java/org/objectstyle/wolips/jdt/listener/UpdateIncludeFilesJob.java
> 2007-11-06 18:29:31 UTC (rev 4607)
>.. -61,7 +61,7 @@
> import org.eclipse.core.runtime.IProgressMonitor;
> import org.eclipse.core.runtime.IStatus;
> import org.eclipse.core.runtime.Status;
> -import org.objectstyle.wolips.datasets.DataSetsPlugin;
> +import org.objectstyle.wolips.jdt.JdtPlugin;
> import org.objectstyle.wolips.jdt.ant.UpdateFrameworkIncludeFiles;
> import
> org.objectstyle.wolips.jdt.ant.UpdateOtherClasspathIncludeFiles;
>
>.. -91,6 +91,6 @@
> UpdateFrameworkIncludeFiles updateFrameworkIncludeFiles = new
> UpdateFrameworkIncludeFiles();
> updateFrameworkIncludeFiles.setIProject(iProject);
> updateFrameworkIncludeFiles.execute();
> - return new Status(IStatus.OK, DataSetsPlugin.getPluginId(),
> IStatus.OK, "Done", null);
> + return new Status(IStatus.OK, JdtPlugin.getPluginId(),
> IStatus.OK, "Done", null);
> }
> }
>
> Deleted: trunk/woproject/wolips/core/plugins/
> org.objectstyle.wolips.jdt/java/org/objectstyle/wolips/jdt/ui/
> WOClassPathContainerPage.java
> ===================================================================
> --- trunk/woproject/wolips/core/plugins/org.objectstyle.wolips.jdt/
> java/org/objectstyle/wolips/jdt/ui/WOClassPathContainerPage.java
> 2007-11-06 00:06:44 UTC (rev 4606)
> +++ trunk/woproject/wolips/core/plugins/org.objectstyle.wolips.jdt/
> java/org/objectstyle/wolips/jdt/ui/WOClassPathContainerPage.java
> 2007-11-06 18:29:31 UTC (rev 4607)
>.. -1,161 +0,0 @@
> -/*
> ====================================================================
> - *
> - * The ObjectStyle Group Software License, Version 1.0
> - *
> - * Copyright (c) 2002 The ObjectStyle Group
> - * and individual authors of the software. All rights reserved.
> - *
> - * Redistribution and use in source and binary forms, with or without
> - * modification, are permitted provided that the following conditions
> - * are met:
> - *
> - * 1. Redistributions of source code must retain the above copyright
> - * notice, this list of conditions and the following disclaimer.
> - *
> - * 2. Redistributions in binary form must reproduce the above
> copyright
> - * notice, this list of conditions and the following disclaimer in
> - * the documentation and/or other materials provided with the
> - * distribution.
> - *
> - * 3. The end-user documentation included with the redistribution, if
> - * any, must include the following acknowlegement:
> - * "This product includes software developed by the
> - * ObjectStyle Group (http://objectstyle.org/)."
> - * Alternately, this acknowlegement may appear in the software
> itself,
> - * if and wherever such third-party acknowlegements normally
> appear.
> - *
> - * 4. The names "ObjectStyle Group" and "Cayenne"
> - * must not be used to endorse or promote products derived
> - * from this software without prior written permission. For
> written
> - * permission, please contact andru..bjectstyle.org.
> - *
> - * 5. Products derived from this software may not be called
> "ObjectStyle"
> - * nor may "ObjectStyle" appear in their names without prior
> written
> - * permission of the ObjectStyle Group.
> - *
> - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
> - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
> - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
> - * DISCLAIMED. IN NO EVENT SHALL THE OBJECTSTYLE GROUP OR
> - * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
> - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
> - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
> - * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
> AND
> - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
> - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
> - * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
> - * SUCH DAMAGE.
> - *
> ====================================================================
> - *
> - * This software consists of voluntary contributions made by many
> - * individuals on behalf of the ObjectStyle Group. For more
> - * information on the ObjectStyle Group, please see
> - * <http://objectstyle.org/>.
> - *
> - */
> -
> -package org.objectstyle.wolips.jdt.ui;
> -
> -// http://www.eclipse.org/articles/Understanding%20Layouts/Understanding%20Layouts.htm
> -
> -import java.util.ArrayList;
> -import java.util.List;
> -
> -import org.eclipse.jdt.core.IClasspathEntry;
> -import org.eclipse.jdt.ui.wizards.IClasspathContainerPage;
> -import org.eclipse.jface.viewers.CheckboxTreeViewer;
> -import org.eclipse.jface.wizard.WizardPage;
> -import org.eclipse.swt.SWT;
> -import org.eclipse.swt.graphics.Rectangle;
> -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
> .objectstyle
> .wolips
> .jdt.ui.WOClasspathContainerContentProvider.WOClasspathContainerEntry;
> -import
> org
> .objectstyle
> .wolips
> .jdt.ui.WOClasspathContainerContentProvider.WOClasspathContainerRoot;
> -
> -/**
> - * Insert the type's description here.
> - *
> - *..ee WizardPage
> - */
> -public class WOClassPathContainerPage extends WizardPage implements
> IClasspathContainerPage {
> - private WOClasspathContainerContentProvider path;
> -
> - /**
> - * The constructor.
> - */
> - public WOClassPathContainerPage() {
> - super("non-localized WOClassPathContainerPage");
> - }
> -
> - public void createControl(Composite parent) {
> - Composite thisPage = new Composite(parent, SWT.NONE);
> -
> - thisPage.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
> - thisPage.setLayout(new GridLayout());
> - // thisPage.setLayout(new RowLayout(SWT.VERTICAL));
> -
> - this._uiList = new CheckboxTreeViewer(thisPage, SWT.MULTI);
> - // _uiList = new CheckboxTreeViewer(thisPage, SWT.MULTI |
> SWT.BORDER |
> - // SWT.V_SCROLL | SWT.H_SCROLL);
> - GridData gd = new GridData(GridData.HORIZONTAL_ALIGN_FILL |
> GridData.FILL_HORIZONTAL);
> - // |GridData.VERTICAL_ALIGN_FILL
> - Rectangle trim = this._uiList.getTree().computeTrim(0, 0, 0, 12 *
> this._uiList.getTree().getItemHeight());
> - gd.heightHint = trim.height;
> - this._uiList.getTree().setLayoutData(gd);
> - this._uiList.setContentProvider(this.path);
> - this._uiList.setLabelProvider(this.path);
> - this._uiList.setInput(this.path);
> - List<WOClasspathContainerEntry> checked = new
> ArrayList<WOClasspathContainerEntry>();
> - WOClasspathContainerRoot[] roots = this.path.getRoots();
> - if (roots != null) {
> - for (int i = 0; i < roots.length; i++) {
> - WOClasspathContainerEntry[] entries = roots[i].getEntries();
> - if (entries != null) {
> - for (int j = 0; j < entries.length; j++) {
> - if (entries[j].isChecked())
> - checked.add(entries[j]);
> - }
> - }
> - }
> - }
> - this._uiList.setCheckedElements(checked.toArray());
> -
> - Label lbl = new Label(thisPage, SWT.SINGLE);
> - lbl.setText("Hint: use Ctrl-click or Shift-click");
> -
> - thisPage.layout();
> -
> - setControl(thisPage);
> - }
> -
> - /*
> - * (non-Javadoc)
> - *
> - *..ee org.eclipse.jdt.ui.wizards.IClasspathContainerPage#finish()
> - */
> - public boolean finish() {
> - return true;
> - }
> -
> - /*
> - * (non-Javadoc)
> - *
> - *..ee
> org.eclipse.jdt.ui.wizards.IClasspathContainerPage#getSelection()
> - */
> - public IClasspathEntry getSelection() {
> - return this.path.getClasspathEntry();
> - }
> -
> - /*
> - * (non-Javadoc)
> - *
> - *..ee
> org
> .eclipse
> .jdt
> .ui
> .wizards
> .IClasspathContainerPage
> #setSelection(org.eclipse.jdt.core.IClasspathEntry)
> - */
> - public void setSelection(IClasspathEntry containerEntry) {
> - this.path = new
> WOClasspathContainerContentProvider(containerEntry);
> - }
> -
> - private CheckboxTreeViewer _uiList;
> -}
>
> Deleted: trunk/woproject/wolips/core/plugins/
> org.objectstyle.wolips.jdt/java/org/objectstyle/wolips/jdt/ui/
> WOClasspathContainerContentProvider.java
> ===================================================================
> --- trunk/woproject/wolips/core/plugins/org.objectstyle.wolips.jdt/
> java/org/objectstyle/wolips/jdt/ui/
> WOClasspathContainerContentProvider.java 2007-11-06 00:06:44 UTC
> (rev 4606)
> +++ trunk/woproject/wolips/core/plugins/org.objectstyle.wolips.jdt/
> java/org/objectstyle/wolips/jdt/ui/
> WOClasspathContainerContentProvider.java 2007-11-06 18:29:31 UTC
> (rev 4607)
>.. -1,434 +0,0 @@
> -/*
> ====================================================================
> - *
> - * The ObjectStyle Group Software License, Version 1.0
> - *
> - * Copyright (c) 2004 The ObjectStyle Group
> - * and individual authors of the software. All rights reserved.
> - *
> - * Redistribution and use in source and binary forms, with or without
> - * modification, are permitted provided that the following conditions
> - * are met:
> - *
> - * 1. Redistributions of source code must retain the above copyright
> - * notice, this list of conditions and the following disclaimer.
> - *
> - * 2. Redistributions in binary form must reproduce the above
> copyright
> - * notice, this list of conditions and the following disclaimer in
> - * the documentation and/or other materials provided with the
> - * distribution.
> - *
> - * 3. The end-user documentation included with the redistribution, if
> - * any, must include the following acknowlegement:
> - * "This product includes software developed by the
> - * ObjectStyle Group (http://objectstyle.org/)."
> - * Alternately, this acknowlegement may appear in the software
> itself,
> - * if and wherever such third-party acknowlegements normally
> appear.
> - *
> - * 4. The names "ObjectStyle Group" and "Cayenne"
> - * must not be used to endorse or promote products derived
> - * from this software without prior written permission. For
> written
> - * permission, please contact andru..bjectstyle.org.
> - *
> - * 5. Products derived from this software may not be called
> "ObjectStyle"
> - * nor may "ObjectStyle" appear in their names without prior
> written
> - * permission of the ObjectStyle Group.
> - *
> - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
> - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
> - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
> - * DISCLAIMED. IN NO EVENT SHALL THE OBJECTSTYLE GROUP OR
> - * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
> - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
> - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
> - * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
> AND
> - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
> - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
> - * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
> - * SUCH DAMAGE.
> - *
> ====================================================================
> - *
> - * This software consists of voluntary contributions made by many
> - * individuals on behalf of the ObjectStyle Group. For more
> - * information on the ObjectStyle Group, please see
> - * <http://objectstyle.org/>.
> - *
> - */
> -package org.objectstyle.wolips.jdt.ui;
> -
> -import java.io.File;
> -import java.io.FilenameFilter;
> -import java.util.ArrayList;
> -import java.util.List;
> -
> -import org.eclipse.core.runtime.IPath;
> -import org.eclipse.core.runtime.Path;
> -import org.eclipse.jdt.core.IClasspathEntry;
> -import org.eclipse.jdt.core.JavaCore;
> -import org.eclipse.jface.viewers.CheckboxTreeViewer;
> -import org.eclipse.jface.viewers.ILabelProvider;
> -import org.eclipse.jface.viewers.ILabelProviderListener;
> -import org.eclipse.jface.viewers.ITreeContentProvider;
> -import org.eclipse.jface.viewers.Viewer;
> -import org.eclipse.swt.graphics.Image;
> -import org.objectstyle.wolips.jdt.PluginImages;
> -import org.objectstyle.wolips.jdt.classpath.WOClasspathContainer;
> -import org.objectstyle.wolips.variables.VariablesPlugin;
> -
> -/**
> - *..uthor ulrich
> - *
> - * To change the template for this generated type comment go to
> - * Window>Preferences>Java>Code Generation>Code and Comments
> - */
> -public class WOClasspathContainerContentProvider implements
> ITreeContentProvider, ILabelProvider {
> - private WOClasspathContainerRoot[] roots;
> -
> - private CheckboxTreeViewer checkboxTreeViewer;
> -
> - protected List<String> allEntries = new ArrayList<String>();
> -
> - private boolean isExported = false;
> -
> - /**
> - *..aram containerEntry
> - */
> - public WOClasspathContainerContentProvider(IClasspathEntry
> containerEntry) {
> - super();
> - IPath path = null;
> - if (containerEntry == null || containerEntry.getPath() == null) {
> - path = new
> Path(WOClasspathContainer.WOLIPS_CLASSPATH_CONTAINER_IDENTITY);
> - for (int i = 0; i <
> WOClasspathContainer.WOLIPS_CLASSPATH_STANDARD_FRAMEWORKS.length; i+
> +) {
> - path = path.append("/" +
> WOClasspathContainer.WOLIPS_CLASSPATH_STANDARD_FRAMEWORKS[i]);
> - }
> - } else {
> - this.isExported = containerEntry.isExported();
> - path = containerEntry.getPath();
> - }
> - String[] rootsNames =
> VariablesPlugin.getDefault().getFrameworkRootsNames();
> - IPath[] rootsPaths =
> VariablesPlugin.getDefault().getFrameworkRoots();
> - this.roots = new WOClasspathContainerRoot[rootsNames.length];
> - for (int i = 0; i < rootsNames.length; i++) {
> - this.roots[i] = new WOClasspathContainerRoot(rootsNames[i],
> rootsPaths[i], path);
> - }
> - }
> -
> - /**
> - *..uthor ulrich
> - *
> - * TODO To change the template for this generated type comment go
> to Window -
> - * Preferences - Java - Code Style - Code Templates
> - */
> - public final class WOClasspathContainerRoot {
> - private String root;
> -
> - private IPath rootPath;
> -
> - private IPath containerPath;
> -
> - private WOClasspathContainerEntry[] entries;
> -
> - protected WOClasspathContainerRoot(String root, IPath rootPath,
> IPath containerPath) {
> - this.root = root;
> - this.rootPath = rootPath;
> - this.containerPath = containerPath;
> - File fwBase = new File(rootPath.toOSString());
> - if (fwBase.exists() && fwBase.isDirectory()) {
> - File frameworks[] = fwBase.listFiles(new WOFWFilenameFilter());
> - this.entries = new WOClasspathContainerEntry[frameworks.length];
> - for (int i = 0; i < frameworks.length; i++) {
> - WOClasspathContainerEntry entry = new
> WOClasspathContainerEntry(this, containerPath, frameworks[i]);
> - this.entries[i] = entry;
> - }
> - }
> - }
> -
> - /**
> - *..eturn
> - */
> - public WOClasspathContainerEntry[] getEntries() {
> - return this.entries;
> - }
> -
> - protected String getRoot() {
> - return this.root;
> - }
> -
> - protected IPath getContainerPath() {
> - return this.containerPath;
> - }
> -
> - protected IPath getRootPath() {
> - return this.rootPath;
> - }
> -
> - }
> -
> - /**
> - *..uthor ulrich
> - *
> - * TODO To change the template for this generated type comment go
> to Window -
> - * Preferences - Java - Code Style - Code Templates
> - */
> - public final class WOClasspathContainerEntry {
> - private WOClasspathContainerRoot root;
> -
> - private boolean checked = false;
> -
> - private String name;
> -
> - protected WOClasspathContainerEntry(WOClasspathContainerRoot
> root, IPath path, File framework) {
> - this.root = root;
> - if (path != null) {
> - String[] segments = path.segments();
> - this.name = framework.getName();
> - // cut off the .framework
> - this.name = this.name.substring(0, this.name.length() - 10);
> - for (int i = 0; i < segments.length; i++) {
> - this.checked = (i > 0 && !
> WOClasspathContainerContentProvider
> .this.allEntries.contains(this.name) &&
> segments[i].equals(this.name) && this.exists(segments[i],
> (this.getRoot().getRootPath())));
> - if (this.checked) {
> - i = segments.length;
> -
> WOClasspathContainerContentProvider.this.allEntries.add(this.name);
> - }
> -
> - }
> - }
> - }
> -
> - private boolean exists(String framework, IPath rootPath) {
> - IPath frameworkPath = rootPath.append(framework +
> ".framework").append("Resources").append("Java");
> - File frameworkFile = new File(frameworkPath.toOSString());
> - return frameworkFile.isDirectory();
> - }
> -
> - /**
> - *..eturn
> - */
> - public boolean isChecked() {
> - return this.checked;
> - }
> -
> - /**
> - *..aram b
> - */
> - protected void setChecked(boolean b) {
> - this.checked = b;
> - }
> -
> - protected String getName() {
> - return this.name;
> - }
> -
> - protected WOClasspathContainerRoot getRoot() {
> - return this.root;
> - }
> -
> - }
> -
> - private static final class WildcardFilenameFilter implements
> FilenameFilter {
> - WildcardFilenameFilter(String prefix, String suffix) {
> - this._prefix = prefix;
> - this._suffix = suffix;
> - }
> -
> - public boolean accept(File file, String name) {
> -
> - String lowerName = name.toLowerCase();
> -
> - return (((null == this._prefix) ||
> lowerName.startsWith(this._prefix)) && ((null == this._suffix) ||
> lowerName.endsWith(this._suffix)));
> - }
> -
> - String _prefix;
> -
> - String _suffix;
> - }
> -
> - static final class WOFWFilenameFilter implements FilenameFilter {
> - public boolean accept(File file, String name) {
> - /* name.startsWith("Java") && */
> - boolean candidate = name.endsWith(".framework");
> -
> - boolean result = false;
> -
> - if (candidate) {
> - File resDir = new File(file, name + "/Resources/Java");
> - if (resDir.exists()) {
> -
> - String jarFiles[] = resDir.list(new
> WildcardFilenameFilter(null, ".jar"));
> - String zipFiles[] = resDir.list(new
> WildcardFilenameFilter(null, ".zip"));
> -
> - result = (0 != jarFiles.length) || (0 != zipFiles.length);
> -
> - }
> - }
> -
> - return (result);
> - }
> - }
> -
> - /**
> - *..eturn
> - */
> - public IClasspathEntry getClasspathEntry() {
> - IPath path = null;
> - path = new
> Path(WOClasspathContainer.WOLIPS_CLASSPATH_CONTAINER_IDENTITY);
> - if (this.getRoots() != null)
> - for (int i = 0; i < this.getRoots().length; i++) {
> - WOClasspathContainerRoot root = this.getRoots()[i];
> - if (root.getEntries() != null)
> - for (int j = 0; j < root.getEntries().length; j++) {
> - if (root.getEntries() != null &&
> this.checkboxTreeViewer.getChecked(root.getEntries()[j])) {
> - // path = path.append(root.root);
> - path = path.append(root.getEntries()[j].getName());
> - }
> - }
> - }
> - return JavaCore.newContainerEntry(path, this.isExported);
> - }
> -
> - /**
> - *..eturn
> - */
> - public WOClasspathContainerRoot[] getRoots() {
> - return this.roots;
> - }
> -
> - /*
> - * (non-Javadoc)
> - *
> - *..ee
> org
> .eclipse
> .jface.viewers.ITreeContentProvider#getChildren(java.lang.Object)
> - */
> - public Object[] getChildren(Object parentElement) {
> - if (parentElement instanceof WOClasspathContainerRoot) {
> - WOClasspathContainerEntry[] entries =
> ((WOClasspathContainerRoot) parentElement).getEntries();
> - /*
> - * for (int i = 0; i < entries.length; i++) {
> - * viewer.setChecked(entries[i], entries[i].isChecked()); }
> - */
> - return entries;
> - }
> - if (parentElement instanceof WOClasspathContainerContentProvider) {
> - WOClasspathContainerRoot[] currentRoots =
> ((WOClasspathContainerContentProvider) parentElement).getRoots();
> - /*
> - * for (int i = 0; i < roots.length; i++) { viewer.add(roots[i],
> - * this.getChildren(roots[i])); }
> - */
> - return currentRoots;
> - }
> - return new Object[0];
> - }
> -
> - /*
> - * (non-Javadoc)
> - *
> - *..ee
> org
> .eclipse
> .jface.viewers.ITreeContentProvider#getParent(java.lang.Object)
> - */
> - public Object getParent(Object element) {
> - if (element instanceof WOClasspathContainerRoot)
> - return this;
> - if (element instanceof WOClasspathContainerEntry)
> - return ((WOClasspathContainerEntry) element).getRoot();
> - return null;
> - }
> -
> - /*
> - * (non-Javadoc)
> - *
> - *..ee
> org
> .eclipse
> .jface.viewers.ITreeContentProvider#hasChildren(java.lang.Object)
> - */
> - public boolean hasChildren(Object element) {
> - if (element instanceof WOClasspathContainerContentProvider)
> - return ((WOClasspathContainerContentProvider)
> element).getRoots() != null &&
> ((WOClasspathContainerContentProvider) element).getRoots().length > 0;
> - if (element instanceof WOClasspathContainerRoot)
> - return ((WOClasspathContainerRoot) element).getEntries() != null
> && ((WOClasspathContainerRoot) element).getEntries().length > 0;
> - return false;
> - }
> -
> - /*
> - * (non-Javadoc)
> - *
> - *..ee
> org
> .eclipse
> .jface
> .viewers.IStructuredContentProvider#getElements(java.lang.Object)
> - */
> - public Object[] getElements(Object inputElement) {
> - return this.getChildren(inputElement);
> - }
> -
> - /*
> - * (non-Javadoc)
> - *
> - *..ee org.eclipse.jface.viewers.IContentProvider#dispose()
> - */
> - public void dispose() {
> - return;
> - }
> -
> - /*
> - * (non-Javadoc)
> - *
> - *..ee
> org
> .eclipse
> .jface
> .viewers
> .IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer,
> - * java.lang.Object, java.lang.Object)
> - */
> - public void inputChanged(Viewer viewer, Object oldInput, Object
> newInput) {
> - this.checkboxTreeViewer = (CheckboxTreeViewer) viewer;
> - }
> -
> - /*
> - * (non-Javadoc)
> - *
> - *..ee
> org.eclipse.jface.viewers.ILabelProvider#getImage(java.lang.Object)
> - */
> - public Image getImage(Object element) {
> - if (element instanceof WOClasspathContainerRoot)
> - return PluginImages.WOFRAMEWORK_ROOT_IMAGE();
> - if (element instanceof WOClasspathContainerEntry) {
> - for (int i = 0; i <
> WOClasspathContainer.WOLIPS_CLASSPATH_STANDARD_FRAMEWORKS.length; i+
> +) {
> - if
> (WOClasspathContainer
> .WOLIPS_CLASSPATH_STANDARD_FRAMEWORKS
> [i].equals(((WOClasspathContainerEntry) element).getName()))
> - return PluginImages.WOSTANDARD_FRAMEWORK_IMAGE();
> - }
> - return PluginImages.WOFRAMEWORK_IMAGE();
> - }
> - return null;
> - }
> -
> - /*
> - * (non-Javadoc)
> - *
> - *..ee
> org.eclipse.jface.viewers.ILabelProvider#getText(java.lang.Object)
> - */
> - public String getText(Object element) {
> - if (element instanceof WOClasspathContainerRoot)
> - return ((WOClasspathContainerRoot) element).getRoot();
> - if (element instanceof WOClasspathContainerEntry)
> - return ((WOClasspathContainerEntry) element).getName();
> -
> - return element.toString();
> - }
> -
> - /*
> - * (non-Javadoc)
> - *
> - *..ee
> org
> .eclipse
> .jface
> .viewers
> .IBaseLabelProvider
> #addListener(org.eclipse.jface.viewers.ILabelProviderListener)
> - */
> - public void addListener(ILabelProviderListener listener) {
> - return;
> - }
> -
> - /*
> - * (non-Javadoc)
> - *
> - *..ee
> org
> .eclipse
> .jface.viewers.IBaseLabelProvider#isLabelProperty(java.lang.Object,
> - * java.lang.String)
> - */
> - public boolean isLabelProperty(Object element, String property) {
> - return false;
> - }
> -
> - /*
> - * (non-Javadoc)
> - *
> - *..ee
> org
> .eclipse
> .jface
> .viewers
> .IBaseLabelProvider
> #removeListener(org.eclipse.jface.viewers.ILabelProviderListener)
> - */
> - public void removeListener(ILabelProviderListener listener) {
> - return;
> - }
> -
> -}
> \ No newline at end of file
>
> Modified: trunk/woproject/wolips/core/plugins/
> org.objectstyle.wolips.jdt/plugin.xml
> ===================================================================
> --- trunk/woproject/wolips/core/plugins/org.objectstyle.wolips.jdt/
> plugin.xml 2007-11-06 00:06:44 UTC (rev 4606)
> +++ trunk/woproject/wolips/core/plugins/org.objectstyle.wolips.jdt/
> plugin.xml 2007-11-06 18:29:31 UTC (rev 4607)
>.. -25,7 +25,7 @@
> <extension
> point="org.eclipse.jdt.core.classpathContainerInitializer">
> <classpathContainerInitializer
> -
> class
> =
> "org.objectstyle.wolips.jdt.classpath.WOClasspathContainerInitializer"
> +
> class="org.objectstyle.wolips.jdt.classpath.ContainerInitializer"
> id="org.objectstyle.wolips.WO_CLASSPATH">
> </classpathContainerInitializer>
> </extension>
>.. -42,14 +42,6 @@
> <extension
> point="org.eclipse.jdt.ui.classpathContainerPage">
> <classpathContainerPage
> - name="WebObjects Frameworks old"
> -
> class="org.objectstyle.wolips.jdt.ui.WOClassPathContainerPage"
> - id="org.objectstyle.wolips.WO_CLASSPATH">
> - </classpathContainerPage>
> - </extension>
> - <extension
> - point="org.eclipse.jdt.ui.classpathContainerPage">
> - <classpathContainerPage
> name="WebObjects Frameworks"
> class="org.objectstyle.wolips.jdt.ui.ContainerPage"
> id="org.objectstyle.wolips.ContainerInitializer">
>
> Modified: trunk/woproject/wolips/core/plugins/
> org.objectstyle.wolips.launching/java/org/objectstyle/wolips/
> launching/classpath/WORuntimeClasspathProvider.java
> ===================================================================
> --- trunk/woproject/wolips/core/plugins/
> org.objectstyle.wolips.launching/java/org/objectstyle/wolips/
> launching/classpath/WORuntimeClasspathProvider.java 2007-11-06
> 00:06:44 UTC (rev 4606)
> +++ trunk/woproject/wolips/core/plugins/
> org.objectstyle.wolips.launching/java/org/objectstyle/wolips/
> launching/classpath/WORuntimeClasspathProvider.java 2007-11-06
> 18:29:31 UTC (rev 4607)
>.. -181,10 +181,14 @@
> private boolean isAppleProvided(IRuntimeClasspathEntry
> runtimeClasspathEntry) {
> String location = runtimeClasspathEntry.getLocation();
> if (location != null) {
> - // check maven path
> + // check maven path (first french version)
> if (location.indexOf("webobjects" + File.separator + "apple") >
> 0) {
> return true;
> }
> + // check maven path
> + if (location.indexOf("apple" + File.separator + "webobjects") >
> 0) {
> + return true;
> + }
> // check mac path
> if (location.indexOf("System" + File.separator + "Library") > 0) {
> return true;
>
> Deleted: trunk/woproject/wolips/core/plugins/
> org.objectstyle.wolips.launching/java/org/objectstyle/wolips/
> launching/classpath/WORuntimeClasspathResolver.java
> ===================================================================
> --- trunk/woproject/wolips/core/plugins/
> org.objectstyle.wolips.launching/java/org/objectstyle/wolips/
> launching/classpath/WORuntimeClasspathResolver.java 2007-11-06
> 00:06:44 UTC (rev 4606)
> +++ trunk/woproject/wolips/core/plugins/
> org.objectstyle.wolips.launching/java/org/objectstyle/wolips/
> launching/classpath/WORuntimeClasspathResolver.java 2007-11-06
> 18:29:31 UTC (rev 4607)
>.. -1,149 +0,0 @@
> -/*
> - *
> ====================================================================
> - *
> - * The ObjectStyle Group Software License, Version 1.0
> - *
> - * Copyright (c) 2002 The ObjectStyle Group and individual authors
> of the
> - * software. All rights reserved.
> - *
> - * Redistribution and use in source and binary forms, with or without
> - * modification, are permitted provided that the following
> conditions are met:
> - * 1. Redistributions of source code must retain the above
> copyright notice,
> - * this list of conditions and the following disclaimer.
> - * 2. Redistributions in binary form must reproduce the above
> copyright
> - * notice, this list of conditions and the following disclaimer in
> the
> - * documentation and/or other materials provided with the
> distribution.
> - * 3. The end-user documentation included with the redistribution,
> if any,
> - * must include the following acknowlegement: "This product
> includes software
> - * developed by the ObjectStyle Group (http://objectstyle.org/)."
> Alternately,
> - * this acknowlegement may appear in the software itself, if and
> wherever such
> - * third-party acknowlegements normally appear.
> - * 4. The names "ObjectStyle Group" and "Cayenne" must not be used
> to endorse
> - * or promote products derived from this software without prior
> written
> - * permission. For written permission, please contact andru..bjectstyle.org
> .
> - * 5. Products derived from this software may not be called
> "ObjectStyle" nor
> - * may "ObjectStyle" appear in their names without prior written
> permission of
> - * the ObjectStyle Group.
> - *
> - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
> WARRANTIES,
> - * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
> MERCHANTABILITY AND
> - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
> SHALL THE
> - * OBJECTSTYLE GROUP OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
> INDIRECT,
> - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
> (INCLUDING, BUT NOT
> - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
> USE, DATA,
> - * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
> THEORY OF
> - * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
> (INCLUDING
> - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
> THIS SOFTWARE,
> - * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
> - *
> ====================================================================
> - *
> - * This software consists of voluntary contributions made by many
> individuals
> - * on behalf of the ObjectStyle Group. For more information on the
> ObjectStyle
> - * Group, please see <http://objectstyle.org/> .
> - *
> - */
> -
> -package org.objectstyle.wolips.launching.classpath;
> -
> -import java.util.ArrayList;
> -import java.util.Arrays;
> -import java.util.HashSet;
> -import java.util.List;
> -import java.util.Set;
> -
> -import org.eclipse.core.resources.IWorkspaceRoot;
> -import org.eclipse.core.resources.ResourcesPlugin;
> -import org.eclipse.core.runtime.CoreException;
> -import org.eclipse.core.runtime.IPath;
> -import org.eclipse.core.runtime.Path;
> -import org.eclipse.debug.core.ILaunchConfiguration;
> -import org.eclipse.jdt.core.IClasspathEntry;
> -import org.eclipse.jdt.core.IJavaProject;
> -import org.eclipse.jdt.core.JavaCore;
> -import org.eclipse.jdt.launching.IRuntimeClasspathEntry;
> -import org.eclipse.jdt.launching.IRuntimeClasspathEntryResolver;
> -import org.eclipse.jdt.launching.IVMInstall;
> -import org.eclipse.jdt.launching.JavaRuntime;
> -import org.objectstyle.wolips.jdt.classpath.WOClasspathContainer;
> -
> -/**
> - *..uthor ulrich
> - *
> - * To change the template for this generated type comment go to
> - * Window>Preferences>Java>Code Generation>Code and Comments
> - */
> -public class WORuntimeClasspathResolver implements
> IRuntimeClasspathEntryResolver {
> -
> - /*
> - * (non-Javadoc)
> - *
> - *..ee
> org
> .eclipse
> .jdt
> .launching
> .IRuntimeClasspathEntryResolver
> #resolveRuntimeClasspathEntry
> (org.eclipse.jdt.launching.IRuntimeClasspathEntry,
> - * org.eclipse.debug.core.ILaunchConfiguration)
> - */
> - public IRuntimeClasspathEntry[]
> resolveRuntimeClasspathEntry(IRuntimeClasspathEntry entry,
> ILaunchConfiguration configuration) throws CoreException {
> - IJavaProject prj = JavaRuntime.getJavaProject(configuration);
> - return this.resolveRuntimeClasspathEntry(entry, prj);
> - }
> -
> - /*
> - * (non-Javadoc)
> - *
> - *..ee
> org
> .eclipse
> .jdt
> .launching
> .IRuntimeClasspathEntryResolver
> #resolveRuntimeClasspathEntry
> (org.eclipse.jdt.launching.IRuntimeClasspathEntry,
> - * org.eclipse.jdt.core.IJavaProject)
> - */
> - public IRuntimeClasspathEntry[]
> resolveRuntimeClasspathEntry(IRuntimeClasspathEntry entry,
> IJavaProject project) throws CoreException {
> - IPath path = entry.getClasspathEntry().getPath();
> -
> - List rawEntries = new
> ArrayList(Arrays.asList(project.getRawClasspath()));
> -
> - IWorkspaceRoot wsRoot = ResourcesPlugin.getWorkspace().getRoot();
> -
> - Set referencedFrameworks = new HashSet();
> - while (!rawEntries.isEmpty()) {
> - IClasspathEntry thisOne = (IClasspathEntry) rawEntries.remove(0);
> - if (IClasspathEntry.CPE_PROJECT == thisOne.getEntryKind()) {
> - String name = thisOne.getPath().lastSegment();
> - if (!referencedFrameworks.contains(name)) {
> - referencedFrameworks.add(name);
> - try {
> - IJavaProject refPrj = JavaCore.create(wsRoot.getProject(name));
> - rawEntries.addAll(Arrays.asList(refPrj.getRawClasspath()));
> - } catch (CoreException up) {
> - // ignore, for now
> - System.out.println(up);
> - }
> - }
> - }
> - }
> -
> - IPath resultPath = new Path(path.segment(0));
> -
> - for (int i = 1; i < path.segmentCount(); ++i) {
> - String segment = path.segment(i);
> - if (!referencedFrameworks.contains(segment)) {
> - resultPath = resultPath.append(segment);
> - }
> - }
> -
> - WOClasspathContainer rcc = new WOClasspathContainer(resultPath);
> -
> - IClasspathEntry re[] = rcc.getClasspathEntries();
> - IRuntimeClasspathEntry rrce[] = new
> IRuntimeClasspathEntry[re.length];
> -
> - for (int i = 0; i < re.length; ++i) {
> - rrce[i] =
> JavaRuntime.newArchiveRuntimeClasspathEntry(re[i].getPath());
> - }
> -
> - return rrce;
> - }
> -
> - /*
> - * (non-Javadoc)
> - *
> - *..ee
> org
> .eclipse
> .jdt
> .launching
> .IRuntimeClasspathEntryResolver
> #resolveVMInstall(org.eclipse.jdt.core.IClasspathEntry)
> - */
> - public IVMInstall resolveVMInstall(IClasspathEntry entry) throws
> CoreException {
> - return null;
> - }
> -
> -}
>
> Modified: trunk/woproject/wolips/core/plugins/
> org.objectstyle.wolips.launching/plugin.xml
> ===================================================================
> --- trunk/woproject/wolips/core/plugins/
> org.objectstyle.wolips.launching/plugin.xml 2007-11-06 00:06:44 UTC
> (rev 4606)
> +++ trunk/woproject/wolips/core/plugins/
> org.objectstyle.wolips.launching/plugin.xml 2007-11-06 18:29:31 UTC
> (rev 4607)
>.. -61,19 +61,8 @@
>
> id="org.objectstyle.wolips.launching.WORuntimeClasspathProvider">
> </classpathProvider>
> </extension>
> +
> <!--
> =
> =
> =
> =
> =
> =
> =
> =
> =
> =
> =
> =
> =
> =
> =
> ====================================================================
> -->
> -<!-- Extension: runtime classpath entry
> resolvers -->
> -<!--
> =
> =
> =
> =
> =
> =
> =
> =
> =
> =
> =
> =
> =
> =
> =
> ====================================================================
> -->
> - <extension
> -
> point="org.eclipse.jdt.launching.runtimeClasspathEntryResolvers">
> - <runtimeClasspathEntryResolver
> -
> class
> =
> "org
> .objectstyle.wolips.launching.classpath.WORuntimeClasspathResolver"
> - container="org.objectstyle.wolips.WO_CLASSPATH"
> -
> id
> =
> "org
> .objectstyle.wolips.launching.classpath.WORuntimeClasspathResolver"
> -
> runtimeClasspathEntryId
> ="org.objectstyle.wolips.launching.WORuntimeClasspathProvider">
> - </runtimeClasspathEntryResolver>
> - </extension>
> -<!--
> =
> =
> =
> =
> =
> =
> =
> =
> =
> =
> =
> =
> =
> =
> =
> ====================================================================
> -->
> <!-- Extension: Launch
> shortcuts -->
> <!--
> =
> =
> =
> =
> =
> =
> =
> =
> =
> =
> =
> =
> =
> =
> =
> ====================================================================
> -->
> <extension
>
> Modified: trunk/woproject/wolips/core/plugins/
> org.objectstyle.wolips.wizards/.classpath
> ===================================================================
> --- trunk/woproject/wolips/core/plugins/
> org.objectstyle.wolips.wizards/.classpath 2007-11-06 00:06:44 UTC
> (rev 4606)
> +++ trunk/woproject/wolips/core/plugins/
> org.objectstyle.wolips.wizards/.classpath 2007-11-06 18:29:31 UTC
> (rev 4607)
>.. -3,6 +3,5 @@
> <classpathentry kind="src" path="java"/>
> <classpathentry kind="con"
> path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
> <classpathentry kind="con"
> path="org.eclipse.pde.core.requiredPlugins"/>
> - <classpathentry kind="src" path="/org.objectstyle.wolips.jdt"/>
> <classpathentry kind="output" path="bin"/>
> </classpath>
>
> Modified: trunk/woproject/wolips/core/plugins/
> org.objectstyle.wolips.wizards/META-INF/MANIFEST.MF
> ===================================================================
> --- trunk/woproject/wolips/core/plugins/
> org.objectstyle.wolips.wizards/META-INF/MANIFEST.MF 2007-11-06
> 00:06:44 UTC (rev 4606)
> +++ trunk/woproject/wolips/core/plugins/
> org.objectstyle.wolips.wizards/META-INF/MANIFEST.MF 2007-11-06
> 18:29:31 UTC (rev 4607)
>.. -21,7 +21,10 @@
> org.objectstyle.wolips.eogenerator.jdt,
> org.eclipse.ui,
> org.eclipse.core.resources,
> + org.objectstyle.wolips.jdt,
> + org.eclipse.core.resources,
> org.objectstyle.wolips.bindings
> Eclipse-LazyStart: true
> Export-Package: org.objectstyle.wolips.wizards,
> - org.objectstyle.wolips.wizards.actions
> + org.objectstyle.wolips.wizards.actions,
> + org.objectstyle.wolips.wizards.template
>
> Modified: trunk/woproject/wolips/core/plugins/
> org.objectstyle.wolips.wizards/java/org/objectstyle/wolips/wizards/
> NewWOProjectWizard.java
> ===================================================================
> --- trunk/woproject/wolips/core/plugins/
> org.objectstyle.wolips.wizards/java/org/objectstyle/wolips/wizards/
> NewWOProjectWizard.java 2007-11-06 00:06:44 UTC (rev 4606)
> +++ trunk/woproject/wolips/core/plugins/
> org.objectstyle.wolips.wizards/java/org/objectstyle/wolips/wizards/
> NewWOProjectWizard.java 2007-11-06 18:29:31 UTC (rev 4607)
>.. -6,7 +6,6 @@
> import java.util.ArrayList;
> import java.util.HashMap;
> import java.util.HashSet;
> -import java.util.Iterator;
> import java.util.List;
> import java.util.Set;
> import java.util.StringTokenizer;
>.. -20,6 +19,7 @@
> import org.eclipse.core.runtime.CoreException;
> import org.eclipse.core.runtime.IConfigurationElement;
> import org.eclipse.core.runtime.IExecutableExtension;
> +import org.eclipse.core.runtime.IPath;
> import org.eclipse.core.runtime.IProgressMonitor;
> import org.eclipse.core.runtime.IStatus;
> import org.eclipse.core.runtime.OperationCanceledException;
>.. -62,7 +62,10 @@
> import org.eclipse.ui.internal.util.PrefUtil;
> import org.eclipse.ui.internal.wizards.newresource.ResourceMessages;
> import org.eclipse.ui.wizards.newresource.BasicNewResourceWizard;
> -import org.objectstyle.wolips.jdt.classpath.WOClasspathContainer;
> +import org.objectstyle.wolips.jdt.classpath.Container;
> +import org.objectstyle.wolips.jdt.classpath.ContainerEntries;
> +import org.objectstyle.wolips.jdt.classpath.ContainerEntry;
> +import org.objectstyle.wolips.jdt.classpath.PathCoderException;
> import org.objectstyle.wolips.templateengine.ProjectTemplate;
> import org.objectstyle.wolips.templateengine.TemplateDefinition;
> import org.objectstyle.wolips.templateengine.TemplateEngine;
>.. -115,14 +118,18 @@
> * Extension attribute name for preferred perspectives.
> */
> private static final String PREFERRED_PERSPECTIVES =
> "preferredPerspectives"; //$NON-NLS-1$
> +
> /**
> * New Project from Template wizard
> */
> protected static final int NEWPROJECT_TEMPLATE_WIZARD = 0;
> +
> /**
> * Valid project wizard types: WO_APPLICATION_WIZARD,
> D2W_APPLICATION_WIZARD, D2WS_APPLICATION_WIZARD, JARPROJECT_WIZARD,
> WO_FRAMEWORK_WIZARD, WONDER_APPLICATION_WIZARD,
> WONDER_D2W_APPLICATION_WIZARD, WONDER_FRAMEWORK_WIZARD,
> NEWPROJECT_TEMPLATE_WIZARD
> */
> - public enum WizardType {WO_APPLICATION_WIZARD,
> D2W_APPLICATION_WIZARD, D2WS_APPLICATION_WIZARD, JARPROJECT_WIZARD,
> WO_FRAMEWORK_WIZARD, WONDER_APPLICATION_WIZARD,
> WONDER_D2W_APPLICATION_WIZARD, WONDER_FRAMEWORK_WIZARD,
> NEWPROJ_TEMPLATE_WIZARD }
> + public enum WizardType {
> + WO_APPLICATION_WIZARD, D2W_APPLICATION_WIZARD,
> D2WS_APPLICATION_WIZARD, JARPROJECT_WIZARD, WO_FRAMEWORK_WIZARD,
> WONDER_APPLICATION_WIZARD, WONDER_D2W_APPLICATION_WIZARD,
> WONDER_FRAMEWORK_WIZARD, NEWPROJ_TEMPLATE_WIZARD
> + }
>
> private WizardNewProjectCreationPage _mainPage;
>
>.. -134,9 +141,9 @@
>
> protected PackageSpecifierWizardPage _packagePage;
>
> - protected WOWebServicesWizardPage _webservicesSupportPage;
> + protected WOWebServicesWizardPage _webservicesSupportPage;
>
> - protected WOFrameworkSupportPage _frameworkSupportPage;
> + protected WOFrameworkSupportPage _frameworkSupportPage;
>
> protected TemplateInputsWizardPage _templateInputsWizardPage;
>
>.. -184,7 +191,6 @@
> _mainPage = createMainPage();
> addPage(_mainPage);
>
> -
> if (wizardType == WizardType.D2W_APPLICATION_WIZARD || wizardType
> == WizardType.WO_APPLICATION_WIZARD || wizardType ==
> WizardType.D2WS_APPLICATION_WIZARD || wizardType ==
> WizardType.WO_FRAMEWORK_WIZARD) {
> _packagePage = createPackageSpecifierWizardPage();
> if (_packagePage != null) {
>.. -231,7 +237,7 @@
>
> protected String getPageDescription() {
> String description = ResourceMessages.NewProject_description;
> - if (getWizardType() == WizardType.D2W_APPLICATION_WIZARD ) {
> + if (getWizardType() == WizardType.D2W_APPLICATION_WIZARD) {
> description =
> Messages.getString("D2WApplicationWizard.description");
> }
>
>.. -298,8 +304,6 @@
> return frameworkPage;
> }
>
> -
> -
> /**
> * Creates a new project resource with the selected name.
> * <p>
>.. -734,7 +738,7 @@
> * Create a component in the default java package
> */
> protected void addComponentDefinition(String templateFolder,
> TemplateEngine engine, String path, String name) {
> - addComponentDefinition (templateFolder, engine, path, name, "");
> + addComponentDefinition(templateFolder, engine, path, name, "");
> }
>
> /**
>.. -747,12 +751,12 @@
> */
> protected void addComponentDefinition(String templateFolder,
> TemplateEngine engine, String rootPath, String name, String
> packagePath) {
> //create component dir
> - String componentPath = rootPath + File.separator + name + ".wo";
> + String componentPath = rootPath + File.separator + name + ".wo";
> File wo = new File(componentPath);
> wo.mkdirs();
>
> //create src dirs
> - String fullPackagePath = (packagePath != null &&
> packagePath.length() > 0) ? rootPath + File.separator +
> "src"+File.separator+packagePath : rootPath + File.separator + "src";
> + String fullPackagePath = (packagePath != null &&
> packagePath.length() > 0) ? rootPath + File.separator + "src" +
> File.separator + packagePath : rootPath + File.separator + "src";
> File srcPath = new File(fullPackagePath);
> srcPath.mkdirs();
>
>.. -767,9 +771,9 @@
> * EOModel Support
> */
> //key = file name, value = full path to file including file name
> - protected HashMap <String,String> getEOModelPaths() {
> + protected HashMap<String, String> getEOModelPaths() {
> if (_eomodelImportPage == null) {
> - return new HashMap<String,String>();
> + return new HashMap<String, String>();
> }
> return _eomodelImportPage.getModelPaths();
> }
>.. -780,7 +784,7 @@
> */
> public void createEOModelSupport(IProject project) {
> //Move any specified models over
> - HashMap <String, String> paths = getEOModelPaths();
> + HashMap<String, String> paths = getEOModelPaths();
> EOModelImportWorkspaceJob job = new
> EOModelImportWorkspaceJob("eomodel import", paths, project);
> job.schedule();
> }
>.. -811,11 +815,11 @@
>
> if (_webservicesSupportPage != null) {
> if (_webservicesSupportPage.getClientSupport()) {
> - engine.addTemplate(new TemplateDefinition("wowebservices"+"/
> client.wsdd.vm", path, "client.wsdd", "client.wsdd"));
> + engine.addTemplate(new TemplateDefinition("wowebservices" + "/
> client.wsdd.vm", path, "client.wsdd", "client.wsdd"));
> }
>
> if (_webservicesSupportPage.getServerSupport()) {
> - engine.addTemplate(new TemplateDefinition("wowebservices"+"/
> server.wsdd.vm", path, "server.wsdd", "server.wsdd"));
> + engine.addTemplate(new TemplateDefinition("wowebservices" + "/
> server.wsdd.vm", path, "server.wsdd", "server.wsdd"));
> }
> }
> }
>.. -826,24 +830,27 @@
> */
> public void addWebServiceFrameworks(IProject project) {
> if (project.isOpen()) {
> - ArrayList<String> frameworkPaths = new ArrayList<String>();
> + ArrayList<ContainerEntry> containerEntries = new
> ArrayList<ContainerEntry>();
>
> if (_webservicesSupportPage != null) {
> if (_webservicesSupportPage.getClientSupport()) {
> - frameworkPaths.add("JavaWebServicesClient");
> + ContainerEntry containerEntry = new
> ContainerEntry("JavaWebServicesClient");
> + containerEntries.add(containerEntry);
> }
>
> if (_webservicesSupportPage.getServerSupport()) {
> - frameworkPaths.add("JavaWebServicesGeneration");
> + ContainerEntry containerEntry = new
> ContainerEntry("JavaWebServicesGeneration");
> + containerEntries.add(containerEntry);
> }
>
> if (_webservicesSupportPage.getServerSupport() ||
> _webservicesSupportPage.getClientSupport()) {
> - frameworkPaths.add("JavaWebServicesSupport");
> + ContainerEntry containerEntry = new
> ContainerEntry("JavaWebServicesSupport");
> + containerEntries.add(containerEntry);
> }
> }
>
> //Classpath surgery
> - addFrameworksToClasspath(project, frameworkPaths);
> + addFrameworksToClasspath(project, containerEntries);
>
> } else {
> System.err.println("Warning: project is not open and cannot be
> fully configured");
>.. -853,10 +860,10 @@
> /*
> * Java Package Support
> */
> - public void createJavaPackageSupport (IProject project, String
> packagePath) {
> - String fullPath = project.getLocation().toOSString()
> +File.separator+"src";
> + public void createJavaPackageSupport(IProject project, String
> packagePath) {
> + String fullPath = project.getLocation().toOSString() +
> File.separator + "src";
> if (packagePath.length() > 0) {
> - fullPath = fullPath+File.separator+packagePath;
> + fullPath = fullPath + File.separator + packagePath;
> }
> File pFile = new File(fullPath);
> pFile.mkdirs();
>.. -865,21 +872,20 @@
> /**
> * Classpath Support
> */
> - public void addFrameworksToClasspath(IProject project,
> ArrayList<String> frameworks) {
> - StringBuilder frameworkPaths = new StringBuilder();
> - Iterator<String> it = frameworks.iterator();
> - while (it.hasNext()) {
> - frameworkPaths.append("/").append(it.next());
> - }
> -
> + public void addFrameworksToClasspath(IProject project,
> ArrayList<ContainerEntry> containerEntries) {
> //Classpath surgery
> try {
> - IJavaProject javaProject =
> (IJavaProject)project.getNature(JavaCore.NATURE_ID);
> - IClasspathEntry [] entries = javaProject.readRawClasspath();
> - ArrayList <IClasspathEntry> newEntries = new
> ArrayList<IClasspathEntry>(entries.length);
> - for (IClasspathEntry anEntry: entries) {
> - if
> (anEntry
> .getPath
> ().toString
> ().startsWith
> (WOClasspathContainer.WOLIPS_CLASSPATH_CONTAINER_IDENTITY)) {
> - IClasspathEntry entry =
> JavaCore
> .newContainerEntry
> (anEntry.getPath().append(frameworkPaths.toString()));
> + IJavaProject javaProject = (IJavaProject)
> project.getNature(JavaCore.NATURE_ID);
> + IClasspathEntry[] entries = javaProject.readRawClasspath();
> + ArrayList<IClasspathEntry> newEntries = new
> ArrayList<IClasspathEntry>(entries.length);
> + for (IClasspathEntry anEntry : entries) {
> + IPath containerPath = anEntry.getPath();
> + if
> (containerPath.segment(0).equals(Container.CONTAINER_IDENTITY)) {
> + ContainerEntries newContainerEntries =
> ContainerEntries.initWithPath(containerPath.removeFirstSegments(1));
> + newContainerEntries.add(containerEntries);
> + Container container = new Container(newContainerEntries);
> + IPath newPath = container.getPath();
> + IClasspathEntry entry = JavaCore.newContainerEntry(newPath);
> newEntries.add(entry);
> } else {
> newEntries.add(anEntry);
>.. -888,10 +894,9 @@
> javaProject.setRawClasspath(newEntries.toArray(new
> IClasspathEntry[] {}), javaProject.getOutputLocation(), null);
>
> } catch (CoreException e) {
> - ErrorDialog.openError(getShell(),
> -
> Messages.getString("NewWOProjectWizard.errorMessage.classpath.title"),
> - e.toString(),
> - new Status(IStatus.WARNING, "org.objectstyle.wolips.wizards" ,
> e.toString()));
> + ErrorDialog.openError(getShell(),
> Messages
> .getString("NewWOProjectWizard.errorMessage.classpath.title"),
> e.toString(), new Status(IStatus.WARNING,
> "org.objectstyle.wolips.wizards", e.toString()));
> + } catch (PathCoderException e) {
> + ErrorDialog.openError(getShell(),
> Messages
> .getString("NewWOProjectWizard.errorMessage.classpath.title"),
> e.toString(), new Status(IStatus.WARNING,
> "org.objectstyle.wolips.wizards", e.toString()));
> }
> }
>
>.. -900,26 +905,23 @@
> */
> public void createFrameworksSupport(IProject project) {
> if (project.isOpen()) {
> - ArrayList<String> frameworkPaths = new ArrayList<String>();
> + ArrayList<ContainerEntry> containerEntries = new
> ArrayList<ContainerEntry>();
>
> if (_frameworkSupportPage != null) {
> if (_frameworkSupportPage.getJNDISupport()) {
> - frameworkPaths.add("JavaJNDIAdaptor");
> + ContainerEntry containerEntry = new
> ContainerEntry("JavaJNDIAdaptor");
> + containerEntries.add(containerEntry);
> }
>
> if (_frameworkSupportPage.getJ2EESupport()) {
> - frameworkPaths.add("JavaWOJSPServlet");
> + ContainerEntry containerEntry = new
> ContainerEntry("JavaWOJSPServlet");
> + containerEntries.add(containerEntry);
> }
> }
> -
> - //Classpath surgery
> - addFrameworksToClasspath(project, frameworkPaths);
> -
> + // Classpath surgery
> + addFrameworksToClasspath(project, containerEntries);
> } else {
> - ErrorDialog.openError(getShell(),
> -
> Messages.getString("NewWOProjectWizard.errorMessage.classpath.title"),
> -
> Messages
> .getString("NewWOProjectWizard.errorMessage.classpath.message"),
> - new Status(IStatus.WARNING, "org.objectstyle.wolips.wizards" ,
> Messages
> .getString("NewWOProjectWizard.errorMessage.classpath.message")));
> + ErrorDialog.openError(getShell(),
> Messages
> .getString("NewWOProjectWizard.errorMessage.classpath.title"),
> Messages
> .getString("NewWOProjectWizard.errorMessage.classpath.message"), new
> Status(IStatus.WARNING, "org.objectstyle.wolips.wizards",
> Messages
> .getString("NewWOProjectWizard.errorMessage.classpath.message")));
> }
> }
> }
>
This archive was generated by hypermail 2.0.0 : Wed Nov 07 2007 - 13:41:00 EST