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