Skip to content

Commit 7fcbb94

Browse files
committed
fixed unnecessary dependency between visualization and event log
1 parent b79f32d commit 7fcbb94

File tree

5 files changed

+38
-13
lines changed

5 files changed

+38
-13
lines changed

src/org/processmining/placebasedlpmdiscovery/lpmdiscovery/LPMDiscovery.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,12 @@
77
public interface LPMDiscovery {
88

99
static LPMDiscovery getInstance() {
10-
return placeBased(PlacesProvider.getInstance(), 100);
10+
return placeBased(PlacesProvider.getInstance(), 50);
1111
}
1212

1313
static LPMDiscovery placeBased(PlacesProvider placesProvider, int placeLimit) {
1414
return new PlaceBasedLPMDiscovery(placesProvider, placeLimit);
1515
}
16+
1617
LPMDiscoveryResult from(XLog log);
1718
}

src/org/processmining/placebasedlpmdiscovery/lpmdiscovery/PlaceBasedLPMDiscovery.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,8 @@
88
import org.processmining.placebasedlpmdiscovery.lpmdiscovery.algorithms.parameters.PlaceBasedLPMDiscoveryParameters;
99
import org.processmining.placebasedlpmdiscovery.model.Place;
1010
import org.processmining.placebasedlpmdiscovery.model.discovery.LPMDiscoveryResult;
11-
import org.processmining.placebasedlpmdiscovery.model.discovery.StandardLPMDiscoveryResult;
1211
import org.processmining.placebasedlpmdiscovery.model.logs.EventLog;
1312
import org.processmining.placebasedlpmdiscovery.model.logs.XLogWrapper;
14-
import org.processmining.placebasedlpmdiscovery.model.serializable.LPMResult;
1513
import org.processmining.placebasedlpmdiscovery.prom.PlacesProvider;
1614

1715
import java.util.Set;
@@ -35,9 +33,11 @@ public LPMDiscoveryResult from(XLog log) {
3533

3634
LPMDiscoveryAlgBuilder builder = Main.createDefaultBuilder(log, parameters);
3735
Set<Place> places = this.placesProvider.from(log);
36+
3837
FPGrowthForPlacesLPMBuildingInput lpmBuildingInput = new FPGrowthForPlacesLPMBuildingInput(eventLog, places);
3938
StandardLPMDiscoveryInput discoveryInput =
4039
new StandardLPMDiscoveryInput(eventLog, lpmBuildingInput);
41-
return new LPMResult((StandardLPMDiscoveryResult) builder.build().run(discoveryInput, parameters));
40+
41+
return builder.build().run(discoveryInput, parameters);
4242
}
4343
}

src/org/processmining/placebasedlpmdiscovery/model/serializable/LPMResult.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
import org.processmining.placebasedlpmdiscovery.main.LPMDiscoveryConfig;
66
import org.processmining.placebasedlpmdiscovery.model.LocalProcessModel;
77
import org.processmining.placebasedlpmdiscovery.model.discovery.LPMDiscoveryResult;
8-
import org.processmining.placebasedlpmdiscovery.model.discovery.StandardLPMDiscoveryResult;
98
import org.processmining.placebasedlpmdiscovery.model.exporting.exporters.Exporter;
109

1110
import java.io.OutputStream;
@@ -25,7 +24,7 @@ public LPMResult() {
2524
}
2625

