diff --git a/src/main/java/info/textgrid/services/aggregator/teicorpus/TEICorpusSerializer.java b/src/main/java/info/textgrid/services/aggregator/teicorpus/TEICorpusSerializer.java index ab45686639a3e73fd2ff103d53153893aa358869..e4a131f8519acd51fae6d01326133cb5112b09bd 100644 --- a/src/main/java/info/textgrid/services/aggregator/teicorpus/TEICorpusSerializer.java +++ b/src/main/java/info/textgrid/services/aggregator/teicorpus/TEICorpusSerializer.java @@ -34,6 +34,7 @@ import javax.xml.ws.Holder; import com.google.common.base.Joiner; +import com.google.common.base.Throwables; import com.google.common.collect.Sets; public class TEICorpusSerializer extends AggregationTreeWalker implements @@ -123,19 +124,9 @@ protected void walkAggregation(final ObjectType object, final boolean again) { level++; if (stack == null) try { - stack = new TEIHeaderStack(object); - } catch (ObjectNotFoundFault e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } catch (MetadataParseFault e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } catch (IoFault e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } catch (AuthFault e) { - // TODO Auto-generated catch block - e.printStackTrace(); + stack = new TEIHeaderStack(object, getSearchClient(isPublic(object))); + } catch (Exception e) { + throw Throwables.propagate(e); } else stack.push(object); diff --git a/src/main/java/info/textgrid/services/aggregator/teicorpus/TEIHeaderStack.java b/src/main/java/info/textgrid/services/aggregator/teicorpus/TEIHeaderStack.java index dcb2a956150dcdb368625b987cdcc4e9a9f963b3..e947d9f8a5daa9009cc49023b32c773423a747e8 100644 --- a/src/main/java/info/textgrid/services/aggregator/teicorpus/TEIHeaderStack.java +++ b/src/main/java/info/textgrid/services/aggregator/teicorpus/TEIHeaderStack.java @@ -1,5 +1,6 @@ package info.textgrid.services.aggregator.teicorpus; +import info.textgrid.middleware.tgsearch.client.SearchClient; import info.textgrid.namespaces.metadata.core._2010.MetadataContainerType; import info.textgrid.namespaces.metadata.core._2010.ObjectType; import info.textgrid.namespaces.middleware.tgcrud.services.tgcrudservice.AuthFault; @@ -54,18 +55,17 @@ public class TEIHeaderStack { private final ITextGridRep repository = TextGridRepProvider.getInstance(); private Templates stylesheet; - public TEIHeaderStack(final ObjectType object) throws ObjectNotFoundFault, + public TEIHeaderStack(final ObjectType object, SearchClient searchClient) throws ObjectNotFoundFault, MetadataParseFault, IoFault, AuthFault { final String uri = object.getGeneric().getGenerated().getTextgridUri() .getValue(); parents.add(object); - final PathResponse pathResponse = repository.getPublicSearchClient().getPath( - uri); + final PathResponse pathResponse = searchClient.getPath(uri); for (final PathGroupType pathGroup : pathResponse.getPathGroup()) { for (final PathType path : pathGroup.getPath()) { for (final EntryType entry : path.getEntry()) if (!entry.getTextgridUri().equals(uri)) { - final MetadataContainerType container = repository.getCRUDService().readMetadata(null, "", entry.getTextgridUri()); + final MetadataContainerType container = repository.getCRUDService().readMetadata(searchClient.getSid(), null, entry.getTextgridUri()); parents.add(0, container.getObject()); } } diff --git a/src/test/java/info/textgrid/services/aggregator/teicorpus/TEIHeaderStackTest.java b/src/test/java/info/textgrid/services/aggregator/teicorpus/TEIHeaderStackTest.java index a9de321684a2be6f09d5375ae92e8b7ca38f7c93..441c90661ff58d8976c9826a6852f2c69fa0bc69 100644 --- a/src/test/java/info/textgrid/services/aggregator/teicorpus/TEIHeaderStackTest.java +++ b/src/test/java/info/textgrid/services/aggregator/teicorpus/TEIHeaderStackTest.java @@ -38,7 +38,7 @@ public void extracted() throws ObjectNotFoundFault, MetadataParseFault, IoFault, AuthFault { final ObjectType rootObject = repository.getCRUDService() .readMetadata("", "", "textgrid:jfsn.0").getObject(); - stack = new TEIHeaderStack(rootObject); + stack = new TEIHeaderStack(rootObject, repository.getPublicSearchClient()); } @Test