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 2008/05/15 22:37:26 UTC

svn commit: r656824 - in /ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse: ./ cpcontainer/ cpcontainer/fragmentinfo/ ui/actions/ ui/core/model/ ui/editors/ ui/editors/xml/ ui/preferences/ ui/views/ ui/wizards/

Author: hibou
Date: Thu May 15 13:37:26 2008
New Revision: 656824

URL: http://svn.apache.org/viewvc?rev=656824&view=rev
Log:
Check everywhere how Exceptions are handled, so they are always precisely logged

Modified:
    ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/IvyPlugin.java
    ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/cpcontainer/FileExtFilter.java
    ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/cpcontainer/IvyClasspathContainer.java
    ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/cpcontainer/IvyClasspathContainerConfiguration.java
    ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/cpcontainer/IvyClasspathInitializer.java
    ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/cpcontainer/IvyClasspathUtil.java
    ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/cpcontainer/IvyResolveJob.java
    ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/cpcontainer/IvydeContainerPage.java
    ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/cpcontainer/fragmentinfo/PreferenceStoreInfo.java
    ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/actions/OpenIvyFileAction.java
    ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/actions/RefreshAction.java
    ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/actions/ResolveAction.java
    ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/core/model/IvyFile.java
    ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/core/model/IvyModel.java
    ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/core/model/PreferenceValueProvider.java
    ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/editors/IvyEditor.java
    ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/editors/xml/IvyContentAssistProcessor.java
    ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/editors/xml/NonRuleBasedDamagerRepairer.java
    ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/editors/xml/XMLDoubleClickStrategy.java
    ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/preferences/IvyPreferencePage.java
    ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/views/ReportView.java
    ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/wizards/IvyNewWizard.java
    ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/wizards/IvyNewWizardPage.java

Modified: ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/IvyPlugin.java
URL: http://svn.apache.org/viewvc/ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/IvyPlugin.java?rev=656824&r1=656823&r2=656824&view=diff
==============================================================================
--- ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/IvyPlugin.java (original)
+++ ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/IvyPlugin.java Thu May 15 13:37:26 2008
@@ -18,7 +18,10 @@
 package org.apache.ivyde.eclipse;
 
 import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.IOException;
 import java.net.URL;
+import java.text.ParseException;
 import java.util.Collections;
 import java.util.Enumeration;
 import java.util.HashMap;
@@ -35,7 +38,6 @@
 import org.apache.ivyde.eclipse.ui.console.IvyConsole;
 import org.apache.ivyde.eclipse.ui.preferences.IvyDEPreferenceStoreHelper;
 import org.apache.ivyde.eclipse.ui.preferences.PreferenceConstants;
