Mercurial > dive4elements > framework
annotate artifact-database/src/main/java/org/dive4elements/artifactdatabase/DefaultService.java @ 570:584591f8203c 3.2.x
Upgrade to Log4j 2
author | Tom Gottfried <tom@intevation.de> |
---|---|
date | Mon, 28 Feb 2022 17:41:14 +0100 |
parents | 415df0fc4fa1 |
children |
rev | line source |
---|---|
100
933bbc9fc11f
Added license file and license headers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
90
diff
changeset
|
1 /* |
933bbc9fc11f
Added license file and license headers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
90
diff
changeset
|
2 * Copyright (c) 2010 by Intevation GmbH |
933bbc9fc11f
Added license file and license headers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
90
diff
changeset
|
3 * |
933bbc9fc11f
Added license file and license headers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
90
diff
changeset
|
4 * This program is free software under the LGPL (>=v2.1) |
933bbc9fc11f
Added license file and license headers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
90
diff
changeset
|
5 * Read the file LGPL.txt coming with the software for details |
933bbc9fc11f
Added license file and license headers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
90
diff
changeset
|
6 * or visit http://www.gnu.org/licenses/ if it does not exist. |
933bbc9fc11f
Added license file and license headers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
90
diff
changeset
|
7 */ |
933bbc9fc11f
Added license file and license headers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
90
diff
changeset
|
8 |
475
415df0fc4fa1
Fixed maven group ids
Sascha L. Teichmann <teichmann@intevation.de>
parents:
473
diff
changeset
|
9 package org.dive4elements.artifactdatabase; |
69
498bb84334d0
Added base class for services and service factories.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
10 |
475
415df0fc4fa1
Fixed maven group ids
Sascha L. Teichmann <teichmann@intevation.de>
parents:
473
diff
changeset
|
11 import org.dive4elements.artifacts.CallMeta; |
415df0fc4fa1
Fixed maven group ids
Sascha L. Teichmann <teichmann@intevation.de>
parents:
473
diff
changeset
|
12 import org.dive4elements.artifacts.Service; |
415df0fc4fa1
Fixed maven group ids
Sascha L. Teichmann <teichmann@intevation.de>
parents:
473
diff
changeset
|
13 import org.dive4elements.artifacts.GlobalContext; |
415df0fc4fa1
Fixed maven group ids
Sascha L. Teichmann <teichmann@intevation.de>
parents:
473
diff
changeset
|
14 import org.dive4elements.artifacts.ServiceFactory; |
69
498bb84334d0
Added base class for services and service factories.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
15 |
570 | 16 import org.apache.logging.log4j.Logger; |
17 import org.apache.logging.log4j.LogManager; | |
69
498bb84334d0
Added base class for services and service factories.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
18 |
498bb84334d0
Added base class for services and service factories.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
19 import org.w3c.dom.Document; |
498bb84334d0
Added base class for services and service factories.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
20 |
89
d348fe1fd822
More javadoc (fixes small glitches, too).
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
69
diff
changeset
|
21 /** |
d348fe1fd822
More javadoc (fixes small glitches, too).
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
69
diff
changeset
|
22 * Trivial implementation of an artifact database service. Useful to |
d348fe1fd822
More javadoc (fixes small glitches, too).
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
69
diff
changeset
|
23 * be subclassed. |
90
68285f7bc476
More javadoc.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
89
diff
changeset
|
24 * |
89
d348fe1fd822
More javadoc (fixes small glitches, too).
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
69
diff
changeset
|
25 * @author <a href="mailto:sascha.teichmann@intevation.de">Sascha L. Teichmann</a> |
d348fe1fd822
More javadoc (fixes small glitches, too).
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
69
diff
changeset
|
26 */ |
69
498bb84334d0
Added base class for services and service factories.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
27 public class DefaultService |
498bb84334d0
Added base class for services and service factories.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
28 implements Service |
498bb84334d0
Added base class for services and service factories.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
29 { |
570 | 30 private static Logger logger = LogManager.getLogger(DefaultService.class); |
69
498bb84334d0
Added base class for services and service factories.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
31 |
380
9798e4d83681
Services are now able to return more than just XML documents.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
299
diff
changeset
|
32 public static class Output implements Service.Output { |
9798e4d83681
Services are now able to return more than just XML documents.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
299
diff
changeset
|
33 |
9798e4d83681
Services are now able to return more than just XML documents.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
299
diff
changeset
|
34 protected Object data; |
9798e4d83681
Services are now able to return more than just XML documents.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
299
diff
changeset
|
35 protected String mimeType; |
9798e4d83681
Services are now able to return more than just XML documents.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
299
diff
changeset
|
36 |
9798e4d83681
Services are now able to return more than just XML documents.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
299
diff
changeset
|
37 public Output() { |
9798e4d83681
Services are now able to return more than just XML documents.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
299
diff
changeset
|
38 } |
9798e4d83681
Services are now able to return more than just XML documents.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
299
diff
changeset
|
39 |
9798e4d83681
Services are now able to return more than just XML documents.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
299
diff
changeset
|
40 public Output(Object data, String mimeType) { |
9798e4d83681
Services are now able to return more than just XML documents.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
299
diff
changeset
|
41 this.data = data; |
9798e4d83681
Services are now able to return more than just XML documents.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
299
diff
changeset
|
42 this.mimeType = mimeType; |
9798e4d83681
Services are now able to return more than just XML documents.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
299
diff
changeset
|
43 } |
9798e4d83681
Services are now able to return more than just XML documents.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
299
diff
changeset
|
44 |
9798e4d83681
Services are now able to return more than just XML documents.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
299
diff
changeset
|
45 @Override |
9798e4d83681
Services are now able to return more than just XML documents.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
299
diff
changeset
|
46 public Object getData() { |
9798e4d83681
Services are now able to return more than just XML documents.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
299
diff
changeset
|
47 return data; |
9798e4d83681
Services are now able to return more than just XML documents.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
299
diff
changeset
|
48 } |
9798e4d83681
Services are now able to return more than just XML documents.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
299
diff
changeset
|
49 |
9798e4d83681
Services are now able to return more than just XML documents.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
299
diff
changeset
|
50 @Override |
9798e4d83681
Services are now able to return more than just XML documents.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
299
diff
changeset
|
51 public String getMIMEType() { |
9798e4d83681
Services are now able to return more than just XML documents.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
299
diff
changeset
|
52 return mimeType; |
9798e4d83681
Services are now able to return more than just XML documents.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
299
diff
changeset
|
53 } |
9798e4d83681
Services are now able to return more than just XML documents.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
299
diff
changeset
|
54 } // class Output |
9798e4d83681
Services are now able to return more than just XML documents.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
299
diff
changeset
|
55 |
299
a8d62eb93cd4
Services now take GlobalContext on setup and process.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
207
diff
changeset
|
56 @Override |
380
9798e4d83681
Services are now able to return more than just XML documents.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
299
diff
changeset
|
57 public Service.Output process( |
299
a8d62eb93cd4
Services now take GlobalContext on setup and process.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
207
diff
changeset
|
58 Document data, |
a8d62eb93cd4
Services now take GlobalContext on setup and process.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
207
diff
changeset
|
59 GlobalContext globalContext, |
a8d62eb93cd4
Services now take GlobalContext on setup and process.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
207
diff
changeset
|
60 CallMeta callMeta |
89
d348fe1fd822
More javadoc (fixes small glitches, too).
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
69
diff
changeset
|
61 ) { |
299
a8d62eb93cd4
Services now take GlobalContext on setup and process.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
207
diff
changeset
|
62 logger.debug("Service.process"); |
380
9798e4d83681
Services are now able to return more than just XML documents.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
299
diff
changeset
|
63 return new Output(new byte[0], "application/octet-stream"); |
69
498bb84334d0
Added base class for services and service factories.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
64 } |
498bb84334d0
Added base class for services and service factories.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
65 |
299
a8d62eb93cd4
Services now take GlobalContext on setup and process.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
207
diff
changeset
|
66 @Override |
a8d62eb93cd4
Services now take GlobalContext on setup and process.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
207
diff
changeset
|
67 public void setup(ServiceFactory factory, GlobalContext globalContext) { |
a8d62eb93cd4
Services now take GlobalContext on setup and process.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
207
diff
changeset
|
68 logger.debug("Service.setup"); |
69
498bb84334d0
Added base class for services and service factories.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
69 } |
498bb84334d0
Added base class for services and service factories.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
70 } |
498bb84334d0
Added base class for services and service factories.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
71 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |