comparison flys-client/src/main/java/de/intevation/flys/client/server/AdvanceServiceImpl.java @ 215:e02f50a3ad59

Improved the exception handling of artifact / collection specific operations. Warning dialog are displayed after such an exception. flys-client/trunk@1657 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Fri, 08 Apr 2011 08:51:28 +0000
parents 88c530c25968
children 924da6695800
comparison
equal deleted inserted replaced
214:29c6d9573ae7 215:e02f50a3ad59
11 import de.intevation.artifacts.httpclient.exceptions.ConnectionException; 11 import de.intevation.artifacts.httpclient.exceptions.ConnectionException;
12 import de.intevation.artifacts.httpclient.http.HttpClient; 12 import de.intevation.artifacts.httpclient.http.HttpClient;
13 import de.intevation.artifacts.httpclient.http.HttpClientImpl; 13 import de.intevation.artifacts.httpclient.http.HttpClientImpl;
14 import de.intevation.artifacts.httpclient.http.response.DocumentResponseHandler; 14 import de.intevation.artifacts.httpclient.http.response.DocumentResponseHandler;
15 15
16 import de.intevation.flys.client.shared.exceptions.ServerException;
16 import de.intevation.flys.client.shared.model.Artifact; 17 import de.intevation.flys.client.shared.model.Artifact;
17 import de.intevation.flys.client.client.services.AdvanceService; 18 import de.intevation.flys.client.client.services.AdvanceService;
18 19
19 20
20 /** 21 /**
28 { 29 {
29 public static final String XPATH_RESULT = "/art:result/text()"; 30 public static final String XPATH_RESULT = "/art:result/text()";
30 31
31 public static final String OPERATION_FAILURE = "FAILED"; 32 public static final String OPERATION_FAILURE = "FAILED";
32 33
34 public static final String ERROR_ADVANCE_ARTIFACT = "error_advance_artifact";
33 35
34 public Artifact advance(String serverUrl, Artifact artifact, String target){ 36
37 public Artifact advance(String serverUrl, Artifact artifact, String target)
38 throws ServerException
39 {
35 Document advance = ClientProtocolUtils.newAdvanceDocument( 40 Document advance = ClientProtocolUtils.newAdvanceDocument(
36 artifact.getUuid(), 41 artifact.getUuid(),
37 artifact.getHash(), 42 artifact.getHash(),
38 target); 43 target);
39 44
46 artifact.getHash()), 51 artifact.getHash()),
47 advance, 52 advance,
48 new DocumentResponseHandler()); 53 new DocumentResponseHandler());
49 54
50 if (description == null) { 55 if (description == null) {
51 return null; 56 throw new ServerException(ERROR_ADVANCE_ARTIFACT);
52 } 57 }
53 58
54 String result = XMLUtils.xpathString( 59 String result = XMLUtils.xpathString(
55 description, 60 description,
56 XPATH_RESULT, 61 XPATH_RESULT,
62 } 67 }
63 catch (ConnectionException ce) { 68 catch (ConnectionException ce) {
64 System.err.println(ce.getLocalizedMessage()); 69 System.err.println(ce.getLocalizedMessage());
65 } 70 }
66 71
67 return null; 72 throw new ServerException(ERROR_ADVANCE_ARTIFACT);
68 } 73 }
69 } 74 }
70 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : 75 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org