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.util.ExporterUtils;
\r
14 * Checks if publish location exists, if not, creates one.
\r
16 * @author toni.kalajainen@semantum.fi
\r
18 public class CreatePublishLocationAction extends ExportAction {
\r
22 public CreatePublishLocationAction(String publisherId)
\r
24 this.publisherId = publisherId;
\r
28 public void execute(ExportContext ctx, IProgressMonitor progress, Variant options) throws ExportException {
\r
29 // Get publisher options
\r
30 Publisher publisher = ctx.eep.getPublisher( publisherId );
\r
31 Variant locationOptions = ExporterUtils.getPublisherLocationOptions(ctx, publisherId, options);
\r
32 if ( locationOptions == null ) return;
\r
33 boolean exists = publisher.publisherClass().locationExists(ctx, locationOptions);
\r
36 publisher.publisherClass().createLocation(ctx, locationOptions);
\r
41 public String label(ExportContext ctx) {
\r
42 Publisher publisher = ctx.eep.getPublisher( publisherId );
\r
43 String label = publisher.label();
\r
44 return "Assert "+label+" location exists.";
\r
48 public int work(ExportContext ctx) {
\r
53 public List<String> validate(ExportContext ctx, Variant options) {
\r
54 return Collections.emptyList();
\r
58 public void cleanup(ExportContext ctx, IProgressMonitor progress, Variant options) throws ExportException {
\r