1 package org.simantics.export.core.manager;
\r
3 import java.util.Collections;
\r
4 import java.util.List;
\r
6 import org.eclipse.core.runtime.IProgressMonitor;
\r
7 import org.simantics.databoard.binding.mutable.Variant;
\r
8 import org.simantics.export.core.ExportContext;
\r
9 import org.simantics.export.core.error.ExportException;
\r
10 import org.simantics.export.core.intf.Publisher;
\r
11 import org.simantics.export.core.intf.PublisherClass;
\r
14 * This action publishes the prepared content into an output location.
\r
16 * @author toni.kalajainen@semantum.fi
\r
18 public class PublishAction extends ExportAction {
\r
20 public String publisherId;
\r
21 public Variant locationOptions;
\r
22 public List<Content> contents;
\r
24 public PublishAction( String publisherId, Variant locationOptions, List<Content> contents )
\r
26 this.publisherId = publisherId;
\r
27 this.locationOptions = locationOptions;
\r
28 this.contents = contents;
\r
32 public void execute(ExportContext ctx, IProgressMonitor progress, Variant options) throws ExportException {
\r
33 Publisher publisher = ctx.eep.getPublisher(publisherId);
\r
34 PublisherClass action = publisher.publisherClass();
\r
35 action.publish(ctx, contents, options, locationOptions, progress);
\r
39 public String label(ExportContext ctx) {
\r
40 Publisher publisher = ctx.eep.getPublisher(publisherId);
\r
41 return publisher.label();
\r
45 public int work(ExportContext ctx) {
\r
50 public List<String> validate(ExportContext ctx, Variant options) {
\r
52 Publisher publisher = ctx.eep.getPublisher(publisherId);
\r
53 PublisherClass action = publisher.publisherClass();
\r
54 return action.validate(ctx, contents, options, locationOptions);
\r
55 } catch (ExportException e) {
\r
56 return Collections.singletonList( e.getClass().getName()+": "+e.getMessage() );
\r
61 public void cleanup(ExportContext ctx, IProgressMonitor progress, Variant options) throws ExportException {
\r