You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@ant.apache.org by hi...@apache.org on 2009/09/14 23:47:45 UTC
svn commit: r814877 [3/3] - in /ant/ivy/ivyde/trunk: ./
org.apache.ivyde.eclipse/src/java/org/apache/ivyde/common/ivyfile/
org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/
org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/cpcontaine...
Added: ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/cpcontainer/IvyResolveJobThread.java
URL: http://svn.apache.org/viewvc/ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/cpcontainer/IvyResolveJobThread.java?rev=814877&view=auto
==============================================================================
--- ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/cpcontainer/IvyResolveJobThread.java (added)
+++ ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/cpcontainer/IvyResolveJobThread.java Mon Sep 14 21:47:44 2009
@@ -0,0 +1,343 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.ivyde.eclipse.cpcontainer;
+
+import java.io.File;
+import java.io.IOException;
+import java.text.ParseException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.LinkedHashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import org.apache.ivy.Ivy;
+import org.apache.ivy.core.module.descriptor.DefaultDependencyDescriptor;
+import org.apache.ivy.core.module.descriptor.ModuleDescriptor;
+import org.apache.ivy.core.module.id.ModuleRevisionId;
+import org.apache.ivy.core.report.ArtifactDownloadReport;
+import org.apache.ivy.core.report.ResolveReport;
+import org.apache.ivy.core.resolve.IvyNode;
+import org.apache.ivy.core.resolve.ResolveData;
+import org.apache.ivy.core.resolve.ResolveOptions;
+import org.apache.ivy.core.resolve.ResolvedModuleRevision;
+import org.apache.ivy.core.retrieve.RetrieveOptions;
+import org.apache.ivy.plugins.report.XmlReportParser;
+import org.apache.ivy.plugins.resolver.DependencyResolver;
+import org.apache.ivy.util.Message;
+import org.apache.ivy.util.filter.ArtifactTypeFilter;
+import org.apache.ivyde.eclipse.FakeProjectManager;
+import org.apache.ivyde.eclipse.IvyPlugin;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.MultiStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.jdt.core.IClasspathEntry;
+
+/**
+ * Eclipse classpath container that will contain the ivy resolved entries.
+ */
+public class IvyResolveJobThread extends Thread {
+
+ private static final int MONITOR_LENGTH = 1000;
+
+ private final Ivy ivy;
+
+ private final IProgressMonitor monitor;
+
+ private final IvyClasspathContainerConfiguration conf;
+
+ private final ModuleDescriptor md;
+
+ private final boolean usePreviousResolveIfExist;
+
+ private IStatus status = null;
+
+ private IClasspathEntry[] classpathEntries = null;
+
+ private LinkedHashSet all;
+
+ private List problemMessages;
+
+ private String[] confs;
+
+ private Map artifactsByDependency = new HashMap();
+
+ public IvyResolveJobThread(IvyClasspathContainerConfiguration conf, Ivy ivy,
+ ModuleDescriptor md, boolean usePreviousResolveIfExist, IProgressMonitor monitor) {
+ this.ivy = ivy;
+ this.md = md;
+ this.usePreviousResolveIfExist = usePreviousResolveIfExist;
+ this.monitor = monitor;
+ this.conf = conf;
+ }
+
+ public IStatus getStatus() {
+ return status;
+ }
+
+ public IClasspathEntry[] getClasspathEntries() {
+ return classpathEntries;
+ }
+
+ public void run() {
+ try {
+ ivy.pushContext();
+ IvyResolveJobListener ivyResolveJobListener = new IvyResolveJobListener(monitor);
+ ivy.getEventManager().addIvyListener(ivyResolveJobListener);
+
+ monitor.beginTask("resolving dependencies", MONITOR_LENGTH);
+ monitor.setTaskName("resolving dependencies...");
+
+ // context Classloader hook for commons logging used by httpclient
+ // It will also be used by the SaxParserFactory in Ivy
+ ClassLoader old = Thread.currentThread().getContextClassLoader();
+ Thread.currentThread()
+ .setContextClassLoader(IvyResolveJobThread.class.getClassLoader());
+ try {
+ computeConfs();
+
+ if (usePreviousResolveIfExist) {
+ if (!resolveWithPrevious()) {
+ // resolve canceled
+ return;
+ }
+ } else {
+ Message.info("\n\nIVYDE: calling resolve on " + conf.getIvyXmlPath() + "\n");
+ if (!resolve()) {
+ // resolve canceled
+ return;
+ }
+ }
+
+ IvyClasspathContainerMapper mapper = new IvyClasspathContainerMapper(monitor, ivy,
+ conf);
+
+ warnIfDuplicates(mapper);
+
+ classpathEntries = mapper.map(all, artifactsByDependency);
+ } catch (ParseException e) {
+ String errorMsg = "Error while parsing the ivy file " + conf.getIvyXmlPath() + "\n"
+ + e.getMessage();
+ Message.error(errorMsg);
+ status = new Status(IStatus.ERROR, IvyPlugin.ID, IStatus.ERROR, errorMsg, e);
+ return;
+ } catch (Exception e) {
+ String errorMsg = "Error while resolving dependencies for " + conf.getIvyXmlPath()
+ + "\n" + e.getMessage();
+ Message.error(errorMsg);
+ status = new Status(IStatus.ERROR, IvyPlugin.ID, IStatus.ERROR, errorMsg, e);
+ return;
+ } finally {
+ Thread.currentThread().setContextClassLoader(old);
+ monitor.done();
+ ivy.getEventManager().removeIvyListener(ivyResolveJobListener);
+ }
+
+ if (!problemMessages.isEmpty()) {
+ MultiStatus multiStatus = new MultiStatus(IvyPlugin.ID, IStatus.ERROR,
+ "Impossible to resolve dependencies of " + md.getModuleRevisionId(), null);
+ for (Iterator iter = problemMessages.iterator(); iter.hasNext();) {
+ multiStatus.add(new Status(IStatus.ERROR, IvyPlugin.ID, IStatus.ERROR,
+ (String) iter.next(), null));
+ }
+ status = multiStatus;
+ return;
+ }
+
+ status = Status.OK_STATUS;
+ } catch (Throwable e) {
+ status = new Status(IStatus.ERROR, IvyPlugin.ID, IStatus.ERROR, "The resolve job of "
+ + conf + " has unexpectedly stopped", e);
+ }
+ }
+
+ private void computeConfs() {
+ Set configurations = new HashSet();
+ configurations.addAll(conf.getConfs());
+ if (conf.getInheritedDoRetrieve()) {
+ configurations.addAll(Arrays.asList(conf.getInheritedRetrieveConfs().split(",")));
+ }
+
+ if (configurations.contains("*")) {
+ confs = md.getConfigurationsNames();
+ } else {
+ confs = (String[]) configurations.toArray(new String[configurations.size()]);
+ }
+ }
+
+ private boolean resolveWithPrevious() throws ParseException, IOException {
+ all = new LinkedHashSet();
+ problemMessages = new ArrayList();
+ // we check if all required configurations have been
+ // resolved
+ boolean parsingOk = true;
+ for (int i = 0; i < confs.length && parsingOk; i++) {
+ File report = ivy.getResolutionCacheManager().getConfigurationResolveReportInCache(
+ ResolveOptions.getDefaultResolveId(md), confs[i]);
+ parsingOk = false;
+ if (report.exists()) {
+ // found a report, try to parse it.
+ try {
+ XmlReportParser parser = new XmlReportParser();
+ parser.parse(report);
+ all.addAll(Arrays.asList(parser.getArtifactReports()));
+ parsingOk = true;
+ findAllArtifactOnRefresh(parser);
+ } catch (ParseException e) {
+ Message.info("\n\nIVYDE: Error while parsing the report " + report
+ + ". Falling back by doing a resolve again.");
+ // it fails, so let's try resolving
+ }
+ }
+ }
+ if (!parsingOk) {
+ // no resolve previously done for at least one conf... we do it now
+ return resolve();
+ }
+ return true;
+ }
+
+ private boolean resolve() throws ParseException, IOException {
+ ResolveOptions resolveOption = new ResolveOptions().setConfs(confs);
+ resolveOption.setValidate(ivy.getSettings().doValidate());
+ ResolveReport report = ivy.resolve(md, resolveOption);
+ problemMessages = report.getAllProblemMessages();
+ all = new LinkedHashSet(Arrays.asList(report.getArtifactsReports(null, false)));
+ confs = report.getConfigurations();
+ artifactsByDependency.putAll(getArtifactsByDependency(report));
+ if (monitor.isCanceled()) {
+ status = Status.CANCEL_STATUS;
+ return false;
+ }
+ maybeRetrieve();
+ return true;
+ }
+
+ /**
+ * Populate the map of artifact. The map should be populated by metadata in cache as this is
+ * called in the refresh process.
+ *
+ * @param parser
+ * @throws ParseException
+ */
+ private void findAllArtifactOnRefresh(XmlReportParser parser) throws ParseException {
+ ModuleRevisionId[] dependencyMrdis = parser.getDependencyRevisionIds();
+ for (int iDep = 0; iDep < dependencyMrdis.length; iDep++) {
+ DependencyResolver depResolver = ivy.getSettings().getResolver(dependencyMrdis[iDep]);
+ DefaultDependencyDescriptor depDescriptor = new DefaultDependencyDescriptor(
+ dependencyMrdis[iDep], false);
+ ResolveOptions options = new ResolveOptions();
+ options.setRefresh(true);
+ options.setUseCacheOnly(true);
+ ResolvedModuleRevision dependency = depResolver.getDependency(depDescriptor,
+ new ResolveData(ivy.getResolveEngine(), options));
+ if (dependency != null) {
+ artifactsByDependency.put(dependencyMrdis[iDep], dependency.getDescriptor()
+ .getAllArtifacts());
+ }
+ }
+ }
+
+ /**
+ * Trigger a warn if there are duplicates entries due to configuration conflict.
+ * <p>
+ * TODO: the algorithm can be more clever and find which configuration are conflicting.
+ *
+ */
+ private void warnIfDuplicates(IvyClasspathContainerMapper mapper) {
+ ArtifactDownloadReport[] reports = (ArtifactDownloadReport[]) all
+ .toArray(new ArtifactDownloadReport[all.size()]);
+
+ Set duplicates = new HashSet();
+
+ for (int i = 0; i < reports.length - 1; i++) {
+ if (!mapper.accept(reports[i].getArtifact())) {
+ continue;
+ }
+
+ ModuleRevisionId mrid1 = reports[i].getArtifact().getModuleRevisionId();
+
+ for (int j = i + 1; j < reports.length; j++) {
+ if (!mapper.accept(reports[j].getArtifact())) {
+ continue;
+ }
+ ModuleRevisionId mrid2 = reports[j].getArtifact().getModuleRevisionId();
+ if (mrid1.getModuleId().equals(mrid2.getModuleId())
+ && !mrid1.getRevision().equals(mrid2.getRevision())) {
+ duplicates.add(mrid1.getModuleId());
+ break;
+ }
+ }
+ }
+
+ if (duplicates.isEmpty()) {
+ return;
+ }
+
+ StringBuffer buffer = new StringBuffer("There are some duplicates entries due to conflicts"
+ + " between the resolved configurations " + conf.getConfs());
+ buffer.append(":\n - ");
+ Iterator it = duplicates.iterator();
+ while (it.hasNext()) {
+ buffer.append(it.next());
+ if (it.hasNext()) {
+ buffer.append("\n - ");
+ }
+ }
+ ivy.getLoggerEngine().log(buffer.toString(), Message.MSG_WARN);
+ }
+
+ private void maybeRetrieve() throws IOException {
+ if (!conf.getInheritedDoRetrieve()) {
+ return;
+ }
+ if (FakeProjectManager.isFake(conf.getJavaProject())) {
+ return;
+ }
+ String pattern = conf.getJavaProject().getProject().getLocation().toPortableString() + "/"
+ + conf.getInheritedRetrievePattern();
+ monitor.setTaskName("retrieving dependencies in " + pattern);
+ RetrieveOptions c = new RetrieveOptions();
+ c.setSync(conf.getInheritedRetrieveSync());
+ c.setConfs(conf.getInheritedRetrieveConfs().split(","));
+ String inheritedRetrieveTypes = conf.getInheritedRetrieveTypes();
+ if (inheritedRetrieveTypes != null && !inheritedRetrieveTypes.equals("*")) {
+ c.setArtifactFilter(new ArtifactTypeFilter(IvyClasspathUtil
+ .split(inheritedRetrieveTypes)));
+ }
+ ivy.retrieve(md.getModuleRevisionId(), pattern, c);
+ }
+
+ private Map/* <ModuleRevisionId, Artifact[]> */getArtifactsByDependency(ResolveReport r) {
+ Map result = new HashMap();
+ for (Iterator it = r.getDependencies().iterator(); it.hasNext();) {
+ IvyNode node = (IvyNode) it.next();
+ if (node.getDescriptor() != null) {
+ result.put(node.getResolvedId(), node.getDescriptor().getAllArtifacts());
+ }
+ }
+ return result;
+ }
+
+}
Propchange: ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/cpcontainer/IvyResolveJobThread.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/cpcontainer/IvyResolveJobThread.java
------------------------------------------------------------------------------
svn:keywords = Date Revision Author HeadURL Id
Propchange: ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/cpcontainer/IvyResolveJobThread.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/cpcontainer/IvySettingsSetup.java
URL: http://svn.apache.org/viewvc/ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/cpcontainer/IvySettingsSetup.java?rev=814877&view=auto
==============================================================================
--- ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/cpcontainer/IvySettingsSetup.java (added)
+++ ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/cpcontainer/IvySettingsSetup.java Mon Sep 14 21:47:44 2009
@@ -0,0 +1,71 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.ivyde.eclipse.cpcontainer;
+
+import java.util.List;
+
+/**
+ * This class is just a simple bean defining the properties which configure an IvyDE classpath
+ * container.
+ */
+public class IvySettingsSetup {
+
+ private String ivySettingsPath;
+
+ private List/* <String> */propertyFiles;
+
+ private boolean loadSettingsOnDemand = false;
+
+ /**
+ * Default constructor
+ */
+ public IvySettingsSetup() {
+ // default constructor
+ }
+
+ public void set(IvySettingsSetup setup) {
+ this.ivySettingsPath = setup.ivySettingsPath;
+ this.propertyFiles = setup.propertyFiles;
+ this.loadSettingsOnDemand = setup.loadSettingsOnDemand;
+ }
+
+ public String getIvySettingsPath() {
+ return ivySettingsPath;
+ }
+
+ public void setIvySettingsPath(String ivySettingsPath) {
+ this.ivySettingsPath = ivySettingsPath;
+ }
+
+ public List getPropertyFiles() {
+ return propertyFiles;
+ }
+
+ public void setPropertyFiles(List propertyFiles) {
+ this.propertyFiles = propertyFiles;
+ }
+
+ public boolean isLoadSettingsOnDemand() {
+ return loadSettingsOnDemand;
+ }
+
+ public void setLoadSettingsOnDemand(boolean loadSettingsOnDemand) {
+ this.loadSettingsOnDemand = loadSettingsOnDemand;
+ }
+
+}
Propchange: ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/cpcontainer/IvySettingsSetup.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/cpcontainer/IvySettingsSetup.java
------------------------------------------------------------------------------
svn:keywords = Date Revision Author HeadURL Id
Propchange: ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/cpcontainer/IvySettingsSetup.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Modified: ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/cpcontainer/IvydeContainerPage.java
URL: http://svn.apache.org/viewvc/ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/cpcontainer/IvydeContainerPage.java?rev=814877&r1=814876&r2=814877&view=diff
==============================================================================
--- ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/cpcontainer/IvydeContainerPage.java (original)
+++ ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/cpcontainer/IvydeContainerPage.java Mon Sep 14 21:47:44 2009
@@ -23,6 +23,7 @@
import java.util.List;
import org.apache.ivy.core.module.descriptor.ModuleDescriptor;
+import org.apache.ivyde.eclipse.FakeProjectManager;
import org.apache.ivyde.eclipse.IvyDEException;
import org.apache.ivyde.eclipse.IvyPlugin;
import org.apache.ivyde.eclipse.ui.AcceptedSuffixesTypesComposite;
@@ -38,10 +39,14 @@
import org.apache.ivyde.eclipse.ui.preferences.RetrievePreferencePage;
import org.apache.ivyde.eclipse.ui.preferences.SettingsPreferencePage;
import org.eclipse.core.resources.IFile;
+import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.IStatus;
+import org.eclipse.jdt.core.IClasspathAttribute;
+import org.eclipse.jdt.core.IClasspathContainer;
import org.eclipse.jdt.core.IClasspathEntry;
import org.eclipse.jdt.core.IJavaProject;
import org.eclipse.jdt.core.JavaCore;
+import org.eclipse.jdt.core.JavaModelException;
import org.eclipse.jdt.ui.wizards.IClasspathContainerPage;
import org.eclipse.jdt.ui.wizards.IClasspathContainerPageExtension;
import org.eclipse.jdt.ui.wizards.NewElementWizardPage;
@@ -61,6 +66,9 @@
import org.eclipse.swt.widgets.TabItem;
import org.eclipse.ui.dialogs.PreferencesUtil;
+/**
+ * Editor of the classpath container configuration at the project level.
+ */
public class IvydeContainerPage extends NewElementWizardPage implements IClasspathContainerPage,
IClasspathContainerPageExtension {
@@ -98,12 +106,14 @@
private Link retrieveGeneralSettingsLink;
- private boolean exported;
+ private boolean exported = false;
private String oldIvyFile = null;
private List oldConfs = null;
+ private IvyClasspathContainerState state;
+
/**
* Constructor
*/
@@ -147,18 +157,19 @@
IvyClasspathContainerConfiguration cpc = ivycp.getConf();
// first check that this is not the one we are editing
- if (oldIvyFile != null && cpc.ivyXmlPath.equals(oldIvyFile) && oldConfs != null
- && oldConfs.size() == cpc.confs.size() && oldConfs.containsAll(cpc.confs)) {
+ if (oldIvyFile != null && cpc.getIvyXmlPath().equals(oldIvyFile) && oldConfs != null
+ && oldConfs.size() == cpc.getConfs().size()
+ && oldConfs.containsAll(cpc.getConfs())) {
continue;
}
- if (cpc.ivyXmlPath.equals(ivyFilePath)) {
+ if (cpc.getIvyXmlPath().equals(ivyFilePath)) {
if (selectedConfigurations.isEmpty() || selectedConfigurations.contains("*")
- || cpc.confs.isEmpty() || cpc.confs.contains("*")) {
+ || cpc.getConfs().isEmpty() || cpc.getConfs().contains("*")) {
error = "A container already exists for the selected conf of "
+ "the module descriptor";
} else {
- ArrayList list = new ArrayList(cpc.confs);
+ ArrayList list = new ArrayList(cpc.getConfs());
list.retainAll(selectedConfigurations);
if (!list.isEmpty()) {
error = "A container already exists for the selected conf of "
@@ -174,7 +185,7 @@
void checkIvyXmlPath() {
ModuleDescriptor md;
try {
- md = conf.getModuleDescriptor();
+ md = state.getModuleDescriptor();
ivyFilePathText.setIvyXmlError(null);
} catch (IvyDEException e) {
md = null;
@@ -185,54 +196,50 @@
}
public boolean finish() {
- conf.confs = confTableViewer.getSelectedConfigurations();
- if (conf.confs.isEmpty()) {
- conf.confs = Collections.singletonList("*");
+ List confs = confTableViewer.getSelectedConfigurations();
+ if (confs.isEmpty()) {
+ confs = Collections.singletonList("*");
}
+ conf.setConfs(confs);
if (settingsProjectSpecificButton.getSelection()) {
- conf.isSettingsSpecific = true;
- conf.ivySettingsPath = settingsEditor.getSettingsPath();
- conf.loadSettingsOnDemand = settingsEditor.getLoadOnDemand();
- conf.propertyFiles = settingsEditor.getPropertyFiles();
- conf.acceptedTypes = acceptedSuffixesTypesComposite.getAcceptedTypes();
- conf.sourceTypes = acceptedSuffixesTypesComposite.getSourcesTypes();
- conf.javadocTypes = acceptedSuffixesTypesComposite.getJavadocTypes();
- conf.sourceSuffixes = acceptedSuffixesTypesComposite.getSourceSuffixes();
- conf.javadocSuffixes = acceptedSuffixesTypesComposite.getJavadocSuffixes();
- conf.doRetrieve = retrieveComposite.isRetrieveEnabled();
- conf.retrievePattern = retrieveComposite.getRetrievePattern();
- conf.retrieveSync = retrieveComposite.isSyncEnabled();
- conf.retrieveConfs = retrieveComposite.getRetrieveConfs();
- conf.retrieveTypes = retrieveComposite.getRetrieveTypes();
- conf.alphaOrder = alphaOrderCheck.getSelectionIndex() == 1;
- conf.resolveInWorkspace = resolveInWorkspaceCheck.getSelection();
+ conf.setSettingsProjectSpecific(true);
+ conf.setIvySettingsSetup(settingsEditor.getIvySettingsSetup());
} else {
- conf.isSettingsSpecific = false;
+ conf.setSettingsProjectSpecific(false);
}
if (retrieveProjectSpecificButton.getSelection()) {
- conf.isRetrieveProjectSpecific = true;
- conf.doRetrieve = retrieveComposite.isRetrieveEnabled();
- conf.retrievePattern = retrieveComposite.getRetrievePattern();
- conf.retrieveSync = retrieveComposite.isSyncEnabled();
- conf.retrieveConfs = retrieveComposite.getRetrieveConfs();
- conf.retrieveTypes = retrieveComposite.getRetrieveTypes();
+ conf.setRetrieveProjectSpecific(true);
+ conf.setRetrieveSetup(retrieveComposite.getRetrieveSetup());
} else {
- conf.isRetrieveProjectSpecific = false;
+ conf.setRetrieveProjectSpecific(false);
}
if (advancedProjectSpecificButton.getSelection()) {
- conf.isAdvancedProjectSpecific = true;
- conf.acceptedTypes = acceptedSuffixesTypesComposite.getAcceptedTypes();
- conf.sourceTypes = acceptedSuffixesTypesComposite.getSourcesTypes();
- conf.javadocTypes = acceptedSuffixesTypesComposite.getJavadocTypes();
- conf.sourceSuffixes = acceptedSuffixesTypesComposite.getSourceSuffixes();
- conf.javadocSuffixes = acceptedSuffixesTypesComposite.getJavadocSuffixes();
- conf.alphaOrder = alphaOrderCheck.getSelectionIndex() == 1;
- conf.resolveInWorkspace = resolveInWorkspaceCheck.getSelection();
+ conf.setAdvancedProjectSpecific(true);
+ conf
+ .setContainerMappingSetup(acceptedSuffixesTypesComposite
+ .getContainerMappingSetup());
+ conf.setAlphaOrder(alphaOrderCheck.getSelectionIndex() == 1);
+ conf.setResolveInWorkspace(resolveInWorkspaceCheck.getSelection());
} else {
- conf.isAdvancedProjectSpecific = false;
+ conf.setAdvancedProjectSpecific(false);
+ }
+
+ IPath path = IvyClasspathContainerConfAdapter.getPath(conf);
+ IClasspathAttribute[] atts = IvyClasspathContainerConfAdapter.getAttributes(conf);
+
+ entry = JavaCore.newContainerEntry(path, null, atts, exported);
+
+ try {
+ IvyClasspathContainer ivycp = new IvyClasspathContainer(project, path,
+ new IClasspathEntry[0], atts);
+ JavaCore.setClasspathContainer(path, new IJavaProject[] {project},
+ new IClasspathContainer[] {ivycp}, null);
+ ivycp.launchResolve(false, true, null);
+ } catch (JavaModelException e) {
+ IvyPlugin.log(e);
}
- entry = JavaCore.newContainerEntry(conf.getPath(), exported);
+
return true;
}
@@ -245,21 +252,30 @@
}
public void setSelection(IClasspathEntry entry) {
+ checkProject();
if (entry == null) {
conf = new IvyClasspathContainerConfiguration(project, "ivy.xml", true);
- exported = false;
} else {
- conf = new IvyClasspathContainerConfiguration(project, entry.getPath(), true);
+ conf = new IvyClasspathContainerConfiguration(project, entry.getPath(), true, entry
+ .getExtraAttributes());
exported = entry.isExported();
}
- oldIvyFile = conf.ivyXmlPath;
- oldConfs = conf.confs;
+ state = new IvyClasspathContainerState(conf);
+ oldIvyFile = conf.getIvyXmlPath();
+ oldConfs = conf.getConfs();
}
public void setSelection(IFile ivyfile) {
+ checkProject();
conf = new IvyClasspathContainerConfiguration(project, ivyfile.getProjectRelativePath()
.toString(), true);
- exported = false;
+ state = new IvyClasspathContainerState(conf);
+ }
+
+ private void checkProject() {
+ if (project == null) {
+ project = FakeProjectManager.createPlaceholderProject();
+ }
}
public void createControl(Composite parent) {
@@ -309,7 +325,7 @@
settingsProjectSpecificButton.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
updateFieldsStatusSettings();
- conf.ivySettingsPath = settingsEditor.getSettingsPath();
+ conf.setIvySettingsSetup(settingsEditor.getIvySettingsSetup());
settingsUpdated();
}
});
@@ -337,8 +353,8 @@
settingsEditor = new SettingsEditor(configComposite, SWT.NONE);
settingsEditor.setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, false, 3, 1));
settingsEditor.addListener(new SettingsEditorListener() {
- public void settingsEditorUpdated(String path) {
- conf.ivySettingsPath = path;
+ public void settingsEditorUpdated(IvySettingsSetup setup) {
+ conf.setIvySettingsSetup(setup);
settingsUpdated();
}
});
@@ -354,7 +370,7 @@
ivyFilePathText = new IvyFilePathText(configComposite, SWT.NONE, project);
ivyFilePathText.addListener(new IvyXmlPathListener() {
public void ivyXmlPathUpdated(String path) {
- conf.ivyXmlPath = path;
+ conf.setIvyXmlPath(path);
checkIvyXmlPath();
}
});
@@ -382,7 +398,7 @@
public void widgetSelected(SelectionEvent ev) {
ModuleDescriptor md;
try {
- md = conf.getModuleDescriptor();
+ md = state.getModuleDescriptor();
} catch (IvyDEException e) {
md = null;
e.show(IStatus.ERROR, "Ivy configuration error",
@@ -500,8 +516,8 @@
void settingsUpdated() {
try {
- conf.ivySettingsLastModified = -1;
- conf.getIvy();
+ state.setIvySettingsLastModified(-1);
+ state.getIvy();
settingsEditor.setSettingsError(null);
checkIvyXmlPath();
} catch (IvyDEException e) {
@@ -510,41 +526,35 @@
}
private void loadFromConf() {
- ivyFilePathText.init(conf.ivyXmlPath);
- confTableViewer.init(conf.confs);
+ ivyFilePathText.init(conf.getIvyXmlPath());
+ confTableViewer.init(conf.getConfs());
IvyDEPreferenceStoreHelper helper = IvyPlugin.getPreferenceStoreHelper();
if (conf.isSettingsProjectSpecific()) {
settingsProjectSpecificButton.setSelection(true);
- settingsEditor
- .init(conf.ivySettingsPath, conf.propertyFiles, conf.loadSettingsOnDemand);
+ settingsEditor.init(conf.getIvySettingsSetup());
} else {
settingsProjectSpecificButton.setSelection(false);
- settingsEditor.init(helper.getIvySettingsPath(), helper.getPropertyFiles(), helper
- .getLoadSettingsOnDemand());
+ settingsEditor.init(helper.getIvySettingsSetup());
}
if (conf.isRetrieveProjectSpecific()) {
retrieveProjectSpecificButton.setSelection(true);
- retrieveComposite.init(conf.doRetrieve, conf.retrievePattern, conf.retrieveConfs,
- conf.retrieveTypes, conf.retrieveSync);
+ retrieveComposite.init(conf.getRetrieveSetup());
} else {
retrieveProjectSpecificButton.setSelection(false);
- retrieveComposite.init(helper.getDoRetrieve(), helper.getRetrievePattern(), helper
- .getRetrieveConfs(), helper.getRetrieveTypes(), helper.getRetrieveSync());
+ retrieveComposite.init(helper.getRetrieveSetup());
}
if (conf.isAdvancedProjectSpecific()) {
advancedProjectSpecificButton.setSelection(true);
- acceptedSuffixesTypesComposite.init(conf.acceptedTypes, conf.sourceTypes,
- conf.sourceSuffixes, conf.javadocTypes, conf.javadocSuffixes);
- alphaOrderCheck.select(conf.alphaOrder ? 1 : 0);
- resolveInWorkspaceCheck.setSelection(this.conf.resolveInWorkspace);
+ acceptedSuffixesTypesComposite.init(conf.getContainerMappingSetup());
+ alphaOrderCheck.select(conf.isAlphaOrder() ? 1 : 0);
+ resolveInWorkspaceCheck.setSelection(conf.isResolveInWorkspace());
} else {
advancedProjectSpecificButton.setSelection(false);
- acceptedSuffixesTypesComposite.init(helper.getAcceptedTypes(), helper.getSourceTypes(),
- helper.getSourceSuffixes(), helper.getJavadocTypes(), helper.getJavadocSuffixes());
+ acceptedSuffixesTypesComposite.init(helper.getContainerMappingSetup());
alphaOrderCheck.select(helper.isAlphOrder() ? 1 : 0);
resolveInWorkspaceCheck.setSelection(helper.isResolveInWorkspace());
}
Added: ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/cpcontainer/RetrieveSetup.java
URL: http://svn.apache.org/viewvc/ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/cpcontainer/RetrieveSetup.java?rev=814877&view=auto
==============================================================================
--- ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/cpcontainer/RetrieveSetup.java (added)
+++ ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/cpcontainer/RetrieveSetup.java Mon Sep 14 21:47:44 2009
@@ -0,0 +1,90 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.ivyde.eclipse.cpcontainer;
+
+/**
+ * This class is just a simple bean defining the properties which configure an IvyDE classpath
+ * container.
+ */
+public class RetrieveSetup {
+
+ private boolean doRetrieve;
+
+ private String retrievePattern;
+
+ private boolean retrieveSync = false;
+
+ private String retrieveConfs = "*";
+
+ private String retrieveTypes = "*";
+
+ /**
+ * Default constructor
+ */
+ public RetrieveSetup() {
+ // default constructor
+ }
+
+ public void set(RetrieveSetup setup) {
+ this.doRetrieve = setup.doRetrieve;
+ this.retrievePattern = setup.retrievePattern;
+ this.retrieveConfs = setup.retrieveConfs;
+ this.retrieveTypes = setup.retrieveTypes;
+ }
+
+ public boolean isDoRetrieve() {
+ return doRetrieve;
+ }
+
+ public void setDoRetrieve(boolean doRetrieve) {
+ this.doRetrieve = doRetrieve;
+ }
+
+ public String getRetrievePattern() {
+ return retrievePattern;
+ }
+
+ public void setRetrievePattern(String retrievePattern) {
+ this.retrievePattern = retrievePattern;
+ }
+
+ public boolean isRetrieveSync() {
+ return retrieveSync;
+ }
+
+ public void setRetrieveSync(boolean retrieveSync) {
+ this.retrieveSync = retrieveSync;
+ }
+
+ public String getRetrieveConfs() {
+ return retrieveConfs;
+ }
+
+ public void setRetrieveConfs(String retrieveConfs) {
+ this.retrieveConfs = retrieveConfs;
+ }
+
+ public String getRetrieveTypes() {
+ return retrieveTypes;
+ }
+
+ public void setRetrieveTypes(String retrieveTypes) {
+ this.retrieveTypes = retrieveTypes;
+ }
+
+}
Propchange: ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/cpcontainer/RetrieveSetup.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/cpcontainer/RetrieveSetup.java
------------------------------------------------------------------------------
svn:keywords = Date Revision Author HeadURL Id
Propchange: ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/cpcontainer/RetrieveSetup.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Modified: ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/AcceptedSuffixesTypesComposite.java
URL: http://svn.apache.org/viewvc/ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/AcceptedSuffixesTypesComposite.java?rev=814877&r1=814876&r2=814877&view=diff
==============================================================================
--- ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/AcceptedSuffixesTypesComposite.java (original)
+++ ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/AcceptedSuffixesTypesComposite.java Mon Sep 14 21:47:44 2009
@@ -17,9 +17,7 @@
*/
package org.apache.ivyde.eclipse.ui;
-import java.util.Collection;
-import java.util.List;
-
+import org.apache.ivyde.eclipse.cpcontainer.ContainerMappingSetup;
import org.apache.ivyde.eclipse.cpcontainer.IvyClasspathUtil;
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.GridData;
@@ -47,9 +45,9 @@
private Text acceptedTypesText;
- private Text sourcesTypesText;
+ private Text sourceTypesText;
- private Text sourcesSuffixesText;
+ private Text sourceSuffixesText;
private Text javadocTypesText;
@@ -72,17 +70,17 @@
label = new Label(this, SWT.NONE);
label.setText("Sources types:");
- sourcesTypesText = new Text(this, SWT.SINGLE | SWT.BORDER);
- sourcesTypesText
+ sourceTypesText = new Text(this, SWT.SINGLE | SWT.BORDER);
+ sourceTypesText
.setLayoutData(new GridData(GridData.FILL, GridData.BEGINNING, true, false));
- sourcesTypesText.setToolTipText(TOOLTIP_SOURCE_TYPES);
+ sourceTypesText.setToolTipText(TOOLTIP_SOURCE_TYPES);
label = new Label(this, SWT.NONE);
label.setText("Sources suffixes:");
- sourcesSuffixesText = new Text(this, SWT.SINGLE | SWT.BORDER);
- sourcesSuffixesText.setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, false));
- sourcesSuffixesText.setToolTipText(TOOLTIP_SOURCE_SUFFIXES);
+ sourceSuffixesText = new Text(this, SWT.SINGLE | SWT.BORDER);
+ sourceSuffixesText.setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, false));
+ sourceSuffixesText.setToolTipText(TOOLTIP_SOURCE_SUFFIXES);
label = new Label(this, SWT.NONE);
label.setText("Javadoc types:");
@@ -99,48 +97,30 @@
javadocSuffixesText.setToolTipText(TOOLTIP_JAVADOC_SUFFIXES);
}
- public void init(Collection acceptedTypes, Collection sourceTypes, Collection sourceSuffixes,
- Collection javadocTypes, Collection javadocSuffixes) {
- init(IvyClasspathUtil.concat(acceptedTypes), IvyClasspathUtil.concat(sourceTypes),
- IvyClasspathUtil.concat(sourceSuffixes), IvyClasspathUtil.concat(javadocTypes),
- IvyClasspathUtil.concat(javadocSuffixes));
- }
-
- public void init(String acceptedTypes, String sourceTypes, String sourceSuffixes,
- String javadocTypes, String javadocSuffixes) {
- acceptedTypesText.setText(acceptedTypes);
- sourcesTypesText.setText(sourceTypes);
- sourcesSuffixesText.setText(sourceSuffixes);
- javadocTypesText.setText(javadocTypes);
- javadocSuffixesText.setText(javadocSuffixes);
+ public void init(ContainerMappingSetup setup) {
+ acceptedTypesText.setText(IvyClasspathUtil.concat(setup.getAcceptedTypes()));
+ sourceTypesText.setText(IvyClasspathUtil.concat(setup.getSourceTypes()));
+ sourceSuffixesText.setText(IvyClasspathUtil.concat(setup.getSourceSuffixes()));
+ javadocTypesText.setText(IvyClasspathUtil.concat(setup.getJavadocTypes()));
+ javadocSuffixesText.setText(IvyClasspathUtil.concat(setup.getJavadocSuffixes()));
}
public void setEnabled(boolean enabled) {
super.setEnabled(enabled);
acceptedTypesText.setEnabled(enabled);
- sourcesTypesText.setEnabled(enabled);
- sourcesSuffixesText.setEnabled(enabled);
+ sourceTypesText.setEnabled(enabled);
+ sourceSuffixesText.setEnabled(enabled);
javadocTypesText.setEnabled(enabled);
javadocSuffixesText.setEnabled(enabled);
}
- public List getAcceptedTypes() {
- return IvyClasspathUtil.split(acceptedTypesText.getText());
- }
-
- public List getSourcesTypes() {
- return IvyClasspathUtil.split(sourcesTypesText.getText());
- }
-
- public List getJavadocTypes() {
- return IvyClasspathUtil.split(javadocTypesText.getText());
- }
-
- public List getSourceSuffixes() {
- return IvyClasspathUtil.split(sourcesSuffixesText.getText());
- }
-
- public List getJavadocSuffixes() {
- return IvyClasspathUtil.split(javadocSuffixesText.getText());
+ public ContainerMappingSetup getContainerMappingSetup() {
+ ContainerMappingSetup setup = new ContainerMappingSetup();
+ setup.setAcceptedTypes(IvyClasspathUtil.split(acceptedTypesText.getText()));
+ setup.setSourceTypes(IvyClasspathUtil.split(sourceTypesText.getText()));
+ setup.setJavadocTypes(IvyClasspathUtil.split(javadocTypesText.getText()));
+ setup.setSourceSuffixes(IvyClasspathUtil.split(sourceSuffixesText.getText()));
+ setup.setJavadocSuffixes(IvyClasspathUtil.split(javadocSuffixesText.getText()));
+ return setup;
}
}
Modified: ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/IvyFilePathText.java
URL: http://svn.apache.org/viewvc/ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/IvyFilePathText.java?rev=814877&r1=814876&r2=814877&view=diff
==============================================================================
--- ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/IvyFilePathText.java (original)
+++ ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/IvyFilePathText.java Mon Sep 14 21:47:44 2009
@@ -166,7 +166,7 @@
private class BrowseButtonListener extends SelectionAdapter {
public void widgetSelected(SelectionEvent e) {
String path = null;
- if (project != null) {
+ if (project != null && project.getProject().getLocation() != null) {
ElementTreeSelectionDialog dialog = new ElementTreeSelectionDialog(Display
.getDefault().getActiveShell(), new WorkbenchLabelProvider(),
new WorkbenchContentProvider());
Modified: ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/NewIvyDEContainerWizard.java
URL: http://svn.apache.org/viewvc/ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/NewIvyDEContainerWizard.java?rev=814877&r1=814876&r2=814877&view=diff
==============================================================================
--- ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/NewIvyDEContainerWizard.java (original)
+++ ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/NewIvyDEContainerWizard.java Mon Sep 14 21:47:44 2009
@@ -17,7 +17,6 @@
*/
package org.apache.ivyde.eclipse.ui;
-import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
@@ -27,7 +26,6 @@
import org.apache.ivyde.eclipse.cpcontainer.IvydeContainerPage;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
import org.eclipse.jdt.core.IClasspathContainer;
import org.eclipse.jdt.core.IClasspathEntry;
import org.eclipse.jdt.core.IJavaProject;
@@ -56,7 +54,7 @@
IJavaProject project = containerPage.getProject();
try {
IvyClasspathContainer ivycp = new IvyClasspathContainer(project, path,
- new IClasspathEntry[0]);
+ new IClasspathEntry[0], null);
JavaCore.setClasspathContainer(path, new IJavaProject[] {project},
new IClasspathContainer[] {ivycp}, null);
IClasspathEntry[] entries = project.getRawClasspath();
@@ -69,9 +67,6 @@
} catch (JavaModelException e) {
IvyPlugin.log(e);
return false;
- } catch (IOException e) {
- IvyPlugin.log(IStatus.ERROR, "", e);
- return false;
}
return true;
}
Modified: ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/RetrieveComposite.java
URL: http://svn.apache.org/viewvc/ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/RetrieveComposite.java?rev=814877&r1=814876&r2=814877&view=diff
==============================================================================
--- ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/RetrieveComposite.java (original)
+++ ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/RetrieveComposite.java Mon Sep 14 21:47:44 2009
@@ -17,6 +17,7 @@
*/
package org.apache.ivyde.eclipse.ui;
+import org.apache.ivyde.eclipse.cpcontainer.RetrieveSetup;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
@@ -90,7 +91,7 @@
typesText.setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, false));
typesText.setEnabled(doRetrieveButton.getSelection());
typesText.setToolTipText(TOOLTIP_RETRIEVE_TYPES);
-
+
doRetrieveButton.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
retrievePatternText.setEnabled(doRetrieveButton.getSelection());
@@ -101,32 +102,22 @@
});
}
- public boolean isRetrieveEnabled() {
- return doRetrieveButton.getSelection();
- }
-
- public boolean isSyncEnabled() {
- return retrieveSyncButton.getSelection();
- }
-
- public String getRetrievePattern() {
- return retrievePatternText.getText();
- }
-
- public String getRetrieveConfs() {
- return confsText.getText();
- }
-
- public String getRetrieveTypes() {
- return typesText.getText();
- }
-
- public void init(boolean doRetrieve, String retrievePattern, String confs, String types, boolean retrieveSync) {
- doRetrieveButton.setSelection(doRetrieve);
- retrievePatternText.setText(retrievePattern);
- retrieveSyncButton.setSelection(retrieveSync);
- confsText.setText(confs);
- typesText.setText(types);
+ public RetrieveSetup getRetrieveSetup() {
+ RetrieveSetup setup = new RetrieveSetup();
+ setup.setDoRetrieve(doRetrieveButton.getSelection());
+ setup.setRetrieveSync(retrieveSyncButton.getSelection());
+ setup.setRetrievePattern(retrievePatternText.getText());
+ setup.setRetrieveConfs(confsText.getText());
+ setup.setRetrieveTypes(typesText.getText());
+ return setup;
+ }
+
+ public void init(RetrieveSetup setup) {
+ doRetrieveButton.setSelection(setup.isDoRetrieve());
+ retrievePatternText.setText(setup.getRetrievePattern());
+ retrieveSyncButton.setSelection(setup.isRetrieveSync());
+ confsText.setText(setup.getRetrieveConfs());
+ typesText.setText(setup.getRetrieveTypes());
setEnabled(true);
}
Modified: ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/SettingsEditor.java
URL: http://svn.apache.org/viewvc/ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/SettingsEditor.java?rev=814877&r1=814876&r2=814877&view=diff
==============================================================================
--- ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/SettingsEditor.java (original)
+++ ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/SettingsEditor.java Mon Sep 14 21:47:44 2009
@@ -26,6 +26,7 @@
import org.apache.ivyde.eclipse.IvyDEException;
import org.apache.ivyde.eclipse.IvyPlugin;
import org.apache.ivyde.eclipse.cpcontainer.IvyClasspathUtil;
+import org.apache.ivyde.eclipse.cpcontainer.IvySettingsSetup;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.jface.fieldassist.DecoratedField;
import org.eclipse.jface.fieldassist.FieldDecoration;
@@ -47,13 +48,13 @@
public class SettingsEditor extends Composite {
- public static final String TOOLTIP_SETTINGS_PATH = "The url where your ivysettings file can be found. \n"
- + "Leave it empty to reference the default ivy settings. \n"
+ public static final String TOOLTIP_SETTINGS_PATH = "The url where your ivysettings file can be"
+ + " found. \nLeave it empty to reference the default ivy settings. \n"
+ "Relative paths are handled relative to the project.\n"
+ " Example: 'project:///ivysettings.xml' or 'project://myproject/ivysettings.xml'.";
- public static final String TOOLTIP_PROPERTY_FILES = "Comma separated list of build property files.\n"
- + "Example: build.properties, override.properties";
+ public static final String TOOLTIP_PROPERTY_FILES = "Comma separated list of build property"
+ + " files.\nExample: build.properties, override.properties";
private Text settingsText;
@@ -85,8 +86,8 @@
FieldDecorationRegistry.DEC_ERROR);
settingsTextDeco = new DecoratedField(this, SWT.LEFT | SWT.TOP, new IControlCreator() {
- public Control createControl(Composite parent, int style) {
- return new Text(parent, SWT.SINGLE | SWT.BORDER);
+ public Control createControl(Composite p, int s) {
+ return new Text(p, SWT.SINGLE | SWT.BORDER);
}
});
settingsTextDeco.addFieldDecoration(errorDecoration, SWT.TOP | SWT.LEFT, false);
@@ -153,20 +154,16 @@
});
}
- public String getSettingsPath() {
- return settingsText.getText();
- }
-
- public boolean getLoadOnDemand() {
- return loadOnDemandButton.getSelection();
- }
-
- public List getPropertyFiles() {
- return IvyClasspathUtil.split(propFilesText.getText());
+ public IvySettingsSetup getIvySettingsSetup() {
+ IvySettingsSetup setup = new IvySettingsSetup();
+ setup.setIvySettingsPath(settingsText.getText());
+ setup.setLoadSettingsOnDemand(loadOnDemandButton.getSelection());
+ setup.setPropertyFiles(IvyClasspathUtil.split(propFilesText.getText()));
+ return setup;
}
public interface SettingsEditorListener {
- void settingsEditorUpdated(String path);
+ void settingsEditorUpdated(IvySettingsSetup setup);
}
public void addListener(SettingsEditorListener listener) {
@@ -183,9 +180,10 @@
void settingsPathUpdated() {
synchronized (listeners) {
+ IvySettingsSetup setup = getIvySettingsSetup();
Iterator it = listeners.iterator();
while (it.hasNext()) {
- ((SettingsEditorListener) it.next()).settingsEditorUpdated(settingsText.getText());
+ ((SettingsEditorListener) it.next()).settingsEditorUpdated(setup);
}
}
}
@@ -230,14 +228,10 @@
return null;
}
- public void init(String ivySettingsPath, String propertyFiles, boolean loadOnDemand) {
- settingsText.setText(ivySettingsPath);
- propFilesText.setText(propertyFiles);
- loadOnDemandButton.setSelection(loadOnDemand);
- }
-
- public void init(String ivySettingsPath, List propertyFiles, boolean loadOnDemand) {
- init(ivySettingsPath, IvyClasspathUtil.concat(propertyFiles), loadOnDemand);
+ public void init(IvySettingsSetup setup) {
+ settingsText.setText(setup.getIvySettingsPath());
+ propFilesText.setText(IvyClasspathUtil.concat(setup.getPropertyFiles()));
+ loadOnDemandButton.setSelection(setup.isLoadSettingsOnDemand());
}
public void setEnabled(boolean enabled) {
Modified: ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/actions/CleanCacheMenuAction.java
URL: http://svn.apache.org/viewvc/ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/actions/CleanCacheMenuAction.java?rev=814877&r1=814876&r2=814877&view=diff
==============================================================================
--- ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/actions/CleanCacheMenuAction.java (original)
+++ ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/actions/CleanCacheMenuAction.java Mon Sep 14 21:47:44 2009
@@ -33,7 +33,7 @@
protected void fill(Menu menu, IvyClasspathContainer ivycp) {
try {
- fill(menu, ivycp.getConf().getIvy());
+ fill(menu, ivycp.getState().getIvy());
} catch (IvyDEException e) {
e.log(IStatus.WARNING,
"Cache delection actions in the context menu could not be populated. ");
Modified: ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/actions/OpenIvyFileAction.java
URL: http://svn.apache.org/viewvc/ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/actions/OpenIvyFileAction.java?rev=814877&r1=814876&r2=814877&view=diff
==============================================================================
--- ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/actions/OpenIvyFileAction.java (original)
+++ ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/actions/OpenIvyFileAction.java Mon Sep 14 21:47:44 2009
@@ -17,6 +17,7 @@
*/
package org.apache.ivyde.eclipse.ui.actions;
+import org.apache.ivyde.eclipse.FakeProjectManager;
import org.apache.ivyde.eclipse.cpcontainer.IvyClasspathContainer;
import org.apache.ivyde.eclipse.cpcontainer.IvyClasspathContainerConfiguration;
import org.eclipse.core.resources.IFile;
@@ -42,7 +43,7 @@
public void run(IAction action) {
IvyClasspathContainerConfiguration conf = cp.getConf();
- if (conf.getJavaProject() == null) {
+ if (FakeProjectManager.isFake(conf.getJavaProject())) {
return;
}
IFile file = conf.getJavaProject().getProject().getFile(conf.getIvyXmlPath());
Modified: ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/editors/xml/EclipseIvyModelSettings.java
URL: http://svn.apache.org/viewvc/ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/editors/xml/EclipseIvyModelSettings.java?rev=814877&r1=814876&r2=814877&view=diff
==============================================================================
--- ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/editors/xml/EclipseIvyModelSettings.java (original)
+++ ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/editors/xml/EclipseIvyModelSettings.java Mon Sep 14 21:47:44 2009
@@ -65,7 +65,7 @@
return null;
}
try {
- return ivycp.getConf().getIvy();
+ return ivycp.getState().getIvy();
} catch (IvyDEException e) {
e.log(IStatus.WARNING, null);
return null;
Modified: ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/preferences/ClasspathPreferencePage.java
URL: http://svn.apache.org/viewvc/ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/preferences/ClasspathPreferencePage.java?rev=814877&r1=814876&r2=814877&view=diff
==============================================================================
--- ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/preferences/ClasspathPreferencePage.java (original)
+++ ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/preferences/ClasspathPreferencePage.java Mon Sep 14 21:47:44 2009
@@ -34,7 +34,8 @@
public class ClasspathPreferencePage extends PreferencePage implements IWorkbenchPreferencePage {
/** the ID of the preference page */
- public static final String PEREFERENCE_PAGE_ID = "org.apache.ivyde.eclipse.ui.preferences.ClasspathPreferencePage";
+ public static final String PEREFERENCE_PAGE_ID =
+ "org.apache.ivyde.eclipse.ui.preferences.ClasspathPreferencePage";
private Button resolveInWorkspaceCheck;
@@ -88,29 +89,20 @@
IvyDEPreferenceStoreHelper helper = IvyPlugin.getPreferenceStoreHelper();
resolveInWorkspaceCheck.setSelection(helper.isResolveInWorkspace());
alphaOrderCheck.select(helper.isAlphOrder() ? 1 : 0);
- acceptedSuffixesTypesComposite.init(helper.getAcceptedTypes(), helper.getSourceTypes(),
- helper.getSourceSuffixes(), helper.getJavadocTypes(), helper.getJavadocSuffixes());
+ acceptedSuffixesTypesComposite.init(helper.getContainerMappingSetup());
}
public boolean performOk() {
IvyDEPreferenceStoreHelper helper = IvyPlugin.getPreferenceStoreHelper();
helper.setResolveInWorkspace(resolveInWorkspaceCheck.getSelection());
helper.setAlphOrder(alphaOrderCheck.getSelectionIndex() == 1);
- helper.setAcceptedTypes(acceptedSuffixesTypesComposite.getAcceptedTypes());
- helper.setSourceTypes(acceptedSuffixesTypesComposite.getSourcesTypes());
- helper.setSourceSuffixes(acceptedSuffixesTypesComposite.getSourceSuffixes());
- helper.setJavadocTypes(acceptedSuffixesTypesComposite.getJavadocTypes());
- helper.setJavadocSuffixes(acceptedSuffixesTypesComposite.getJavadocSuffixes());
+ helper.setContainerMappingSetup(acceptedSuffixesTypesComposite.getContainerMappingSetup());
return true;
}
protected void performDefaults() {
resolveInWorkspaceCheck.setSelection(PreferenceInitializer.DEFAULT_RESOLVE_IN_WORKSPACE);
alphaOrderCheck.select(PreferenceInitializer.DEFAULT_ALPHABETICAL_ORDER ? 1 : 0);
- acceptedSuffixesTypesComposite.init(PreferenceInitializer.DEFAULT_ACCEPTED_TYPES,
- PreferenceInitializer.DEFAULT_SOURCES_TYPES,
- PreferenceInitializer.DEFAULT_SOURCES_SUFFIXES,
- PreferenceInitializer.DEFAULT_JAVADOC_TYPES,
- PreferenceInitializer.DEFAULT_JAVADOC_SUFFIXES);
+ acceptedSuffixesTypesComposite.init(PreferenceInitializer.DEFAULT_CONTAINER_MAPPING_SETUP);
}
}
Modified: ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/preferences/IvyDEPreferenceStoreHelper.java
URL: http://svn.apache.org/viewvc/ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/preferences/IvyDEPreferenceStoreHelper.java?rev=814877&r1=814876&r2=814877&view=diff
==============================================================================
--- ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/preferences/IvyDEPreferenceStoreHelper.java (original)
+++ ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/preferences/IvyDEPreferenceStoreHelper.java Mon Sep 14 21:47:44 2009
@@ -17,10 +17,10 @@
*/
package org.apache.ivyde.eclipse.ui.preferences;
-import java.util.Collection;
-import java.util.List;
-
+import org.apache.ivyde.eclipse.cpcontainer.ContainerMappingSetup;
import org.apache.ivyde.eclipse.cpcontainer.IvyClasspathUtil;
+import org.apache.ivyde.eclipse.cpcontainer.IvySettingsSetup;
+import org.apache.ivyde.eclipse.cpcontainer.RetrieveSetup;
import org.eclipse.jface.preference.IPreferenceStore;
public class IvyDEPreferenceStoreHelper {
@@ -47,96 +47,68 @@
prefStore.setValue(PreferenceConstants.ORGANISATION_URL, url);
}
- public String getIvySettingsPath() {
- return prefStore.getString(PreferenceConstants.IVYSETTINGS_PATH);
- }
-
- public void setIvySettingsPath(String path) {
- prefStore.setValue(PreferenceConstants.IVYSETTINGS_PATH, path);
- }
-
- public List getAcceptedTypes() {
- return IvyClasspathUtil.split(prefStore.getString(PreferenceConstants.ACCEPTED_TYPES));
- }
-
- public void setAcceptedTypes(Collection acceptedTypes) {
- prefStore.setValue(PreferenceConstants.ACCEPTED_TYPES, IvyClasspathUtil
- .concat(acceptedTypes));
- }
-
- public List getSourceTypes() {
- return IvyClasspathUtil.split(prefStore.getString(PreferenceConstants.SOURCES_TYPES));
- }
-
- public void setSourceTypes(Collection sourceTypes) {
- prefStore.setValue(PreferenceConstants.SOURCES_TYPES, IvyClasspathUtil.concat(sourceTypes));
- }
-
- public List getJavadocTypes() {
- return IvyClasspathUtil.split(prefStore.getString(PreferenceConstants.JAVADOC_TYPES));
- }
-
- public void setJavadocTypes(Collection javadocTypes) {
- prefStore
- .setValue(PreferenceConstants.JAVADOC_TYPES, IvyClasspathUtil.concat(javadocTypes));
- }
-
- public List getSourceSuffixes() {
- return IvyClasspathUtil.split(prefStore.getString(PreferenceConstants.SOURCES_SUFFIXES));
- }
-
- public void setSourceSuffixes(Collection sourceSuffixes) {
- prefStore.setValue(PreferenceConstants.SOURCES_SUFFIXES, IvyClasspathUtil
- .concat(sourceSuffixes));
- }
-
- public List getJavadocSuffixes() {
- return IvyClasspathUtil.split(prefStore.getString(PreferenceConstants.JAVADOC_SUFFIXES));
- }
-
- public void setJavadocSuffixes(Collection javadocSuffixes) {
- prefStore.setValue(PreferenceConstants.JAVADOC_SUFFIXES, IvyClasspathUtil
- .concat(javadocSuffixes));
- }
-
- public boolean getDoRetrieve() {
- return prefStore.getBoolean(PreferenceConstants.DO_RETRIEVE);
- }
-
- public void setDoRetrieve(boolean doretrieve) {
- prefStore.setValue(PreferenceConstants.DO_RETRIEVE, doretrieve);
- }
-
- public String getRetrievePattern() {
- return prefStore.getString(PreferenceConstants.RETRIEVE_PATTERN);
- }
-
- public void setRetrievePattern(String pattern) {
- prefStore.setValue(PreferenceConstants.RETRIEVE_PATTERN, pattern);
- }
-
- public boolean getRetrieveSync() {
- return prefStore.getBoolean(PreferenceConstants.RETRIEVE_SYNC);
- }
-
- public void setRetrieveSync(boolean sync) {
- prefStore.setValue(PreferenceConstants.RETRIEVE_SYNC, sync);
- }
-
- public String getRetrieveConfs() {
- return prefStore.getString(PreferenceConstants.RETRIEVE_CONFS);
- }
-
- public void setRetrieveConfs(String confs) {
- prefStore.setValue(PreferenceConstants.RETRIEVE_CONFS, confs);
- }
-
- public String getRetrieveTypes() {
- return prefStore.getString(PreferenceConstants.RETRIEVE_TYPES);
- }
-
- public void setRetrieveTypes(String types) {
- prefStore.setValue(PreferenceConstants.RETRIEVE_TYPES, types);
+ public IvySettingsSetup getIvySettingsSetup() {
+ IvySettingsSetup setup = new IvySettingsSetup();
+ setup.setIvySettingsPath(prefStore.getString(PreferenceConstants.IVYSETTINGS_PATH));
+ setup.setLoadSettingsOnDemand(prefStore
+ .getBoolean(PreferenceConstants.LOAD_SETTINGS_ON_DEMAND));
+ setup.setPropertyFiles(IvyClasspathUtil.split(prefStore
+ .getString(PreferenceConstants.PROPERTY_FILES)));
+ return setup;
+ }
+
+ public void setIvySettingsSetup(IvySettingsSetup setup) {
+ prefStore.setValue(PreferenceConstants.IVYSETTINGS_PATH, setup.getIvySettingsPath());
+ prefStore.setValue(PreferenceConstants.PROPERTY_FILES, IvyClasspathUtil.concat(setup
+ .getPropertyFiles()));
+ prefStore.setValue(PreferenceConstants.LOAD_SETTINGS_ON_DEMAND, setup
+ .isLoadSettingsOnDemand());
+ }
+
+ public ContainerMappingSetup getContainerMappingSetup() {
+ ContainerMappingSetup setup = new ContainerMappingSetup();
+ setup.setAcceptedTypes(IvyClasspathUtil.split(prefStore
+ .getString(PreferenceConstants.ACCEPTED_TYPES)));
+ setup.setSourceTypes(IvyClasspathUtil.split(prefStore
+ .getString(PreferenceConstants.SOURCES_TYPES)));
+ setup.setJavadocTypes(IvyClasspathUtil.split(prefStore
+ .getString(PreferenceConstants.JAVADOC_TYPES)));
+ setup.setSourceSuffixes(IvyClasspathUtil.split(prefStore
+ .getString(PreferenceConstants.SOURCES_SUFFIXES)));
+ setup.setJavadocSuffixes(IvyClasspathUtil.split(prefStore
+ .getString(PreferenceConstants.JAVADOC_SUFFIXES)));
+ return setup;
+ }
+
+ public void setContainerMappingSetup(ContainerMappingSetup setup) {
+ prefStore.setValue(PreferenceConstants.ACCEPTED_TYPES, IvyClasspathUtil.concat(setup
+ .getAcceptedTypes()));
+ prefStore.setValue(PreferenceConstants.SOURCES_TYPES, IvyClasspathUtil.concat(setup
+ .getSourceTypes()));
+ prefStore.setValue(PreferenceConstants.JAVADOC_TYPES, IvyClasspathUtil.concat(setup
+ .getJavadocTypes()));
+ prefStore.setValue(PreferenceConstants.SOURCES_SUFFIXES, IvyClasspathUtil.concat(setup
+ .getSourceSuffixes()));
+ prefStore.setValue(PreferenceConstants.JAVADOC_SUFFIXES, IvyClasspathUtil.concat(setup
+ .getJavadocSuffixes()));
+ }
+
+ public RetrieveSetup getRetrieveSetup() {
+ RetrieveSetup setup = new RetrieveSetup();
+ setup.setDoRetrieve(prefStore.getBoolean(PreferenceConstants.DO_RETRIEVE));
+ setup.setRetrieveConfs(prefStore.getString(PreferenceConstants.RETRIEVE_CONFS));
+ setup.setRetrievePattern(prefStore.getString(PreferenceConstants.RETRIEVE_PATTERN));
+ setup.setRetrieveSync(prefStore.getBoolean(PreferenceConstants.RETRIEVE_SYNC));
+ setup.setRetrieveTypes(prefStore.getString(PreferenceConstants.RETRIEVE_TYPES));
+ return setup;
+ }
+
+ public void setRetrieveSetup(RetrieveSetup setup) {
+ prefStore.setValue(PreferenceConstants.DO_RETRIEVE, setup.isDoRetrieve());
+ prefStore.setValue(PreferenceConstants.RETRIEVE_PATTERN, setup.getRetrievePattern());
+ prefStore.setValue(PreferenceConstants.RETRIEVE_SYNC, setup.isRetrieveSync());
+ prefStore.setValue(PreferenceConstants.RETRIEVE_CONFS, setup.getRetrieveConfs());
+ prefStore.setValue(PreferenceConstants.RETRIEVE_TYPES, setup.getRetrieveTypes());
}
public boolean isAlphOrder() {
@@ -171,22 +143,6 @@
prefStore.setValue(PreferenceConstants.ORGANISATION_URL, url);
}
- public List getPropertyFiles() {
- return IvyClasspathUtil.split(prefStore.getString(PreferenceConstants.PROPERTY_FILES));
- }
-
- public void setPropertyFiles(List files) {
- prefStore.setValue(PreferenceConstants.PROPERTY_FILES, IvyClasspathUtil.concat(files));
- }
-
- public boolean getLoadSettingsOnDemand() {
- return prefStore.getBoolean(PreferenceConstants.LOAD_SETTINGS_ON_DEMAND);
- }
-
- public void setLoadSettingsOnDemand(boolean onDemand) {
- prefStore.setValue(PreferenceConstants.LOAD_SETTINGS_ON_DEMAND, onDemand);
- }
-
public int getResolveOnStartup() {
return prefStore.getInt(PreferenceConstants.RESOLVE_ON_STARTUP);
}
Modified: ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/preferences/PreferenceInitializer.java
URL: http://svn.apache.org/viewvc/ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/preferences/PreferenceInitializer.java?rev=814877&r1=814876&r2=814877&view=diff
==============================================================================
--- ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/preferences/PreferenceInitializer.java (original)
+++ ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/preferences/PreferenceInitializer.java Mon Sep 14 21:47:44 2009
@@ -18,6 +18,10 @@
package org.apache.ivyde.eclipse.ui.preferences;
import org.apache.ivyde.eclipse.IvyPlugin;
+import org.apache.ivyde.eclipse.cpcontainer.ContainerMappingSetup;
+import org.apache.ivyde.eclipse.cpcontainer.IvyClasspathUtil;
+import org.apache.ivyde.eclipse.cpcontainer.IvySettingsSetup;
+import org.apache.ivyde.eclipse.cpcontainer.RetrieveSetup;
import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
import org.eclipse.jface.preference.IPreferenceStore;
@@ -26,12 +30,24 @@
*/
public class PreferenceInitializer extends AbstractPreferenceInitializer {
- public static final String DEFAULT_IVYSETTINGS_PATH = "";
-
public static final String DEFAULT_ORGANISATION = "";
public static final String DEFAULT_ORGANISATION_URL = "";
+ public static final String DEFAULT_IVYSETTINGS_PATH = "";
+
+ public static final String DEFAULT_PROPERTY_FILES = "";
+
+ public static final boolean DEFAULT_LOAD_SETTINGS_ON_DEMAND = false;
+
+ public static final IvySettingsSetup DEFAULT_IVY_SETTINGS_SETUP = new IvySettingsSetup();
+
+ static {
+ DEFAULT_IVY_SETTINGS_SETUP.setIvySettingsPath(DEFAULT_IVYSETTINGS_PATH);
+ DEFAULT_IVY_SETTINGS_SETUP.setLoadSettingsOnDemand(DEFAULT_LOAD_SETTINGS_ON_DEMAND);
+ DEFAULT_IVY_SETTINGS_SETUP.setPropertyFiles(IvyClasspathUtil.split(DEFAULT_PROPERTY_FILES));
+ }
+
public static final String DEFAULT_ACCEPTED_TYPES = "jar,bundle,ejb,maven-plugin";
public static final String DEFAULT_SOURCES_TYPES = "source";
@@ -42,6 +58,22 @@
public static final String DEFAULT_JAVADOC_SUFFIXES = "-javadoc,-javadocs,-doc,-docs";
+ public static final ContainerMappingSetup DEFAULT_CONTAINER_MAPPING_SETUP =
+ new ContainerMappingSetup();
+
+ static {
+ DEFAULT_CONTAINER_MAPPING_SETUP.setAcceptedTypes(IvyClasspathUtil
+ .split(DEFAULT_ACCEPTED_TYPES));
+ DEFAULT_CONTAINER_MAPPING_SETUP.setSourceTypes(IvyClasspathUtil
+ .split(DEFAULT_SOURCES_TYPES));
+ DEFAULT_CONTAINER_MAPPING_SETUP.setJavadocTypes(IvyClasspathUtil
+ .split(DEFAULT_JAVADOC_TYPES));
+ DEFAULT_CONTAINER_MAPPING_SETUP.setSourceSuffixes(IvyClasspathUtil
+ .split(DEFAULT_SOURCES_SUFFIXES));
+ DEFAULT_CONTAINER_MAPPING_SETUP.setJavadocSuffixes(IvyClasspathUtil
+ .split(DEFAULT_JAVADOC_SUFFIXES));
+ }
+
public static final boolean DEFAULT_DO_RETRIEVE = false;
public static final String DEFAULT_RETRIEVE_PATTERN = "lib/[conf]/[artifact].[ext]";
@@ -52,13 +84,19 @@
public static final String DEFAULT_RETRIEVE_TYPES = "*";
- public static final boolean DEFAULT_ALPHABETICAL_ORDER = false;
+ public static final RetrieveSetup DEFAULT_RETRIEVE_SETUP = new RetrieveSetup();
- public static final boolean DEFAULT_RESOLVE_IN_WORKSPACE = false;
+ static {
+ DEFAULT_RETRIEVE_SETUP.setDoRetrieve(DEFAULT_DO_RETRIEVE);
+ DEFAULT_RETRIEVE_SETUP.setRetrievePattern(DEFAULT_RETRIEVE_PATTERN);
+ DEFAULT_RETRIEVE_SETUP.setRetrieveSync(DEFAULT_RETRIEVE_SYNC);
+ DEFAULT_RETRIEVE_SETUP.setRetrieveConfs(DEFAULT_RETRIEVE_CONFS);
+ DEFAULT_RETRIEVE_SETUP.setRetrieveTypes(DEFAULT_RETRIEVE_TYPES);
+ }
- public static final String DEFAULT_PROPERTY_FILES = "";
+ public static final boolean DEFAULT_ALPHABETICAL_ORDER = false;
- public static final boolean DEFAULT_LOAD_SETTINGS_ON_DEMAND = false;
+ public static final boolean DEFAULT_RESOLVE_IN_WORKSPACE = false;
public static final int DEFAULT_RESOLVE_ON_STARTUP = 1;
Modified: ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/preferences/RetrievePreferencePage.java
URL: http://svn.apache.org/viewvc/ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/preferences/RetrievePreferencePage.java?rev=814877&r1=814876&r2=814877&view=diff
==============================================================================
--- ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/preferences/RetrievePreferencePage.java (original)
+++ ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/preferences/RetrievePreferencePage.java Mon Sep 14 21:47:44 2009
@@ -31,7 +31,8 @@
public class RetrievePreferencePage extends PreferencePage implements IWorkbenchPreferencePage {
/** the ID of the preference page */
- public static final String PEREFERENCE_PAGE_ID = "org.apache.ivyde.eclipse.ui.preferences.RetrievePreferencePage";
+ public static final String PEREFERENCE_PAGE_ID =
+ "org.apache.ivyde.eclipse.ui.preferences.RetrievePreferencePage";
private RetrieveComposite retrieveComposite;
@@ -60,25 +61,16 @@
private void initPreferences() {
IvyDEPreferenceStoreHelper helper = IvyPlugin.getPreferenceStoreHelper();
- retrieveComposite.init(helper.getDoRetrieve(), helper.getRetrievePattern(), helper
- .getRetrieveConfs(), helper.getRetrieveTypes(), helper.getRetrieveSync());
+ retrieveComposite.init(helper.getRetrieveSetup());
}
public boolean performOk() {
IvyDEPreferenceStoreHelper helper = IvyPlugin.getPreferenceStoreHelper();
- helper.setDoRetrieve(retrieveComposite.isRetrieveEnabled());
- helper.setRetrievePattern(retrieveComposite.getRetrievePattern());
- helper.setRetrieveSync(retrieveComposite.isSyncEnabled());
- helper.setRetrieveConfs(retrieveComposite.getRetrieveConfs());
- helper.setRetrieveTypes(retrieveComposite.getRetrieveTypes());
+ helper.setRetrieveSetup(retrieveComposite.getRetrieveSetup());
return true;
}
protected void performDefaults() {
- retrieveComposite.init(PreferenceInitializer.DEFAULT_DO_RETRIEVE,
- PreferenceInitializer.DEFAULT_RETRIEVE_PATTERN,
- PreferenceInitializer.DEFAULT_RETRIEVE_CONFS,
- PreferenceInitializer.DEFAULT_RETRIEVE_TYPES,
- PreferenceInitializer.DEFAULT_RETRIEVE_SYNC);
+ retrieveComposite.init(PreferenceInitializer.DEFAULT_RETRIEVE_SETUP);
}
}
Modified: ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/preferences/SettingsPreferencePage.java
URL: http://svn.apache.org/viewvc/ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/preferences/SettingsPreferencePage.java?rev=814877&r1=814876&r2=814877&view=diff
==============================================================================
--- ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/preferences/SettingsPreferencePage.java (original)
+++ ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/preferences/SettingsPreferencePage.java Mon Sep 14 21:47:44 2009
@@ -31,7 +31,8 @@
public class SettingsPreferencePage extends PreferencePage implements IWorkbenchPreferencePage {
/** the ID of the preference page */
- public static final String PEREFERENCE_PAGE_ID = "org.apache.ivyde.eclipse.ui.preferences.SettingsPreferencePage";
+ public static final String PEREFERENCE_PAGE_ID =
+ "org.apache.ivyde.eclipse.ui.preferences.SettingsPreferencePage";
private SettingsEditor settingsEditor;
@@ -60,21 +61,16 @@
private void initPreferences() {
IvyDEPreferenceStoreHelper helper = IvyPlugin.getPreferenceStoreHelper();
- settingsEditor.init(helper.getIvySettingsPath(), helper.getPropertyFiles(), helper
- .getLoadSettingsOnDemand());
+ settingsEditor.init(helper.getIvySettingsSetup());
}
public boolean performOk() {
IvyDEPreferenceStoreHelper helper = IvyPlugin.getPreferenceStoreHelper();
- helper.setIvySettingsPath(settingsEditor.getSettingsPath());
- helper.setPropertyFiles(settingsEditor.getPropertyFiles());
- helper.setLoadSettingsOnDemand(settingsEditor.getLoadOnDemand());
+ helper.setIvySettingsSetup(settingsEditor.getIvySettingsSetup());
return true;
}
protected void performDefaults() {
- settingsEditor.init(PreferenceInitializer.DEFAULT_IVYSETTINGS_PATH,
- PreferenceInitializer.DEFAULT_PROPERTY_FILES,
- PreferenceInitializer.DEFAULT_LOAD_SETTINGS_ON_DEMAND);
+ settingsEditor.init(PreferenceInitializer.DEFAULT_IVY_SETTINGS_SETUP);
}
}
Modified: ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/workspaceresolver/WorkspaceResolver.java
URL: http://svn.apache.org/viewvc/ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/workspaceresolver/WorkspaceResolver.java?rev=814877&r1=814876&r2=814877&view=diff
==============================================================================
--- ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/workspaceresolver/WorkspaceResolver.java (original)
+++ ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/workspaceresolver/WorkspaceResolver.java Mon Sep 14 21:47:44 2009
@@ -166,7 +166,7 @@
IvyClasspathContainer ivycp = (IvyClasspathContainer) itContainer.next();
ModuleDescriptor md;
try {
- md = ivycp.getConf().getCachedModuleDescriptor();
+ md = ivycp.getState().getCachedModuleDescriptor();
} catch (IvyDEException e) {
IvyPlugin.log(IStatus.WARNING, "Resolve in workspace for '"
+ resolvingJavaProject.getElementName() + "' cannot depend on "