-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathProgram.java
More file actions
68 lines (59 loc) · 2.96 KB
/
Program.java
File metadata and controls
68 lines (59 loc) · 2.96 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
import application.IApplication;
import application.dependencyinjection.ServiceProviderBuilder;
import modeldifference.*;
import modeldifference.calculator.*;
import modeldifference.htmloutput.HtmlOutput;
import modeldifference.htmloutput.IStateModelDifferenceJsonWidget;
import modeldifference.htmloutput.StateModelDifferenceJsonWidget;
import modeldifference.orient.*;
import modeldifference.orient.query.*;
import org.fruit.alayer.IStateManagementTags;
import org.fruit.alayer.IUIAMapping;
import org.fruit.alayer.IWdMapping;
import org.fruit.alayer.StateManagementTags;
import org.fruit.alayer.webdriver.enums.WdMapping;
import org.fruit.alayer.windows.UIAMapping;
import application.settings.*;
import java.util.logging.Level;
import java.util.logging.Logger;
public class Program {
public static void main(String[] args) {
var settingsProvider = new SettingsProviderBuilder()
.add(new ArgumentSettingsParser(args))
.buildSettingsProvider();
var isHelpQuested = settingsProvider.containsSetting("help");
var isHelpQuested2 = settingsProvider.containsSetting("-help");
var serviceProviderBuilder = new ServiceProviderBuilder()
.addSingleton(IStateModelDifferenceJsonWidget.class, StateModelDifferenceJsonWidget.class)
.addSingleton(IWdMapping.class, WdMapping.class)
.addSingleton(IUIAMapping.class, UIAMapping.class)
.addSingleton(IStateManagementTags.class, StateManagementTags.class )
.addSingleton(ISettingProvider.class, settingsProvider)
.addSingleton(IOrientDbFactory.class, OrientDbFactory.class)
.addSingleton(IModelApplicationBuilder.class, OrientDbApplicationBuilder.class)
.addSingleton(IDifferenceCalculator.class, DifferenceCalculator.class)
.addSingleton(IOutputDifferences.class, HtmlOutput.class)
.addSingleton(IAbstractStateModelEntityQuery.class, AbstractStateModelEntityQuery.class)
.addSingleton(IAbstractStateEntityQuery.class, AbstractStateEntityQuery.class)
.addSingleton(IConcreteActionEntityQuery.class, ConcreteActionEntityQuery.class)
.addSingleton(IAbstractActionEntityQuery.class, AbstractActionEntityQuery.class)
.addSingleton(IConcreteStateEntityQuery.class, ConcreteStateEntityQuery.class)
.addSingleton(IWidgetTreeQuery.class, WidgetTreeQuery.class)
;
if (isHelpQuested || isHelpQuested2){
serviceProviderBuilder.addSingleton(IApplication.class, HelpApplication.class);
}
else
{
serviceProviderBuilder.addSingleton(IApplication.class, ModelDifferenceApplication.class);
}
var serviceProvider = serviceProviderBuilder.buildServiceProvider();
try {
var application = serviceProvider.getService(IApplication.class);
application.Run();
}
catch (Exception ex){
ex.printStackTrace();
}
}
}