Mercurial > dive4elements > river
comparison flys-client/src/main/java/de/intevation/flys/client/server/AddArtifactServiceImpl.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 | f7967d12ce6e |
children | 924da6695800 |
comparison
equal
deleted
inserted
replaced
214:29c6d9573ae7 | 215:e02f50a3ad59 |
---|---|
7 import de.intevation.artifacts.httpclient.exceptions.ConnectionException; | 7 import de.intevation.artifacts.httpclient.exceptions.ConnectionException; |
8 import de.intevation.artifacts.httpclient.http.HttpClient; | 8 import de.intevation.artifacts.httpclient.http.HttpClient; |
9 import de.intevation.artifacts.httpclient.http.HttpClientImpl; | 9 import de.intevation.artifacts.httpclient.http.HttpClientImpl; |
10 import de.intevation.artifacts.httpclient.http.response.DocumentResponseHandler; | 10 import de.intevation.artifacts.httpclient.http.response.DocumentResponseHandler; |
11 | 11 |
12 import de.intevation.flys.client.shared.exceptions.ServerException; | |
12 import de.intevation.flys.client.shared.model.Artifact; | 13 import de.intevation.flys.client.shared.model.Artifact; |
13 import de.intevation.flys.client.shared.model.Collection; | 14 import de.intevation.flys.client.shared.model.Collection; |
14 import de.intevation.flys.client.client.services.AddArtifactService; | 15 import de.intevation.flys.client.client.services.AddArtifactService; |
15 | 16 |
16 | 17 |
19 */ | 20 */ |
20 public class AddArtifactServiceImpl | 21 public class AddArtifactServiceImpl |
21 extends DescribeCollectionServiceImpl | 22 extends DescribeCollectionServiceImpl |
22 implements AddArtifactService | 23 implements AddArtifactService |
23 { | 24 { |
24 public Collection add(Collection collection, Artifact artifact, String url) { | 25 public static final String ERROR_ADD_ARTIFACT = "error_add_artifact"; |
26 | |
27 public Collection add(Collection collection, Artifact artifact, String url) | |
28 throws ServerException | |
29 { | |
25 System.out.println("AddArtifactServiceImpl.add"); | 30 System.out.println("AddArtifactServiceImpl.add"); |
26 | 31 |
27 Document add = ClientProtocolUtils.newAddArtifactDocument( | 32 Document add = ClientProtocolUtils.newAddArtifactDocument( |
28 artifact.getUuid(), null); | 33 artifact.getUuid(), null); |
29 | 34 |
34 add, collection.identifier(), new DocumentResponseHandler()); | 39 add, collection.identifier(), new DocumentResponseHandler()); |
35 | 40 |
36 Collection c = parseCollection(response); | 41 Collection c = parseCollection(response); |
37 | 42 |
38 if (c == null) { | 43 if (c == null) { |
39 throw new NullPointerException("No collection returned."); | 44 throw new ServerException(ERROR_ADD_ARTIFACT); |
40 } | 45 } |
41 | 46 |
42 return c; | 47 return c; |
43 } | 48 } |
44 catch (ConnectionException ce) { | 49 catch (ConnectionException ce) { |
45 System.err.println(ce.getLocalizedMessage()); | 50 System.err.println(ce.getLocalizedMessage()); |
51 | |
46 } | 52 } |
47 | 53 |
48 return null; | 54 throw new ServerException(ERROR_ADD_ARTIFACT); |
49 } | 55 } |
50 } | 56 } |
51 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : | 57 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |