diff gnv/src/main/java/de/intevation/gnv/action/NextArtifactStepAction.java @ 665:27f25b9ae9af

Improved exception handling. Display error messages after invalid user input. gnv/trunk@758 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Wed, 10 Mar 2010 13:41:53 +0000
parents df78178e1180
children 15ac78a91d1b
line wrap: on
line diff
--- a/gnv/src/main/java/de/intevation/gnv/action/NextArtifactStepAction.java	Tue Mar 09 15:29:44 2010 +0000
+++ b/gnv/src/main/java/de/intevation/gnv/action/NextArtifactStepAction.java	Wed Mar 10 13:41:53 2010 +0000
@@ -7,6 +7,8 @@
 
 import de.intevation.gnv.artifactdatabase.client.ArtifactDatabaseClient;
 import de.intevation.gnv.artifactdatabase.client.ArtifactDatabaseClientFactory;
+import de.intevation.gnv.artifactdatabase.client.exception.ArtifactDatabaseClientException;
+import de.intevation.gnv.artifactdatabase.client.exception.ArtifactDatabaseInputException;
 
 import de.intevation.gnv.artifactdatabase.objects.ArtifactDescription;
 import de.intevation.gnv.artifactdatabase.objects.DefaultInputParameter;
@@ -99,11 +101,20 @@
                             target,
                             ips
                         );
-                    } catch (Exception e) {
+                    }
+                    catch (ArtifactDatabaseInputException e) {
+                        log.debug("================ CATCH ME ======================");
+                        log.debug("===== ERROR MSG: " + e.getMessage());
                         log.error(e, e);
                         request.setAttribute(
-                                CommunicationKeys.REQUEST_EXCEPTION_MESSAGE_ID, e
-                                        .getMessage());
+                            CommunicationKeys.REQUEST_EXCEPTION_INPUT_ID,
+                            e.getMessage());
+                    }
+                    catch (Exception e) {
+                        log.error(e, e);
+                        request.setAttribute(
+                            CommunicationKeys.REQUEST_EXCEPTION_MESSAGE_ID,
+                            e.getMessage());
                     }
     
                     Map tmpOuts = ad.getOutputModes();
@@ -121,7 +132,16 @@
                         
                         request.setAttribute("diagramm", true);
                         
-                    } catch (Exception e) {
+                    }
+                    catch (ArtifactDatabaseInputException e) {
+                        log.debug("================ CATCH ME ======================");
+                        log.debug("===== ERROR MSG: " + e.getMessage());
+                        log.error(e, e);
+                        request.setAttribute(
+                            CommunicationKeys.REQUEST_EXCEPTION_INPUT_ID,
+                            e.getMessage());
+                    }
+                    catch (Exception e) {
                         log.error(e, e);
                         request.setAttribute(
                             CommunicationKeys.REQUEST_EXCEPTION_MESSAGE_ID,

http://dive4elements.wald.intevation.org