Skip to content

Commit 12fc1a7

Browse files
committed
RUL-100, RUL-101 setting logger by RuleGenerator class, json parameters dump
1 parent 1ed81a4 commit 12fc1a7

File tree

4 files changed

+95
-7
lines changed

4 files changed

+95
-7
lines changed

adaa.analytics.rules/build.gradle

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ plugins {
55
id 'java'
66
}
77

8-
version = '2.1.16'
8+
version = '2.1.17'
99
java {
1010
sourceCompatibility = JavaVersion.VERSION_1_8
1111
}

adaa.analytics.rules/src/main/java/adaa/analytics/rules/consoles/TrainProcess.java

-1
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,6 @@ public void executeProcess() throws IOException, OperatorException {
4444
ruleGenerator = new RuleGenerator();
4545
ruleGenerator.setRuleGeneratorParams(paramSetWrapper.generateRuleGeneratorParams());
4646

47-
4847
// Train process
4948
if (datasetConfiguration.trainElements.size() > 0) {
5049
Logger.log("TRAINING\n"

adaa.analytics.rules/src/main/java/adaa/analytics/rules/logic/rulegenerator/RuleGenerator.java

+54-5
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,13 @@
1717
import adaa.analytics.rules.logic.quality.IUserMeasure;
1818
import adaa.analytics.rules.logic.representation.ruleset.RuleSetBase;
1919
import adaa.analytics.rules.data.IExampleSet;
20+
import adaa.analytics.rules.utils.Logger;
2021

22+
import java.io.FileNotFoundException;
23+
import java.io.FileOutputStream;
24+
import java.io.PrintStream;
2125
import java.util.List;
26+
import java.util.logging.Level;
2227

2328
/**
2429
* The basic RuleKit learner operator. It enables inducing classification, regression,
@@ -38,11 +43,36 @@ public RuleGenerator() {
3843
operatorCommandProxy = new OperatorCommandProxy();
3944
}
4045

46+
/**
47+
* Used by python wrapper
48+
* */
4149
public RuleGenerator(boolean useExpert) {
4250
this.useExpert = useExpert;
4351
operatorCommandProxy = new OperatorCommandProxy();
4452
}
4553

54+
private void configureLogger(PrintStream printStream, String level)
55+
{
56+
Logger.getInstance().addStream(printStream, level.contains("vv") ? Level.FINEST : (level.contains("v")? Level.FINE : Level.INFO));
57+
}
58+
/**
59+
* Used by python wrapper
60+
* */
61+
public void configureLogger(String level)
62+
{
63+
configureLogger(System.out, level);
64+
}
65+
66+
/**
67+
* Used by python wrapper
68+
* */
69+
public void configureLogger(String filePath, String level) throws FileNotFoundException {
70+
configureLogger(new PrintStream(new FileOutputStream(filePath)), level);
71+
}
72+
73+
/**
74+
* Used by python wrapper
75+
* */
4676
public void addOperatorListener(ICommandListener commandListener) {
4777
operatorCommandProxy.addCommandListener(commandListener);
4878
}
@@ -64,31 +94,50 @@ public RuleSetBase learn(IExampleSet exampleSet) {
6494
return m;
6595
}
6696

97+
/**
98+
* Used by python wrapper
99+
* */
67100
public boolean containsParameter(String key) {
68101
return ruleGeneratorParams.contains(key);
69102
}
70103

71104
public void setRuleGeneratorParams(RuleGeneratorParams ruleGeneratorParams) {
72105
this.ruleGeneratorParams = ruleGeneratorParams;
73106
}
74-
107+
/**
108+
* Used by python wrapper
109+
* */
75110
public void setParameter(String key, String o) {
76111
ruleGeneratorParams.setParameter(key, o);
77112
}
78-
113+
/**
114+
* Used by python wrapper
115+
* */
79116
public void setListParameter(String key, List<String[]> o) {
80117
ruleGeneratorParams.setListParameter(key, o);
81118
}
82-
119+
/**
120+
* Used by python wrapper
121+
* */
83122
public void setUserMeasureInductionObject(IUserMeasure userMeasureInductionObject) {
84123
ruleGeneratorParams.setUserMeasureInductionObject(userMeasureInductionObject);
85124
}
86-
125+
/**
126+
* Used by python wrapper
127+
* */
87128
public void setUserMeasurePurningObject(IUserMeasure userMeasurePurningObject) {
88129
ruleGeneratorParams.setUserMeasurePurningObject(userMeasurePurningObject);
89130
}
90-
131+
/**
132+
* Used by python wrapper
133+
* */
91134
public void setUserMeasureVotingObject(IUserMeasure userMeasureVotingObject) {
92135
ruleGeneratorParams.setUserMeasureVotingObject(userMeasureVotingObject);
93136
}
137+
138+
public String getParamsAsJsonString()
139+
{
140+
return ruleGeneratorParams.toJsonString();
141+
}
142+
94143
}

adaa.analytics.rules/src/main/java/adaa/analytics/rules/logic/rulegenerator/RuleGeneratorParams.java

+40
Original file line numberDiff line numberDiff line change
@@ -416,4 +416,44 @@ InductionParameters generateInductionParameters() {
416416

417417
return params;
418418
}
419+
420+
public String toJsonString()
421+
{
422+
StringBuilder result = new StringBuilder();
423+
result.append("{\n");
424+
for(Map.Entry<String,Object> e:parameterValues.entrySet())
425+
{
426+
result.append("\"");
427+
result.append(e.getKey());
428+
result.append("\":");
429+
if (e.getValue()==null)
430+
{
431+
result.append("null");
432+
}else {
433+
if (e.getValue() instanceof Boolean || e.getValue() instanceof Integer || e.getValue() instanceof Double) {
434+
result.append(e.getValue());
435+
} else if (e.getValue() instanceof String[]) {
436+
result.append("[");
437+
for (String p : (String[]) e.getValue()) {
438+
result.append("\"");
439+
result.append(p);
440+
result.append("\"");
441+
result.append(",");
442+
}
443+
result.deleteCharAt(result.length() - 1);
444+
result.append("]");
445+
} else {
446+
result.append("\"");
447+
result.append(e.getValue());
448+
result.append("\"");
449+
}
450+
}
451+
result.append(",\n");
452+
}
453+
result.deleteCharAt(result.length()-2);
454+
455+
456+
result.append("}");
457+
return result.toString();
458+
}
419459
}

0 commit comments

Comments
 (0)