Skip to content
Snippets Groups Projects
Commit 0e2979ac authored by Thorsten Vitt's avatar Thorsten Vitt
Browse files

Fix: TEIHeaderStack used public TG-search even for non-public data

parent 4cd19c33
No related branches found
No related tags found
No related merge requests found
......@@ -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);
......
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());
}
}
......
......@@ -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
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment