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