2726
// QA: How does one convert from one child to another of a superclass?
28-
public LPMResult(StandardLPMDiscoveryResult result) {
27+
public LPMResult(LPMDiscoveryResult result) {
2928
super(result.getAllLPMs());
3029
this.additionalResults = result.getAdditionalResults();
3130
}

src/org/processmining/placebasedlpmdiscovery/prom/plugins/mining/LPMDiscoveryPlugin.java

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,10 @@
1111
import org.processmining.models.graphbased.directed.petrinet.Petrinet;
1212
import org.processmining.placebasedlpmdiscovery.Main;
1313
import org.processmining.placebasedlpmdiscovery.lpmbuilding.inputs.FPGrowthForPlacesLPMBuildingInput;
14+
import org.processmining.placebasedlpmdiscovery.lpmdiscovery.LPMDiscovery;
15+
import org.processmining.placebasedlpmdiscovery.lpmdiscovery.algbuilder.LPMDiscoveryAlgBuilder;
1416
import org.processmining.placebasedlpmdiscovery.lpmdiscovery.algorithms.inputs.LPMDiscoveryInput;
1517
import org.processmining.placebasedlpmdiscovery.lpmdiscovery.algorithms.inputs.StandardLPMDiscoveryInput;
16-
import org.processmining.placebasedlpmdiscovery.lpmdiscovery.algbuilder.LPMDiscoveryAlgBuilder;
1718
import org.processmining.placebasedlpmdiscovery.lpmdiscovery.algorithms.parameters.PlaceBasedLPMDiscoveryParameters;
1819
import org.processmining.placebasedlpmdiscovery.model.discovery.LPMDiscoveryResult;
1920
import org.processmining.placebasedlpmdiscovery.model.logs.EventLog;
@@ -40,6 +41,22 @@
4041
)
4142
public class LPMDiscoveryPlugin {
4243

44+
@UITopiaVariant(
45+
affiliation = "RWTH - PADS",
46+
author = "Viki Peeva",
47+
email = "[email protected]",
48+
uiLabel = "Basic Local Process Models Discovery"
49+
)
50+
@PluginVariant(
51+
variantLabel = "Basic Local Process Models Discovery",
52+
requiredParameterLabels = {0}
53+
)
54+
public static LPMDiscoveryResult mineBasicLPMs(UIPluginContext context, XLog log) {
55+
ContextKeeper.setUp(context);
56+
57+
return LPMDiscovery.getInstance().from(log);
58+
}
59+
4360
@UITopiaVariant(
4461
affiliation = "RWTH - PADS",
4562
author = "Viki Peeva",

src/org/processmining/placebasedlpmdiscovery/prom/plugins/visualization/visualizers/LPMDiscoveryResultVisualizer.java

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import org.processmining.framework.plugin.annotations.PluginVariant;
99
import org.processmining.placebasedlpmdiscovery.lpmdiscovery.dependencyinjection.LPMDiscoveryResultGuiceModule;
1010
import org.processmining.placebasedlpmdiscovery.model.discovery.LPMDiscoveryResult;
11+
import org.processmining.placebasedlpmdiscovery.model.serializable.LPMResult;
1112
import org.processmining.placebasedlpmdiscovery.prom.dependencyinjection.PromGuiceModule;
1213
import org.processmining.placebasedlpmdiscovery.view.controllers.DefaultLPMDiscoveryResultViewController;
1314

@@ -23,17 +24,24 @@ public class LPMDiscoveryResultVisualizer {
2324
@PluginVariant(requiredParameterLabels = {0})
2425
public JComponent visualize(UIPluginContext context, LPMDiscoveryResult result) {
2526

26-
Injector injector = Guice.createInjector(new LPMDiscoveryResultGuiceModule(result),
27-
new PromGuiceModule(context));
27+
if (result.getInput() != null && result.getInput().getLog() != null) {
28+
Injector injector = Guice.createInjector(new LPMDiscoveryResultGuiceModule(result),
29+
new PromGuiceModule(context));
2830

2931
// DefaultLPMDiscoveryResultViewModel model = new DefaultLPMDiscoveryResultViewModel(result);
3032
// DefaultLPMDiscoveryResultComponent view = new DefaultLPMDiscoveryResultComponent()
3133

32-
DefaultLPMDiscoveryResultViewController controller =
33-
injector.getInstance(DefaultLPMDiscoveryResultViewController.class);
34+
DefaultLPMDiscoveryResultViewController controller =
35+
injector.getInstance(DefaultLPMDiscoveryResultViewController.class);
3436

35-
controller.getView().display(controller.getModel());
37+
controller.getView().display(controller.getModel());
3638

37-
return controller.getView();
39+
return controller.getView();
40+
}
41+
42+
// if no event log, complex operations are not possible
43+
LPMResult lpmResult = new LPMResult(result);
44+
LPMResultVisualizer visualizer = new LPMResultVisualizer();
45+
return visualizer.visualize(context, lpmResult);
3846
}
3947
}

0 commit comments

Comments
 (0)