-import org.eclipse.core.resources.IProject;
 import org.eclipse.core.resources.ResourcesPlugin;
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IStatus;
@@ -236,7 +238,8 @@
     public ResourceBundle getResourceBundle() {
         try {
             if (resourceBundle == null)
-                resourceBundle = ResourceBundle.getBundle("org.apache.ivyde.eclipse.IvyPluginResources");
+                resourceBundle = ResourceBundle
+                        .getBundle("org.apache.ivyde.eclipse.IvyPluginResources");
         } catch (MissingResourceException x) {
             resourceBundle = new ResourceBundle() {
                 protected Object handleGetObject(String key) {
@@ -281,24 +284,17 @@
     }
 
     /**
-     * Get the Ivy instance for the specified project and the settings of the configured container
-     * on the project.
+     * Get the Ivy instance for the specified project.
      * 
      * @param javaProject
      *            the Java project
-     * @param ivySettingsPath
-     *            the settings to use
-     * @return the configured Ivy instance, <code>null</code> if it failed
+     * @return the configured Ivy instance, <code>null</code> if there is no Ivy for this project
+     * @throws IOException
+     * @throws ParseException
+     * @throws FileNotFoundException
      */
-    // TODO: check that every caller of this function can properly handle a returned null
     public static synchronized Ivy getIvy(IJavaProject javaProject) {
-        IvyClasspathContainer cp;
-        try {
-            cp = IvyClasspathUtil.getIvyClassPathContainer(javaProject);
-        } catch (JavaModelException e) {
-            // TODO log and better handle the error
-            return null;
-        }
+        IvyClasspathContainer cp = IvyClasspathUtil.getIvyClasspathContainer(javaProject);
         if (cp == null) {
             return null;
         }
@@ -309,14 +305,11 @@
      * Get the Ivy instance for the specified project and the specified settings
      * <p>
      * 
-     * @param javaProject
-     *            the Java project
      * @param ivySettingsPath
      *            the settings to use
      * @return the configured Ivy instance, <code>null</code> if it failed
      */
-    // TODO: check that every caller of this function can properly handle a returned null
-    public static synchronized Ivy getIvy(/*IJavaProject javaProject, */String ivySettingsPath) {
+    public static synchronized Ivy getIvy(String ivySettingsPath) {
         IvyConfig ic;
         try {
             if (ivySettingsPath == null || ivySettingsPath.trim().length() == 0) {
@@ -422,6 +415,6 @@
     }
 
     public BundleContext getBundleContext() {
-      return this.bundleContext;
+        return this.bundleContext;
     }
 }

Modified: ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/cpcontainer/FileExtFilter.java
URL: http://svn.apache.org/viewvc/ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/cpcontainer/FileExtFilter.java?rev=656824&r1=656823&r2=656824&view=diff
==============================================================================
--- ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/cpcontainer/FileExtFilter.java (original)
+++ ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/cpcontainer/FileExtFilter.java Thu May 15 13:37:26 2008
@@ -50,8 +50,9 @@
             try {
                 IResource[] resources = ((IContainer) element).members();
                 for (int i = 0; i < resources.length; i++) {
-                    if (select(viewer, parent, resources[i]))
+                    if (select(viewer, parent, resources[i])) {
                         return true;
+                    }
                 }
             } catch (CoreException e) {
                 IvyPlugin.log(e);

Modified: ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/cpcontainer/IvyClasspathContainer.java
URL: http://svn.apache.org/viewvc/ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/cpcontainer/IvyClasspathContainer.java?rev=656824&r1=656823&r2=656824&view=diff
==============================================================================
--- ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/cpcontainer/IvyClasspathContainer.java (original)
+++ ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/cpcontainer/IvyClasspathContainer.java Thu May 15 13:37:26 2008
@@ -26,14 +26,13 @@
 import java.util.Comparator;
 
 import org.apache.ivy.Ivy;
-import org.apache.ivy.core.module.descriptor.ModuleDescriptor;
 import org.apache.ivy.core.resolve.ResolveOptions;
-import org.apache.ivy.plugins.parser.ModuleDescriptorParserRegistry;
 import org.apache.ivy.util.Message;
 import org.apache.ivyde.eclipse.IvyPlugin;
 import org.eclipse.core.resources.IFile;
 import org.eclipse.core.runtime.IPath;
 import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.jobs.ISchedulingRule;
 import org.eclipse.jdt.core.ElementChangedEvent;
 import org.eclipse.jdt.core.IClasspathContainer;
@@ -178,12 +177,12 @@
     private IvyResolveJob computeClasspathEntries(final boolean usePreviousResolveIfExist,
             boolean notify, boolean isUser) {
         try {
-            // resolve job already running
             synchronized (this) {
                 if (job != null) {
+                    // resolve job already running
                     return job;
                 }
-                job = new IvyResolveJob(this, usePreviousResolveIfExist, notify, conf, javaProject);
+                job = new IvyResolveJob(this, usePreviousResolveIfExist, notify, conf);
                 job.setUser(isUser);
                 job.setRule(RESOLVE_EVENT_RULE);
                 return job;
@@ -275,7 +274,8 @@
                 }
             }
         } catch (JavaModelException e) {
-            Message.error(e.getMessage());
+            // unless there are some issues with the JDT, this should never happen
+            IvyPlugin.log(e);
         }
     }
 
@@ -293,15 +293,17 @@
     }
 
     public URL getReportUrl() {
+        Ivy ivy = IvyPlugin.getIvy(conf.getInheritedIvySettingsPath());
+        if (ivy == null) {
+            return null;
+        }
+        String resolveId = ResolveOptions.getDefaultResolveId(conf.md);
         try {
-            Ivy ivy = IvyPlugin.getIvy(conf.getInheritedIvySettingsPath());
-            URL ivyURL = ivyXmlFile.toURL();
-            ModuleDescriptor md = ModuleDescriptorParserRegistry.getInstance().parseDescriptor(
-                ivy.getSettings(), ivyURL, false);
-            String resolveId = ResolveOptions.getDefaultResolveId(md);
             return ivy.getResolutionCacheManager().getConfigurationResolveReportInCache(resolveId,
-                md.getConfigurationsNames()[0]).toURL();
-        } catch (Exception ex) {
+                conf.md.getConfigurationsNames()[0]).toURL();
+        } catch (MalformedURLException e) {
+            // should never happen
+            IvyPlugin.log(IStatus.ERROR, "The URL generated by Ivy is incorrect", e);
             return null;
         }
     }

Modified: ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/cpcontainer/IvyClasspathContainerConfiguration.java
URL: http://svn.apache.org/viewvc/ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/cpcontainer/IvyClasspathContainerConfiguration.java?rev=656824&r1=656823&r2=656824&view=diff
==============================================================================
--- ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/cpcontainer/IvyClasspathContainerConfiguration.java (original)
+++ ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/cpcontainer/IvyClasspathContainerConfiguration.java Thu May 15 13:37:26 2008
@@ -29,26 +29,31 @@
 import java.util.Collection;
 import java.util.List;
 
+import org.apache.ivy.Ivy;
 import org.apache.ivy.core.module.descriptor.ModuleDescriptor;
 import org.apache.ivy.plugins.parser.ModuleDescriptorParserRegistry;
 import org.apache.ivyde.eclipse.IvyPlugin;
 import org.eclipse.core.resources.IFile;
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.Path;
 import org.eclipse.jdt.core.IJavaProject;
 
 /**
- * path:
- * org.apache.ivyde.eclipse.cpcontainer.IVYDE_CONTAINER/ivy.xml/conf/ivysetting.xml/acceptedTypes/sourceTypes/javadocTypes/sourceSuffixes/javadocSuffixes/doRetrieve/retrievePattern/order
+ * path: org.apache.ivyde.eclipse.cpcontainer.IVYDE_CONTAINER? ivyXmlPath=ivy.xml &confs=default
+ * &ivySettingsPath=file:///ivysetting.xml &acceptedTypes=jar &sourceTypes=source
+ * &javadocTypes=javadoc &sourceSuffixes=-sources,-source,-src
+ * &javadocSuffixes=-javadocs,-javadoc,-doc,-docs &doRetrieve=true
+ * &retrievePattern=lib/[conf]/[artifact].[ext] &alphaOrder=true
  */
 public class IvyClasspathContainerConfiguration {
 
-    IJavaProject javaProject;
+    final IJavaProject javaProject;
 
     String ivyXmlPath;
 
-    List/* <String> */confs = Arrays.asList(new String[] {"default"});
+    List/* <String> */confs = Arrays.asList(new String[] {"*"});
 
     String ivySettingsPath;
 
@@ -70,13 +75,29 @@
 
     ModuleDescriptor md;
 
-    public IvyClasspathContainerConfiguration(IJavaProject javaProject, String ivyXmlPath,
-            List confs) {
+    /**
+     * Constructor
+     * 
+     * @param javaProject
+     *            the classpath container's Java project, <code>null</code> is not bind to a
+     *            project
+     * @param ivyXmlPath
+     *            the path to the ivy.xml
+     */
+    public IvyClasspathContainerConfiguration(IJavaProject javaProject, String ivyXmlPath) {
         this.javaProject = javaProject;
         this.ivyXmlPath = ivyXmlPath;
-        this.confs = confs;
     }
 
+    /**
+     * Constructor
+     * 
+     * @param javaProject
+     *            the classpath container's Java project, <code>null</code> is not bind to a
+     *            project
+     * @param path
+     *            the path of the classpath container
+     */
     public IvyClasspathContainerConfiguration(IJavaProject javaProject, IPath path) {
         this.javaProject = javaProject;
         if (path.segmentCount() > 2) {
@@ -119,10 +140,10 @@
             try {
                 value = parameter.length > 1 ? URLDecoder.decode(parameter[1], "UTF-8") : "";
             } catch (UnsupportedEncodingException e) {
-                // TODO this should not happend, but if it happend it can break eclipse, a project
-                // can be displayed abnormally. This exception should be raised at the UI level,
-                // either in the error log or in an popup to the user
-                throw new RuntimeException(e);
+                // this should never never happen
+                String message = "The UTF-8 encoding support is required is decode the path of the container.";
+                IvyPlugin.log(IStatus.ERROR, message, e);
+                throw new RuntimeException(message, e);
             }
             if (parameter[0].equals("ivyXmlPath")) {
                 ivyXmlPath = value;
@@ -162,7 +183,7 @@
             }
         }
         if (isProjectSpecific) {
-            // in this V1 version, it is just some paranoïd check
+            // in this V1 version, it is just some paranoid check
             checkNonNullConf();
         }
     }
@@ -220,10 +241,9 @@
                 path.append(URLEncoder.encode(Boolean.toString(alphaOrder), "UTF-8"));
             }
         } catch (UnsupportedEncodingException e) {
-            // TODO this should not happend, but if it happend it can break eclipse, a project
-            // can be displayed abnormally. This exception should be raised at the UI level,
-            // either in the error log or in an popup to the user
-            throw new RuntimeException(e);
+            String message = "The UTF-8 encoding support is required is endecode the path of the container.";
+            IvyPlugin.log(IStatus.ERROR, message, e);
+            throw new RuntimeException(message, e);
         }
         return new Path(IvyClasspathContainer.IVY_CLASSPATH_CONTAINER_ID).append(path.toString());
     }
@@ -232,11 +252,15 @@
         return ivyXmlPath;
     }
 
+    public IJavaProject getJavaProject() {
+        return javaProject;
+    }
+
     public String getInheritedIvySettingsPath() {
         if (ivySettingsPath == null) {
             return IvyPlugin.getPreferenceStoreHelper().getIvySettingsPath();
         }
-        if (javaProject == null) {
+        if (javaProject == null || ivySettingsPath.trim().length() == 0) {
             return ivySettingsPath;
         }
         URL url;
@@ -297,6 +321,7 @@
 
     public boolean getInheritedDoRetrieve() {
         if (javaProject == null) {
+            // no project means no retrieve possible
             return false;
         }
         if (ivySettingsPath == null) {
@@ -338,16 +363,20 @@
     }
 
     public void resolveModuleDescriptor() throws ParseException, MalformedURLException, IOException {
-        URL url;
         md = null;
+        URL url;
         if (javaProject != null) {
             IFile file = javaProject.getProject().getFile(ivyXmlPath);
             url = new File(file.getLocation().toOSString()).toURL();
         } else {
             url = new File(ivyXmlPath).toURL();
         }
-        md = ModuleDescriptorParserRegistry.getInstance().parseDescriptor(
-            IvyPlugin.getIvy(getInheritedIvySettingsPath()).getSettings(), url, false);
+        Ivy ivy = IvyPlugin.getIvy(getInheritedIvySettingsPath());
+        if (ivy == null) {
+            return;
+        }
+        md = ModuleDescriptorParserRegistry.getInstance().parseDescriptor(ivy.getSettings(), url,
+            false);
     }
 
 }

Modified: ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/cpcontainer/IvyClasspathInitializer.java
URL: http://svn.apache.org/viewvc/ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/cpcontainer/IvyClasspathInitializer.java?rev=656824&r1=656823&r2=656824&view=diff
==============================================================================
--- ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/cpcontainer/IvyClasspathInitializer.java (original)
+++ ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/cpcontainer/IvyClasspathInitializer.java Thu May 15 13:37:26 2008
@@ -17,7 +17,6 @@
  */
 package org.apache.ivyde.eclipse.cpcontainer;
 
-import org.apache.ivy.util.Message;
 import org.apache.ivyde.eclipse.IvyPlugin;
 import org.apache.ivyde.eclipse.cpcontainer.fragmentinfo.IPackageFragmentExtraInfo;
 import org.eclipse.core.runtime.CoreException;
@@ -51,6 +50,7 @@
             try {
                 container = JavaCore.getClasspathContainer(containerPath, project);
             } catch (JavaModelException ex) {
+                // unless there are issues with the JDT, this should never happen
                 IvyPlugin.log(IStatus.ERROR, "Unable to get container for "
                         + containerPath.toString(), ex);
                 return;
@@ -109,13 +109,7 @@
             // force refresh of ivy classpath entry in ui thread
             Display.getDefault().asyncExec(new Runnable() {
                 public void run() {
-                    IvyClasspathContainer ivycp;
-                    try {
-                        ivycp = IvyClasspathUtil.getIvyClassPathContainer(project);
-                    } catch (JavaModelException e) {
-                        Message.error(e.getMessage());
-                        return;
-                    }
+                    IvyClasspathContainer ivycp = IvyClasspathUtil.getIvyClasspathContainer(project);
                     if (ivycp != null) {
                         ivycp.scheduleRefresh(true);
                     }

Modified: ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/cpcontainer/IvyClasspathUtil.java
URL: http://svn.apache.org/viewvc/ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/cpcontainer/IvyClasspathUtil.java?rev=656824&r1=656823&r2=656824&view=diff
==============================================================================
--- ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/cpcontainer/IvyClasspathUtil.java (original)
+++ ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/cpcontainer/IvyClasspathUtil.java Thu May 15 13:37:26 2008
@@ -17,13 +17,15 @@
  */
 package org.apache.ivyde.eclipse.cpcontainer;
 
+import java.io.File;
+import java.net.URI;
+import java.net.URISyntaxException;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collection;
 import java.util.Iterator;
 import java.util.List;
 
-import org.apache.ivy.util.Message;
 import org.apache.ivyde.eclipse.IvyPlugin;
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IAdaptable;
@@ -69,6 +71,7 @@
 
             project.setRawClasspath(entries, project.getOutputLocation(), null);
         } catch (CoreException e) {
+            // unless there are issues with the JDT, this should never happen
             IvyPlugin.log(e);
         }
     }
@@ -108,8 +111,7 @@
      * @return
      * @throws JavaModelException
      */
-    public static IvyClasspathContainer getIvyClasspathContainer(IStructuredSelection selection)
-            throws JavaModelException {
+    public static IvyClasspathContainer getIvyClasspathContainer(IStructuredSelection selection) {
         if (selection == null) {
             return null;
         }
@@ -120,7 +122,7 @@
                 return (IvyClasspathContainer) element;
             }
             if (element instanceof IJavaProject) {
-                return getIvyClassPathContainer((IJavaProject) element);
+                return getIvyClasspathContainer((IJavaProject) element);
             }
             if (element instanceof IAdaptable) {
                 cp = (IvyClasspathContainer) ((IAdaptable) element)
@@ -129,7 +131,7 @@
                     IJavaProject p = (IJavaProject) ((IAdaptable) element)
                             .getAdapter(IJavaProject.class);
                     if (p != null) {
-                        cp = getIvyClassPathContainer(p);
+                        cp = getIvyClasspathContainer(p);
                     }
                 }
             }
@@ -139,37 +141,23 @@
             if (element instanceof ClassPathContainer) {
                 // FIXME: we shouldn't check against internal JDT API but there are not adaptable to
                 // useful class
-                return getIvyClassPathContainer(((ClassPathContainer) element).getJavaProject());
+                return getIvyClasspathContainer(((ClassPathContainer) element).getJavaProject());
             }
         }
         return null;
     }
 
+    public static boolean isIvyClasspathContainer(IPath containerPath) {
+        return containerPath.segment(0).equals(IvyClasspathContainer.IVY_CLASSPATH_CONTAINER_ID);
+    }
+
     /**
      * Search the Ivy classpath container within the specified Java project
      * 
      * @param javaProject
      *            the project to search into
      * @return the Ivy classpath container if found, otherwise return <code>null</code>
-     * @throws JavaModelException
      */
-    public static IvyClasspathContainer getIvyClassPathContainer(IJavaProject javaProject)
-            throws JavaModelException {
-        IClasspathEntry[] cpe = javaProject.getRawClasspath();
-        for (int i = 0; i < cpe.length; i++) {
-            IClasspathEntry entry = cpe[i];
-            if (isIvyClasspathContainer(entry.getPath())) {
-                return (IvyClasspathContainer) JavaCore.getClasspathContainer(entry.getPath(),
-                    javaProject);
-            }
-        }
-        return null;
-    }
-
-    public static boolean isIvyClasspathContainer(IPath containerPath) {
-        return containerPath.segment(0).equals(IvyClasspathContainer.IVY_CLASSPATH_CONTAINER_ID);
-    }
-
     public static IvyClasspathContainer getIvyClasspathContainer(IJavaProject javaProject) {
         try {
             IClasspathEntry[] entries = javaProject.getRawClasspath();
@@ -186,7 +174,8 @@
                 }
             }
         } catch (JavaModelException e) {
-            Message.error(e.getMessage());
+            // unless there are issues with the JDT, this should never happen
+            IvyPlugin.log(e);
         }
         return null;
     }

Modified: ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/cpcontainer/IvyResolveJob.java
URL: http://svn.apache.org/viewvc/ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/cpcontainer/IvyResolveJob.java?rev=656824&r1=656823&r2=656824&view=diff
==============================================================================
--- ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/cpcontainer/IvyResolveJob.java (original)
+++ ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/cpcontainer/IvyResolveJob.java Thu May 15 13:37:26 2008
@@ -18,6 +18,7 @@
 package org.apache.ivyde.eclipse.cpcontainer;
 
 import java.io.File;
+import java.io.FileNotFoundException;
 import java.io.IOException;
 import java.net.MalformedURLException;
 import java.net.URL;
@@ -52,7 +53,6 @@
 import org.apache.ivy.core.resolve.DownloadOptions;
 import org.apache.ivy.core.resolve.ResolveOptions;
 import org.apache.ivy.core.retrieve.RetrieveOptions;
-import org.apache.ivy.plugins.parser.ModuleDescriptorParserRegistry;
 import org.apache.ivy.plugins.report.XmlReportParser;
 import org.apache.ivy.plugins.repository.TransferEvent;
 import org.apache.ivy.plugins.repository.TransferListener;
@@ -94,9 +94,13 @@
 
     private final IvyClasspathContainer container;
 
-    public IvyResolveJob(IvyClasspathContainer container, boolean usePreviousResolveIfExist, boolean notify, IvyClasspathContainerConfiguration conf, IJavaProject javaProject) {
-        super("Resolve " + (javaProject == null ? "" : javaProject.getProject().getName() + "/") + conf.ivyXmlPath
-                + " dependencies");
+    public IvyResolveJob(IvyClasspathContainer container, boolean usePreviousResolveIfExist,
+            boolean notify, IvyClasspathContainerConfiguration conf) throws FileNotFoundException,
+            ParseException, IOException {
+        super("Resolve "
+                + (conf.getJavaProject() == null ? "" : conf.getJavaProject().getProject()
+                        .getName()
+                        + "/") + conf.ivyXmlPath + " dependencies");
         this.container = container;
         _usePreviousResolveIfExist = usePreviousResolveIfExist;
         _notify = notify;
@@ -276,9 +280,9 @@
                         problems.append(msg).append("\n");
                     }
                     status[0] = new Status(IStatus.ERROR, IvyPlugin.ID, IStatus.ERROR,
-                            "Impossible to resolve dependencies of " + conf.md.getModuleRevisionId()
-                                    + ":\n" + problems + "\nSee IvyConsole for further details",
-                            null);
+                            "Impossible to resolve dependencies of "
+                                    + conf.md.getModuleRevisionId() + ":\n" + problems
+                                    + "\nSee IvyConsole for further details", null);
                     return;
                 }
 
@@ -445,8 +449,8 @@
         extraAtt.put("classifier", metaClassifier);
         Artifact metaArtifact = new DefaultArtifact(artifact.getModuleRevisionId(), artifact
                 .getPublicationDate(), artifact.getName(), metaType, "jar", extraAtt);
-        RepositoryCacheManager cache = ivy.getSettings().getResolver(
-            artifact.getModuleRevisionId()).getRepositoryCacheManager();
+        RepositoryCacheManager cache = ivy.getSettings()
+                .getResolver(artifact.getModuleRevisionId()).getRepositoryCacheManager();
         if (cache instanceof DefaultRepositoryCacheManager) {
             File metaArtifactFile = ((DefaultRepositoryCacheManager) cache)
                     .getArchiveFileInCache(metaArtifact);
@@ -460,32 +464,29 @@
                 ivy.getResolveEngine().download(metaArtifact, new DownloadOptions());
                 if (metaArtifactFile.exists()) {
                     return new Path(metaArtifactFile.getAbsolutePath());
-                } else {
-                    // meta artifact not found, we store this information to avoid other
-                    // attempts later
-                    Message.info(metaType + " not found for " + artifact);
-                    try {
-                        attempt.getParentFile().mkdirs();
-                        attempt.createNewFile();
-                    } catch (IOException e) {
-                        Message.error("impossible to create attempt file " + attempt + ": " + e);
-                    }
-                    return null;
                 }
-            }
-        } else {
-            Message.info("checking " + metaType + " for " + artifact);
-            ArtifactDownloadReport metaAdr = ivy.getResolveEngine().download(metaArtifact,
-                new DownloadOptions());
-            if (metaAdr.getLocalFile() != null && metaAdr.getLocalFile().exists()) {
-                return new Path(metaAdr.getLocalFile().getAbsolutePath());
-            } else {
+                // meta artifact not found, we store this information to avoid other
+                // attempts later
                 Message.info(metaType + " not found for " + artifact);
-                Message
-                        .verbose("Attempt not stored in cache because a non Default cache implementation is used.");
+                try {
+                    attempt.getParentFile().mkdirs();
+                    attempt.createNewFile();
+                } catch (IOException e) {
+                    Message.error("impossible to create attempt file " + attempt + ": " + e);
+                }
                 return null;
             }
         }
+        Message.info("checking " + metaType + " for " + artifact);
+        ArtifactDownloadReport metaAdr = ivy.getResolveEngine().download(metaArtifact,
+            new DownloadOptions());
+        if (metaAdr.getLocalFile() != null && metaAdr.getLocalFile().exists()) {
+            return new Path(metaAdr.getLocalFile().getAbsolutePath());
+        }
+        Message.info(metaType + " not found for " + artifact);
+        Message
+                .verbose("Attempt not stored in cache because a non Default cache implementation is used.");
+        return null;
     }
 
     private IPath getSourceAttachment(Path classpathArtifact, Path sourcesArtifact) {
@@ -512,13 +513,22 @@
             classpathArtifact);
 
         if (url == null) {
-            try {
-                Path path = javadocArtifact;
-                if (path != null) {
-                    url = new URL("jar:" + path.toFile().toURI().toURL().toExternalForm() + "!/");
+            Path path = javadocArtifact;
+            if (path != null) {
+                String u;
+                try {
+                    u = "jar:" + path.toFile().toURI().toURL().toExternalForm() + "!/";
+                    try {
+                        url = new URL(u);
+                    } catch (MalformedURLException e) {
+                        // this should not happen
+                        IvyPlugin.log(IStatus.ERROR,
+                            "The jar URL for the javadoc is not formed correctly " + u, e);
+                    }
+                } catch (MalformedURLException e) {
+                    // this should not happen
+                    IvyPlugin.log(IStatus.ERROR, "The path has not a correct URL: " + path, e);
                 }
-            } catch (MalformedURLException e) {
-                // ignored
             }
         }
 

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=656824&r1=656823&r2=656824&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 Thu May 15 13:37:26 2008
@@ -61,7 +61,6 @@
 import org.eclipse.swt.widgets.Button;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.DirectoryDialog;
 import org.eclipse.swt.widgets.Display;
 import org.eclipse.swt.widgets.FileDialog;
 import org.eclipse.swt.widgets.Label;
@@ -164,8 +163,8 @@
                 ((IvyClasspathContainer) cp).scheduleResolve();
             }
         } catch (JavaModelException e) {
-            // TODO Auto-generated catch block
-            e.printStackTrace();
+            // unless there are issues with the JDT, this should never happen
+            IvyPlugin.log(e);
         }
         return true;
     }
@@ -176,8 +175,7 @@
 
     public void setSelection(IClasspathEntry entry) {
         if (entry == null) {
-            conf = new IvyClasspathContainerConfiguration(project, "ivy.xml", Arrays
-                    .asList(new String[] {"*"}));
+            conf = new IvyClasspathContainerConfiguration(project, "ivy.xml");
         } else {
             conf = new IvyClasspathContainerConfiguration(project, entry.getPath());
         }
@@ -232,7 +230,7 @@
         ivyFilePathText.addModifyListener(new ModifyListener() {
             public void modifyText(ModifyEvent e) {
                 conf.ivyXmlPath = ivyFilePathText.getText();
-                checkIvyXmlFile();
+                resolveModuleDescriptor();
                 refreshConfigurationTable();
                 checkCompleted();
             }
@@ -278,7 +276,8 @@
                         }
                     }
                 } else {
-                    FileDialog dialog = new FileDialog(IvyPlugin.getActiveWorkbenchShell(), SWT.OPEN);
+                    FileDialog dialog = new FileDialog(IvyPlugin.getActiveWorkbenchShell(),
+                            SWT.OPEN);
                     dialog.setText("Choose an ivy.xml");
                     path = dialog.open();
                 }
@@ -286,7 +285,7 @@
                 if (path != null) {
                     conf.ivyXmlPath = path;
                     ivyFilePathText.setText(path);
-                    checkIvyXmlFile();
+                    resolveModuleDescriptor();
                     refreshConfigurationTable();
                     checkCompleted();
                 }
@@ -312,6 +311,7 @@
             new GridData(GridData.FILL, GridData.FILL, true, true));
         confTableViewer.setContentProvider(new IStructuredContentProvider() {
             public Object[] getElements(Object inputElement) {
+                resolveModuleDescriptor();
                 if (conf.md != null) {
                     return conf.md.getConfigurations();
                 }
@@ -374,6 +374,8 @@
         projectSpecificButton.addSelectionListener(new SelectionAdapter() {
             public void widgetSelected(SelectionEvent e) {
                 updateFieldsStatus();
+                conf.ivySettingsPath = settingsText.getText();
+                checkCompleted();
             }
         });
 
@@ -403,6 +405,12 @@
         settingsText
                 .setToolTipText("The url where your ivysettings file can be found. \nUse 'default' to reference the default ivy settings. \nRelative paths are handled relative to the project. Example: 'file://./ivysettings.xml'.");
         settingsText.setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, false));
+        settingsText.addModifyListener(new ModifyListener() {
+            public void modifyText(ModifyEvent e) {
+                conf.ivySettingsPath = settingsText.getText();
+                checkCompleted();
+            }
+        });
 
         browse = new Button(configComposite, SWT.NONE);
         browse.setText("Browse");
@@ -413,7 +421,9 @@
                     try {
                         settingsText.setText(f.toURL().toExternalForm());
                     } catch (MalformedURLException ex) {
-                        // this cannot happend
+                        // this cannot happen
+                        IvyPlugin.log(IStatus.ERROR,
+                            "The file got from the file browser has not a valid URL", ex);
                     }
                 }
             }
@@ -498,7 +508,7 @@
     private void loadFromConf() {
         ivyFilePathText.setText(conf.ivyXmlPath);
 
-        checkIvyXmlFile();
+        resolveModuleDescriptor();
 
         confTableViewer.setInput(conf.ivyXmlPath);
         initTableSelection();
@@ -562,7 +572,7 @@
         return null;
     }
 
-    void checkIvyXmlFile() {
+    void resolveModuleDescriptor() {
         try {
             ivyXmlError = null;
             conf.resolveModuleDescriptor();

Modified: ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/cpcontainer/fragmentinfo/PreferenceStoreInfo.java
URL: http://svn.apache.org/viewvc/ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/cpcontainer/fragmentinfo/PreferenceStoreInfo.java?rev=656824&r1=656823&r2=656824&view=diff
==============================================================================
--- ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/cpcontainer/fragmentinfo/PreferenceStoreInfo.java (original)
+++ ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/cpcontainer/fragmentinfo/PreferenceStoreInfo.java Thu May 15 13:37:26 2008
@@ -20,7 +20,9 @@
 import java.net.MalformedURLException;
 import java.net.URL;
 
+import org.apache.ivyde.eclipse.IvyPlugin;
 import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.Path;
 import org.eclipse.jface.preference.IPreferenceStore;
 
@@ -59,6 +61,7 @@
             try {
                 return new URL(srcPath);
             } catch (MalformedURLException e) {
+                IvyPlugin.log(IStatus.WARNING, "The path for the doc attachement is not a valid URL", e);
                 return null;
             }
         }

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=656824&r1=656823&r2=656824&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 Thu May 15 13:37:26 2008
@@ -17,13 +17,11 @@
  */
 package org.apache.ivyde.eclipse.ui.actions;
 
-import org.apache.ivy.util.Message;
 import org.apache.ivyde.eclipse.cpcontainer.IvyClasspathContainer;
 import org.apache.ivyde.eclipse.cpcontainer.IvyClasspathUtil;
 import org.eclipse.core.resources.IFile;
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jdt.core.JavaModelException;
 import org.eclipse.jface.action.IAction;
 import org.eclipse.jface.dialogs.ErrorDialog;
 import org.eclipse.jface.dialogs.MessageDialog;
@@ -53,14 +51,8 @@
      * @see IWorkbenchWindowActionDelegate#run
      */
     public void run(IAction action) {
-        IvyClasspathContainer cp;
-        try {
-            cp = IvyClasspathUtil.getIvyClasspathContainer(IvyClasspathUtil
-                    .getSelectionInJavaPackageView());
-        } catch (JavaModelException e) {
-            Message.error(e.getMessage());
-            return;
-        }
+        IvyClasspathContainer cp = IvyClasspathUtil.getIvyClasspathContainer(IvyClasspathUtil
+                .getSelectionInJavaPackageView());
         if (cp != null) {
             IFile file = cp.getIvyFile();
             IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow()

Modified: ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/actions/RefreshAction.java
URL: http://svn.apache.org/viewvc/ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/actions/RefreshAction.java?rev=656824&r1=656823&r2=656824&view=diff
==============================================================================
--- ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/actions/RefreshAction.java (original)
+++ ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/actions/RefreshAction.java Thu May 15 13:37:26 2008
@@ -17,10 +17,8 @@
  */
 package org.apache.ivyde.eclipse.ui.actions;
 
-import org.apache.ivy.util.Message;
 import org.apache.ivyde.eclipse.cpcontainer.IvyClasspathContainer;
 import org.apache.ivyde.eclipse.cpcontainer.IvyClasspathUtil;
-import org.eclipse.jdt.core.JavaModelException;
 import org.eclipse.jface.action.IAction;
 import org.eclipse.jface.viewers.ISelection;
 import org.eclipse.ui.IWorkbenchWindow;
@@ -42,14 +40,8 @@
      * @see IWorkbenchWindowActionDelegate#run
      */
     public void run(IAction action) {
-        IvyClasspathContainer cp;
-        try {
-            cp = IvyClasspathUtil.getIvyClasspathContainer(IvyClasspathUtil
-                    .getSelectionInJavaPackageView());
-        } catch (JavaModelException e) {
-            Message.error(e.getMessage());
-            return;
-        }
+        IvyClasspathContainer cp = IvyClasspathUtil.getIvyClasspathContainer(IvyClasspathUtil
+                .getSelectionInJavaPackageView());
         if (cp != null) {
             cp.scheduleRefresh(true);
         }

Modified: ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/actions/ResolveAction.java
URL: http://svn.apache.org/viewvc/ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/actions/ResolveAction.java?rev=656824&r1=656823&r2=656824&view=diff
==============================================================================
--- ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/actions/ResolveAction.java (original)
+++ ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/actions/ResolveAction.java Thu May 15 13:37:26 2008
@@ -17,10 +17,8 @@
  */
 package org.apache.ivyde.eclipse.ui.actions;
 
-import org.apache.ivy.util.Message;
 import org.apache.ivyde.eclipse.cpcontainer.IvyClasspathContainer;
 import org.apache.ivyde.eclipse.cpcontainer.IvyClasspathUtil;
-import org.eclipse.jdt.core.JavaModelException;
 import org.eclipse.jface.action.IAction;
 import org.eclipse.jface.viewers.ISelection;
 import org.eclipse.ui.IWorkbenchWindow;
@@ -42,14 +40,8 @@
      * @see IWorkbenchWindowActionDelegate#run
      */
     public void run(IAction action) {
-        IvyClasspathContainer cp;
-        try {
-            cp = IvyClasspathUtil.getIvyClasspathContainer(IvyClasspathUtil
-                    .getSelectionInJavaPackageView());
-        } catch (JavaModelException e) {
-            Message.error(e.getMessage());
-            return;
-        }
+        IvyClasspathContainer cp = IvyClasspathUtil.getIvyClasspathContainer(IvyClasspathUtil
+                .getSelectionInJavaPackageView());
         if (cp != null) {
             cp.scheduleResolve();
         }

Modified: ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/core/model/IvyFile.java
URL: http://svn.apache.org/viewvc/ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/core/model/IvyFile.java?rev=656824&r1=656823&r2=656824&view=diff
==============================================================================
--- ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/core/model/IvyFile.java (original)
+++ ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/core/model/IvyFile.java Thu May 15 13:37:26 2008
@@ -25,6 +25,9 @@
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
+import org.apache.ivyde.eclipse.IvyPlugin;
+import org.eclipse.core.runtime.IStatus;
+
 public class IvyFile {
     private static final Pattern ATTRIBUTE_NAME_PATTERN = Pattern
             .compile("[^\"]*\"[\\s]*=[\\s]*([\\w\\-]+)");
@@ -147,12 +150,8 @@
     }
 
     public int getStringIndexBackward(String string, int documentOffset) {
-        try {
-            String text = _doc.substring(0, documentOffset);
-            return text.lastIndexOf(string);
-        } catch (Exception e) {
-        }
-        return -1;
+        String text = _doc.substring(0, documentOffset);
+        return text.lastIndexOf(string);
     }
 
     public int getStringIndexForward(String string) {
@@ -160,11 +159,7 @@
     }
 
     public int getStringIndexForward(String string, int documentOffset) {
-        try {
-            return _doc.indexOf(string, documentOffset);
-        } catch (Exception e) {
-        }
-        return -1;
+        return _doc.indexOf(string, documentOffset);
     }
 
     public Map getAllAttsValues() {
@@ -208,7 +203,8 @@
                 }
             }
         } catch (Exception e) {
-            e.printStackTrace();
+            // FIXME : what is really catched here ?
+            IvyPlugin.log(IStatus.WARNING, "Something bad happened", e);
         }
         return result;
     }
@@ -400,6 +396,8 @@
                     continue;
                 }
             } catch (IndexOutOfBoundsException e) {
+                // FIXME hu ? need some comments
+                IvyPlugin.log(IStatus.WARNING, "Something bad happened", e);
                 return null;
             }
         }

Modified: ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/core/model/IvyModel.java
URL: http://svn.apache.org/viewvc/ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/core/model/IvyModel.java?rev=656824&r1=656823&r2=656824&view=diff
==============================================================================
--- ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/core/model/IvyModel.java (original)
+++ ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/core/model/IvyModel.java Thu May 15 13:37:26 2008
@@ -40,6 +40,7 @@
 import org.apache.ivyde.eclipse.cpcontainer.IvyClasspathContainer;
 import org.apache.ivyde.eclipse.cpcontainer.IvyClasspathUtil;
 import org.apache.ivyde.eclipse.ui.preferences.PreferenceConstants;
+import org.eclipse.core.runtime.IStatus;
 import org.eclipse.jdt.core.IJavaProject;
 
 public class IvyModel {
@@ -285,11 +286,8 @@
         orgAtt.setValueProvider(new IValueProvider() {
             public String[] getValuesfor(IvyTagAttribute att, IvyFile ivyFile) {
                 List ret = listDependencyTokenValues(att.getName(), ivyFile);
-                try {
-                    ret.add(IvyPlugin.getDefault().getPreferenceStore().getString(
-                        PreferenceConstants.ORGANISATION));
-                } catch (Exception ex) {
-                }
+                ret.add(IvyPlugin.getDefault().getPreferenceStore().getString(
+                    PreferenceConstants.ORGANISATION));
                 String org = ivyFile.getOrganisation();
                 if (org != null) {
                     ret.add(org);
@@ -428,7 +426,8 @@
                     ret.add("*");
                     return (String[]) ret.toArray(new String[ret.size()]);
                 } catch (ParseException e) {
-                    System.err.println(e);
+                    IvyPlugin.log(IStatus.ERROR, "The dependencies of " + mrid
+                            + " could not be parsed", e);
                     return null;
                 }
             }
@@ -482,7 +481,8 @@
                                             ret.add("*");
                                             return (String[]) ret.toArray(new String[ret.size()]);
                                         } catch (ParseException e) {
-                                            System.err.println(e);
+                                            IvyPlugin.log(IStatus.ERROR, "The dependencies of "
+                                                    + mrid + " could not be parsed", e);
                                             return new String[] {"*"};
                                         }
                                     }
@@ -528,7 +528,8 @@
                                                 return (String[]) ret
                                                         .toArray(new String[ret.size()]);
                                             } catch (ParseException e) {
-                                                System.err.println(e);
+                                                IvyPlugin.log(IStatus.ERROR, "The dependencies of "
+                                                        + mrid + " could not be parsed", e);
                                                 return new String[] {"*"};
                                             }
                                         }
@@ -713,7 +714,8 @@
         try {
             _defaults.load(IvyModel.class.getResourceAsStream("defaults.properties"));
         } catch (IOException e) {
-            e.printStackTrace();
+            // should never never happen
+            IvyPlugin.log(IStatus.ERROR, "The default properties could not be loaded", e);
         }
     }
 
@@ -725,7 +727,7 @@
         return IvyPlugin.getIvy(_javaProject);
     }
 
-    private List listDependencyTokenValues(String att, IvyFile ivyfile) {
+    List listDependencyTokenValues(String att, IvyFile ivyfile) {
         Map allAttsValues = ivyfile.getAllAttsValues();
         String org = ivyfile.getOrganisation();
         if (org != null && !allAttsValues.containsKey("org")) {

Modified: ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/core/model/PreferenceValueProvider.java
URL: http://svn.apache.org/viewvc/ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/core/model/PreferenceValueProvider.java?rev=656824&r1=656823&r2=656824&view=diff
==============================================================================
--- ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/core/model/PreferenceValueProvider.java (original)
+++ ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/core/model/PreferenceValueProvider.java Thu May 15 13:37:26 2008
@@ -27,10 +27,6 @@
     }
 
     public String[] getValuesfor(IvyTagAttribute att, IvyFile ivyFile) {
-        try {
-            return new String[] {IvyPlugin.getDefault().getPreferenceStore().getString(_name)};
-        } catch (Exception e) {
-            return null;
-        }
+        return new String[] {IvyPlugin.getDefault().getPreferenceStore().getString(_name)};
     }
 }

Modified: ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/editors/IvyEditor.java
URL: http://svn.apache.org/viewvc/ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/editors/IvyEditor.java?rev=656824&r1=656823&r2=656824&view=diff
==============================================================================
--- ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/editors/IvyEditor.java (original)
+++ ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/editors/IvyEditor.java Thu May 15 13:37:26 2008
@@ -17,6 +17,7 @@
  */
 package org.apache.ivyde.eclipse.ui.editors;
 
+import org.apache.ivyde.eclipse.IvyPlugin;
 import org.apache.ivyde.eclipse.cpcontainer.IvyClasspathContainer;
 import org.apache.ivyde.eclipse.cpcontainer.IvyClasspathUtil;
 import org.apache.ivyde.eclipse.ui.core.IvyFileEditorInput;
@@ -29,6 +30,7 @@
 import org.eclipse.core.resources.IResourceChangeListener;
 import org.eclipse.core.resources.ResourcesPlugin;
 import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
 import org.eclipse.jdt.core.IJavaProject;
 import org.eclipse.jdt.core.JavaCore;
 import org.eclipse.jface.dialogs.ErrorDialog;
@@ -96,8 +98,8 @@
             int index = addPage(new OverviewFormPage(this));
             setPageText(index, "Information");
         } catch (PartInitException e) {
-            // TODO Auto-generated catch block
-            e.printStackTrace();
+            // Should not happen
+            IvyPlugin.log(IStatus.ERROR, "The overview page could not be created", e);
         }
 
     }

Modified: ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/editors/xml/IvyContentAssistProcessor.java
URL: http://svn.apache.org/viewvc/ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/editors/xml/IvyContentAssistProcessor.java?rev=656824&r1=656823&r2=656824&view=diff
==============================================================================
--- ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/editors/xml/IvyContentAssistProcessor.java (original)
+++ ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/editors/xml/IvyContentAssistProcessor.java Thu May 15 13:37:26 2008
@@ -24,6 +24,7 @@
 import java.util.List;
 import java.util.Map;
 
+import org.apache.ivyde.eclipse.IvyPlugin;
 import org.apache.ivyde.eclipse.ui.core.model.IvyFile;
 import org.apache.ivyde.eclipse.ui.core.model.IvyModel;
 import org.apache.ivyde.eclipse.ui.core.model.IvyTag;
@@ -31,6 +32,7 @@
 import org.apache.ivyde.eclipse.ui.core.model.Proposal;
 import org.eclipse.core.resources.IFile;
 import org.eclipse.core.resources.IProject;
+import org.eclipse.core.runtime.IStatus;
 import org.eclipse.jdt.core.IJavaProject;
 import org.eclipse.jdt.core.JavaCore;
 import org.eclipse.jface.text.BadLocationException;
@@ -66,7 +68,9 @@
         try {
             ivyFileString = doc.get(0, doc.getLength());
         } catch (BadLocationException e) {
-            e.printStackTrace();
+            // Unless there is a bug in JFace, this should never never happen
+            IvyPlugin.log(IStatus.ERROR, "Getting the content of the document " + doc.toString()
+                    + " failed", e);
             return null;
         }
         IProject project = getProject();

Modified: ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/editors/xml/NonRuleBasedDamagerRepairer.java
URL: http://svn.apache.org/viewvc/ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/editors/xml/NonRuleBasedDamagerRepairer.java?rev=656824&r1=656823&r2=656824&view=diff
==============================================================================
--- ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/editors/xml/NonRuleBasedDamagerRepairer.java (original)
+++ ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/editors/xml/NonRuleBasedDamagerRepairer.java Thu May 15 13:37:26 2008
@@ -17,6 +17,8 @@
  */
 package org.apache.ivyde.eclipse.ui.editors.xml;
 
+import org.apache.ivyde.eclipse.IvyPlugin;
+import org.eclipse.core.runtime.IStatus;
 import org.eclipse.jface.text.BadLocationException;
 import org.eclipse.jface.text.DocumentEvent;
 import org.eclipse.jface.text.IDocument;
@@ -103,6 +105,8 @@
                 return new Region(start, end - start);
 
             } catch (BadLocationException x) {
+                // FIXME hu ? needs some comment
+                IvyPlugin.log(IStatus.WARNING, "Something bad happened", x);
             }
         }
 

Modified: ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/editors/xml/XMLDoubleClickStrategy.java
URL: http://svn.apache.org/viewvc/ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/editors/xml/XMLDoubleClickStrategy.java?rev=656824&r1=656823&r2=656824&view=diff
==============================================================================
--- ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/editors/xml/XMLDoubleClickStrategy.java (original)
+++ ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/editors/xml/XMLDoubleClickStrategy.java Thu May 15 13:37:26 2008
@@ -17,6 +17,8 @@
  */
 package org.apache.ivyde.eclipse.ui.editors.xml;
 
+import org.apache.ivyde.eclipse.IvyPlugin;
+import org.eclipse.core.runtime.IStatus;
 import org.eclipse.jface.text.BadLocationException;
 import org.eclipse.jface.text.IDocument;
 import org.eclipse.jface.text.ITextDoubleClickStrategy;
