Mercurial > dive4elements > framework
comparison artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java @ 246:a8a06bbe306c
Added calls to call init/close for call contextes.
artifacts/trunk@1686 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Thu, 14 Apr 2011 11:18:10 +0000 |
parents | 16cd059945e5 |
children | 3a1209f214f5 |
comparison
equal
deleted
inserted
replaced
245:def3daabc5b5 | 246:a8a06bbe306c |
---|---|
271 | 271 |
272 ArtifactCallContext cc = new ArtifactCallContext( | 272 ArtifactCallContext cc = new ArtifactCallContext( |
273 ArtifactDatabaseImpl.this, | 273 ArtifactDatabaseImpl.this, |
274 CallContext.TOUCH, | 274 CallContext.TOUCH, |
275 callMeta, | 275 callMeta, |
276 context, | |
277 artifact); | 276 artifact); |
278 | 277 |
279 try { | 278 try { |
280 artifact.getArtifact().out(format, output, cc); | 279 artifact.getArtifact().out(format, output, cc); |
281 } | 280 } |
334 | 333 |
335 CollectionCallContext cc = new CollectionCallContext( | 334 CollectionCallContext cc = new CollectionCallContext( |
336 ArtifactDatabaseImpl.this, | 335 ArtifactDatabaseImpl.this, |
337 CallContext.TOUCH, | 336 CallContext.TOUCH, |
338 callMeta, | 337 callMeta, |
339 context, | |
340 collection); | 338 collection); |
341 | 339 |
342 try { | 340 try { |
343 collection.out(format, output, cc); | 341 collection.out(format, output, cc); |
344 } | 342 } |
636 | 634 |
637 ArtifactCallContext cc = new ArtifactCallContext( | 635 ArtifactCallContext cc = new ArtifactCallContext( |
638 ArtifactDatabaseImpl.this, | 636 ArtifactDatabaseImpl.this, |
639 CallContext.NOTHING, | 637 CallContext.NOTHING, |
640 callMeta, | 638 callMeta, |
641 context, | |
642 persistentArtifact); | 639 persistentArtifact); |
643 | 640 |
644 try { | 641 try { |
645 return artifact.describe(null, cc); | 642 return artifact.describe(null, cc); |
646 } | 643 } |
665 | 662 |
666 ArtifactCallContext cc = new ArtifactCallContext( | 663 ArtifactCallContext cc = new ArtifactCallContext( |
667 ArtifactDatabaseImpl.this, | 664 ArtifactDatabaseImpl.this, |
668 CallContext.TOUCH, | 665 CallContext.TOUCH, |
669 callMeta, | 666 callMeta, |
670 context, | |
671 artifact); | 667 artifact); |
672 | 668 |
673 try { | 669 try { |
674 return artifact.getArtifact().describe(data, cc); | 670 return artifact.getArtifact().describe(data, cc); |
675 } | 671 } |
694 | 690 |
695 ArtifactCallContext cc = new ArtifactCallContext( | 691 ArtifactCallContext cc = new ArtifactCallContext( |
696 ArtifactDatabaseImpl.this, | 692 ArtifactDatabaseImpl.this, |
697 CallContext.STORE, | 693 CallContext.STORE, |
698 callMeta, | 694 callMeta, |
699 context, | |
700 artifact); | 695 artifact); |
701 | 696 |
702 try { | 697 try { |
703 return artifact.getArtifact().advance(target, cc); | 698 return artifact.getArtifact().advance(target, cc); |
704 } | 699 } |
719 | 714 |
720 ArtifactCallContext cc = new ArtifactCallContext( | 715 ArtifactCallContext cc = new ArtifactCallContext( |
721 ArtifactDatabaseImpl.this, | 716 ArtifactDatabaseImpl.this, |
722 CallContext.STORE, | 717 CallContext.STORE, |
723 callMeta, | 718 callMeta, |
724 context, | |
725 artifact); | 719 artifact); |
726 | 720 |
721 initCallContext(cc); | |
727 try { | 722 try { |
728 return artifact.getArtifact().feed(data, cc); | 723 return artifact.getArtifact().feed(data, cc); |
729 } | 724 } |
730 finally { | 725 finally { |
731 cc.postCall(); | 726 cc.postCall(); |
727 closeCallContext(cc); | |
732 } | 728 } |
733 } | 729 } |
734 | 730 |
735 public DeferredOutput out( | 731 public DeferredOutput out( |
736 String identifier, | 732 String identifier, |
924 | 920 |
925 ArtifactCallContext cc = new ArtifactCallContext( | 921 ArtifactCallContext cc = new ArtifactCallContext( |
926 ArtifactDatabaseImpl.this, | 922 ArtifactDatabaseImpl.this, |
927 CallContext.NOTHING, | 923 CallContext.NOTHING, |
928 callMeta, | 924 callMeta, |
929 context, | |
930 persistentArtifact); | 925 persistentArtifact); |
931 | 926 |
932 try { | 927 try { |
933 return artifact.describe(input, cc); | 928 return artifact.describe(input, cc); |
934 } | 929 } |
1237 if (c == null) { | 1232 if (c == null) { |
1238 logger.warn("No collection found with identifier: " + collectionId); | 1233 logger.warn("No collection found with identifier: " + collectionId); |
1239 throw new ArtifactDatabaseException(NO_SUCH_COLLECTION); | 1234 throw new ArtifactDatabaseException(NO_SUCH_COLLECTION); |
1240 } | 1235 } |
1241 | 1236 |
1242 CallContext cc = new CollectionCallContext( | 1237 CollectionCallContext cc = new CollectionCallContext( |
1243 ArtifactDatabaseImpl.this, | 1238 ArtifactDatabaseImpl.this, |
1244 CallContext.NOTHING, | 1239 CallContext.NOTHING, |
1245 callMeta, | 1240 callMeta, |
1246 context, | |
1247 c); | 1241 c); |
1248 | 1242 |
1249 return c.describe(cc); | 1243 try { |
1244 return c.describe(cc); | |
1245 } | |
1246 finally { | |
1247 cc.postCall(); | |
1248 } | |
1249 | |
1250 } | 1250 } |
1251 | 1251 |
1252 public Document getCollectionAttribute(String collectionId, String artifactId, | 1252 public Document getCollectionAttribute(String collectionId, String artifactId, |
1253 CallMeta callMeta) throws ArtifactDatabaseException | 1253 CallMeta callMeta) throws ArtifactDatabaseException |
1254 { | 1254 { |
1428 if (c == null) { | 1428 if (c == null) { |
1429 logger.warn("No collection found with identifier: " + collectionId); | 1429 logger.warn("No collection found with identifier: " + collectionId); |
1430 throw new ArtifactDatabaseException(NO_SUCH_COLLECTION); | 1430 throw new ArtifactDatabaseException(NO_SUCH_COLLECTION); |
1431 } | 1431 } |
1432 | 1432 |
1433 CallContext cc = new CollectionCallContext( | 1433 CollectionCallContext cc = new CollectionCallContext( |
1434 ArtifactDatabaseImpl.this, | 1434 ArtifactDatabaseImpl.this, |
1435 CallContext.NOTHING, | 1435 CallContext.NOTHING, |
1436 callMeta, | 1436 callMeta, |
1437 context, | |
1438 c); | 1437 c); |
1439 | 1438 |
1440 return new DeferredCollectionOutputImpl(c, format, callMeta); | 1439 try { |
1440 return new DeferredCollectionOutputImpl(c, format, callMeta); | |
1441 } | |
1442 finally { | |
1443 cc.postCall(); | |
1444 } | |
1445 } | |
1446 | |
1447 protected void initCallContext(CallContext cc) { | |
1448 logger.info("Implement me!"); | |
1449 } | |
1450 | |
1451 protected void closeCallContext(CallContext cc) { | |
1452 logger.info("Implement me!"); | |
1441 } | 1453 } |
1442 } | 1454 } |
1443 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : | 1455 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |