X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.charts%2Fsrc%2Forg%2Fsimantics%2Fcharts%2Fexport%2FChartsDiscoverer.java;fp=bundles%2Forg.simantics.charts%2Fsrc%2Forg%2Fsimantics%2Fcharts%2Fexport%2FChartsDiscoverer.java;h=6e237bfd286053ab60cc6e957baff0a19db5329b;hb=969bd23cab98a79ca9101af33334000879fb60c5;hp=0000000000000000000000000000000000000000;hpb=866dba5cd5a3929bbeae85991796acb212338a08;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.charts/src/org/simantics/charts/export/ChartsDiscoverer.java b/bundles/org.simantics.charts/src/org/simantics/charts/export/ChartsDiscoverer.java new file mode 100644 index 000000000..6e237bfd2 --- /dev/null +++ b/bundles/org.simantics.charts/src/org/simantics/charts/export/ChartsDiscoverer.java @@ -0,0 +1,31 @@ +package org.simantics.charts.export; + +import java.util.Collection; + +import org.simantics.charts.ontology.ChartResource; +import org.simantics.db.exception.DatabaseException; +import org.simantics.db.request.Read; +import org.simantics.export.core.ExportContext; +import org.simantics.export.core.error.ExportException; +import org.simantics.export.core.intf.DiscoverAction; +import org.simantics.export.core.util.ExportQueries; + +public class ChartsDiscoverer implements DiscoverAction { + + public Read> discoverRequest( + final Collection startLocations) throws ExportException { + return ExportQueries.instancesOf(startLocations, ChartResource.URIs.Chart); + } + + @Override + public Collection discoverContent(ExportContext ctx, Collection startLocations) throws ExportException { + try { + return ctx.session.syncRequest( discoverRequest(startLocations) ); + } catch (DatabaseException e) { + if ( e.getCause() instanceof ExportException ) throw (ExportException) e.getCause(); + throw new ExportException( e ); + } + } + + +}