@@ -82,6 +84,8 @@
             fText.setSelectedRange(offset, len);
             return true;
         } catch (BadLocationException x) {
+            // FIXME hu ? needs some comment
+            IvyPlugin.log(IStatus.WARNING, "Something bad happened", x);
         }
 
         return false;
@@ -121,6 +125,8 @@
             return true;
 
         } catch (BadLocationException x) {
+            // FIXME hu ? needs some comment
+            IvyPlugin.log(IStatus.WARNING, "Something bad happened", x);
         }
 
         return false;

Modified: ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/preferences/IvyPreferencePage.java
URL: http://svn.apache.org/viewvc/ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/preferences/IvyPreferencePage.java?rev=656824&r1=656823&r2=656824&view=diff
==============================================================================
--- ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/preferences/IvyPreferencePage.java (original)
+++ ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/preferences/IvyPreferencePage.java Thu May 15 13:37:26 2008
@@ -22,6 +22,7 @@
 
 import org.apache.ivy.Ivy;
 import org.apache.ivyde.eclipse.IvyPlugin;
+import org.eclipse.core.runtime.IStatus;
 import org.eclipse.jface.preference.BooleanFieldEditor;
 import org.eclipse.jface.preference.FieldEditorPreferencePage;
 import org.eclipse.jface.preference.FileFieldEditor;
@@ -89,13 +90,14 @@
                 String f = super.changePressed();
                 if (f == null) {
                     return null;
-                } else {
-                    File d = new File(f);
-                    try {
-                        return d.toURL().toExternalForm();
-                    } catch (MalformedURLException e) {
-                        return null;
-                    }
+                }
+                File d = new File(f);
+                try {
+                    return d.toURL().toExternalForm();
+                } catch (MalformedURLException e) {
+                    // should never happen
+                    IvyPlugin.log(IStatus.ERROR, "A file from the file chooser is not an URL", e);
+                    return null;
                 }
             }
 
@@ -198,8 +200,9 @@
         spacerData.horizontalSpan = 3;
         spacer.setLayoutData(spacerData);
 
-        BooleanFieldEditor alphaOrder = new BooleanFieldEditor(PreferenceConstants.ALPHABETICAL_ORDER,
-            "Order alphabetically the artifacts in the classpath container", fieldParent);
+        BooleanFieldEditor alphaOrder = new BooleanFieldEditor(
+                PreferenceConstants.ALPHABETICAL_ORDER,
+                "Order alphabetically the artifacts in the classpath container", fieldParent);
         addField(alphaOrder);
 
         spacer = new Label(fieldParent, SWT.NONE);

Modified: ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/views/ReportView.java
URL: http://svn.apache.org/viewvc/ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/views/ReportView.java?rev=656824&r1=656823&r2=656824&view=diff
==============================================================================
--- ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/views/ReportView.java (original)
+++ ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/views/ReportView.java Thu May 15 13:37:26 2008
@@ -22,7 +22,6 @@
 import org.apache.ivy.util.Message;
 import org.apache.ivyde.eclipse.cpcontainer.IvyClasspathContainer;
 import org.apache.ivyde.eclipse.cpcontainer.IvyClasspathUtil;
-import org.eclipse.jdt.core.JavaModelException;
 import org.eclipse.jface.viewers.ISelection;
 import org.eclipse.jface.viewers.IStructuredSelection;
 import org.eclipse.swt.SWT;
@@ -51,13 +50,8 @@
 
     public void selectionChanged(IWorkbenchPart part, ISelection sel) {
         if (sel instanceof IStructuredSelection) {
-            IvyClasspathContainer ivycp;
-            try {
-                ivycp = IvyClasspathUtil.getIvyClasspathContainer((IStructuredSelection) sel);
-            } catch (JavaModelException e) {
-                Message.error(e.getMessage());
-                return;
-            }
+            IvyClasspathContainer ivycp = IvyClasspathUtil
+                    .getIvyClasspathContainer((IStructuredSelection) sel);
             if (ivycp != null) {
                 _browser.setUrl("");
                 URL report = ivycp.getReportUrl();

Modified: ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/wizards/IvyNewWizard.java
URL: http://svn.apache.org/viewvc/ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/wizards/IvyNewWizard.java?rev=656824&r1=656823&r2=656824&view=diff
==============================================================================
--- ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/wizards/IvyNewWizard.java (original)
+++ ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/wizards/IvyNewWizard.java Thu May 15 13:37:26 2008
@@ -24,6 +24,7 @@
 import java.io.InputStreamReader;
 import java.lang.reflect.InvocationTargetException;
 
+import org.apache.ivyde.eclipse.IvyPlugin;
 import org.apache.ivyde.eclipse.ui.core.IvyFileEditorInput;
 import org.apache.ivyde.eclipse.ui.editors.IvyEditor;
 import org.eclipse.core.resources.IContainer;
@@ -145,6 +146,8 @@
             }
             stream.close();
         } catch (IOException e) {
+            throw new CoreException(new Status(IStatus.ERROR, IvyPlugin.ID,
+                    "The ivy.xml could not be created", e));
         }
         monitor.worked(1);
         monitor.setTaskName("Opening file for editing...");
@@ -156,6 +159,8 @@
                     page.openEditor(new IvyFileEditorInput(file), IvyEditor.ID, true);
                     // IDE.openEditor(page, file, IvyEditor.ID, true);
                 } catch (PartInitException e) {
+                    // this should not happen
+                    IvyPlugin.log(IStatus.ERROR, "The editor could not be opened", e);
                 }
             }
         });

Modified: ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/wizards/IvyNewWizardPage.java
URL: http://svn.apache.org/viewvc/ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/wizards/IvyNewWizardPage.java?rev=656824&r1=656823&r2=656824&view=diff
==============================================================================
--- ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/wizards/IvyNewWizardPage.java (original)
+++ ant/ivy/ivyde/trunk/org.apache.ivyde.eclipse/src/java/org/apache/ivyde/eclipse/ui/wizards/IvyNewWizardPage.java Thu May 15 13:37:26 2008
@@ -169,26 +169,25 @@
         if (selection != null && selection.isEmpty() == false
                 && selection instanceof IStructuredSelection) {
             IStructuredSelection ssel = (IStructuredSelection) selection;
-            if (ssel.size() > 1)
+            if (ssel.size() > 1) {
                 return;
+            }
             Object obj = ssel.getFirstElement();
             if (obj instanceof IResource) {
                 IContainer container;
-                if (obj instanceof IContainer)
+                if (obj instanceof IContainer) {
                     container = (IContainer) obj;
-                else
+                } else {
                     container = ((IResource) obj).getParent();
+                }
                 containerText.setText(container.getFullPath().toString());
                 moduleText.setText(container.getProject().getName());
             }
         }
         fileText.setText("ivy.xml");
         statusText.select(0);
-        try {
-            orgText.setText(IvyPlugin.getDefault().getPreferenceStore().getString(
-                PreferenceConstants.ORGANISATION));
-        } catch (Exception ex) {
-        }
+        orgText.setText(IvyPlugin.getDefault().getPreferenceStore().getString(
+            PreferenceConstants.ORGANISATION));
     }
 
     /**