Skip to content
This repository was archived by the owner on Mar 5, 2024. It is now read-only.

Commit 58607cc

Browse files
committed
fix lfet to plantuml activity converter
- add layout for lfet to asciidoc table converter - add distributionsManagement
1 parent 30e3548 commit 58607cc

10 files changed

+146
-128
lines changed

README.adoc

+14-14
Original file line numberDiff line numberDiff line change
@@ -59,20 +59,20 @@ lfet::src/test/resources/smallestDecisionTable.lfet[style=table]
5959
[width="100%",options=header,cols="1,3,2,2",frame=none,grid=all]
6060
|====
6161
2+|
62-
^|R01
63-
^|R02
64-
h|C01
65-
h|Condition1
66-
^|Y
67-
^|N
62+
^.^|R01
63+
^.^|R02
64+
^.^h|C01
65+
.^h|Condition1
66+
^.^|Y
67+
^.^|N
6868
4+|
69-
h|A01
70-
h|Action1
71-
^|X
72-
^|
73-
h|A02
74-
h|Action2
75-
^|
76-
^|X
69+
^.^h|A01
70+
.^h|Action1
71+
^.^|X
72+
^.^|
73+
^.^h|A02
74+
.^h|Action2
75+
^.^|
76+
^.^|X
7777
|====
7878

pom.xml

+9
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,15 @@
2121
</developer>
2222
</developers>
2323

24+
25+
<distributionManagement>
26+
<repository>
27+
<id>bintray</id>
28+
<name>uniqueck-asciidoctorj-decisiontable-extension</name>
29+
<url>https://api.bintray.com/maven/uniqueck/asciidoctorj/${project.artifactId}/;publish=1</url>
30+
</repository>
31+
</distributionManagement>
32+
2433
<scm>
2534
<connection>scm:git:git@github.com:uniqueck/asciidoctorj-decisiontable-extension.git</connection>
2635
<developerConnection>scm:git:git@github.com:uniqueck/asciidoctorj-decisiontable-extension.git</developerConnection>

src/main/java/com/uniqueck/asciidoctorj/lfet/LFETAsciiDocTableGenerator.java

+7-7
Original file line numberDiff line numberDiff line change
@@ -70,12 +70,12 @@ public List<String> generate() {
7070

7171
Element condition = conditions.get(conditionIndex);
7272

73-
content.add(String.format("h|%s%02d", getLfetLanguage().getLabelCondition(), conditionIndex+1));
74-
content.add(String.format("h|%s", condition.getChild(ELEMENT_TITLE).getAttributeValue(ATTR_VALUE)));
73+
content.add(String.format("^.^h|%s%02d", getLfetLanguage().getLabelCondition(), conditionIndex+1));
74+
content.add(String.format(".^h|%s", condition.getChild(ELEMENT_TITLE).getAttributeValue(ATTR_VALUE)));
7575

7676
for (Element rule : rules) {
7777

78-
content.add("^|" + getConditionSymbol(rule, condition));
78+
content.add("^.^|" + getConditionSymbol(rule, condition));
7979

8080
}
8181

@@ -88,12 +88,12 @@ public List<String> generate() {
8888

8989
Element action = actions.get(actionIndex);
9090

91-
content.add(String.format("h|A%02d", actionIndex+1));
92-
content.add(String.format("h|%s", action.getChild(ELEMENT_TITLE).getAttributeValue(ATTR_VALUE)));
91+
content.add(String.format("^.^h|A%02d", actionIndex+1));
92+
content.add(String.format(".^h|%s", action.getChild(ELEMENT_TITLE).getAttributeValue(ATTR_VALUE)));
9393

9494
for (Element rule : rules) {
9595

96-
content.add("^|" + getActionSymbol(rule, action));
96+
content.add("^.^|" + getActionSymbol(rule, action));
9797

9898
}
9999

@@ -147,7 +147,7 @@ private List<String> createHeader(int ruleCount) {
147147
List<String> content = new ArrayList<>();
148148
content.add("2+|");
149149
for (int i = 0; i < ruleCount; i++) {
150-
content.add(String.format("^|R%02d", i + 1));
150+
content.add(String.format("^.^|R%02d", i + 1));
151151
}
152152
return content;
153153
}

src/main/java/com/uniqueck/asciidoctorj/lfet/LFETBlockMacroProcessor.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
import org.asciidoctor.ast.StructuralNode;
55
import org.asciidoctor.extension.BlockMacroProcessor;
66
import org.asciidoctor.extension.Name;
7-
import org.asciidoctor.jruby.internal.AsciidoctorCoreException;
87

98
import java.io.File;
109
import java.util.ArrayList;
@@ -43,6 +42,7 @@ public Object process(StructuralNode parent, String target, Map<String, Object>
4342
content.addAll(new LFETAsciiDocTableGenerator(decisionTableFile).generate());
4443
break;
4544
case ACTIVITY_DIAGRAM:
45+
// content.addAll(IActivityDiagramGenerator.newGenerator(decisionTableFile).generate());
4646
break;
4747
default:
4848
throw new AsciiDoctorDecisionTableRuntimeException("style '" + getStyle(attributes) + "' is not supported");

src/main/java/com/uniqueck/asciidoctorj/lfet/puml/activity/ActivityDiagramGenerator.java

+8-6
Original file line numberDiff line numberDiff line change
@@ -22,12 +22,15 @@ class ActivityDiagramGenerator extends AbstractLFETTraceLogging implements IDeci
2222
private Element currentCondition;
2323
private Iterator<Element> rulesIt;
2424

25+
ActivityDiagramGenerator(File lfetFile) {
26+
this.lfetFile = lfetFile;
27+
}
28+
2529
@Override
26-
public String generate(String lfetFile) {
30+
public List<String> generate() {
2731
this.sb = new ArrayList<>();
28-
this.lfetFile = new File(lfetFile);
2932
new DecisionTableToPlantUMLActivityDiagramRules().execute(this);
30-
return sb.stream().collect(Collectors.joining(System.lineSeparator()));
33+
return sb;
3134
}
3235

3336

@@ -122,8 +125,7 @@ public void doGetFirstConditionOfFirstRule() {
122125

123126
@Override
124127
public void doGetFirstRule() {
125-
List<Element> rules = getRootElement().getChild("Rules").getChildren("Rule");
126-
firstRule = rules.get(0);
128+
firstRule = rulesIt.next();
127129
}
128130

129131
@Override
@@ -145,7 +147,7 @@ public void doAddEndif() {
145147

146148
@Override
147149
public void doAddElse() {
148-
sb.add("else");
150+
sb.add("else (false)");
149151
}
150152

151153
@Override

src/main/java/com/uniqueck/asciidoctorj/lfet/puml/activity/ConditionDiagramGenerator.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ public boolean isHasMoreConditions() {
7373

7474
@Override
7575
public void doIfWithConditionTitleAndLabelYes() {
76-
add("if (" + getConditionTitle() + ") then (yes) ");
76+
add("if (" + getConditionTitle() + ") then (yes)");
7777
}
7878

7979
@Override
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,13 @@
11
package com.uniqueck.asciidoctorj.lfet.puml.activity;
22

3+
import java.io.File;
4+
import java.util.List;
5+
36
public interface IActivityDiagramGenerator {
47

5-
static IActivityDiagramGenerator newGenerator() {
6-
return new ActivityDiagramGenerator();
8+
static IActivityDiagramGenerator newGenerator(File lfetFile) {
9+
return new ActivityDiagramGenerator(lfetFile);
710
}
811

9-
String generate(String lfetFile);
12+
List<String> generate();
1013
}

0 commit comments

Comments
 (0)