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 ); } } }