]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.export.core/src/org/simantics/export/core/manager/CreatePublishLocationAction.java
Fixed all line endings of the repository
[simantics/platform.git] / bundles / org.simantics.export.core / src / org / simantics / export / core / manager / CreatePublishLocationAction.java
1 package org.simantics.export.core.manager;
2
3 import java.util.Collections;
4 import java.util.List;
5
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;
12
13 /**
14  * Checks if publish location exists, if not, creates one.
15  *
16  * @author toni.kalajainen@semantum.fi
17  */
18 public class CreatePublishLocationAction extends ExportAction {
19
20         String publisherId;
21         
22         public CreatePublishLocationAction(String publisherId) 
23         {
24                 this.publisherId = publisherId;
25         }
26         
27         @Override
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);
34                         
35                 if ( !exists ) {
36                         publisher.publisherClass().createLocation(ctx, locationOptions);
37                 }
38         }
39
40         @Override
41         public String label(ExportContext ctx) {
42                 Publisher publisher = ctx.eep.getPublisher( publisherId );
43                 String label = publisher.label();
44                 return "Assert "+label+" location exists.";
45         }
46
47         @Override
48         public int work(ExportContext ctx) {
49                 return 1;
50         }
51
52         @Override
53         public List<String> validate(ExportContext ctx, Variant options) {
54                 return Collections.emptyList();
55         }
56
57         @Override
58         public void cleanup(ExportContext ctx, IProgressMonitor progress, Variant options) throws ExportException {
59         }
60
61 }