Skip to content

Commit 5a6d41d

Browse files
committed
cleaned up reporting
1 parent 0c57361 commit 5a6d41d

File tree

4 files changed

+82
-14
lines changed

4 files changed

+82
-14
lines changed

azure-sink-connector/src/templates/configData.md.vm

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,6 @@ ${esc.hash}${esc.hash} ${section.displayName}
1010
- Valid values: ${section.validator|"no restrictions"}
1111
- Importance: $section.importance
1212

13-
$section.documentation
13+
${esc.markdown($section.documentation)}
1414

1515
#end

azure-source-connector/src/main/java/io/aiven/kafka/connect/azure/source/config/AzureBlobConfigFragment.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
import io.aiven.kafka.connect.azure.source.utils.VersionInfo;
2626
import io.aiven.kafka.connect.common.config.ConfigFragment;
2727
import io.aiven.kafka.connect.common.config.FragmentDataAccess;
28+
import io.aiven.kafka.connect.common.config.validators.TimeScaleValidator;
2829

2930
import com.azure.core.http.policy.ExponentialBackoffOptions;
3031
import com.azure.core.http.policy.HttpLogDetailLevel;
@@ -152,11 +153,11 @@ private static void addAzureConfigGroup(final ConfigDef configDef, final boolean
152153
private static void addAzureRetryPolicies(final ConfigDef configDef) {
153154
int retryPolicyGroupCounter = 0;
154155
configDef.define(AZURE_RETRY_BACKOFF_INITIAL_DELAY_MS_CONFIG, ConfigDef.Type.LONG,
155-
AZURE_RETRY_BACKOFF_INITIAL_DELAY_MS_DEFAULT, ConfigDef.Range.atLeast(0L), ConfigDef.Importance.MEDIUM,
156-
"Initial retry delay in milliseconds.", GROUP_AZURE_RETRY_BACKOFF_POLICY, ++retryPolicyGroupCounter,
157-
ConfigDef.Width.NONE, AZURE_RETRY_BACKOFF_INITIAL_DELAY_MS_CONFIG);
156+
AZURE_RETRY_BACKOFF_INITIAL_DELAY_MS_DEFAULT, TimeScaleValidator.atLeast(0),
157+
ConfigDef.Importance.MEDIUM, "Initial retry delay in milliseconds.", GROUP_AZURE_RETRY_BACKOFF_POLICY,
158+
++retryPolicyGroupCounter, ConfigDef.Width.NONE, AZURE_RETRY_BACKOFF_INITIAL_DELAY_MS_CONFIG);
158159
configDef.define(AZURE_RETRY_BACKOFF_MAX_DELAY_MS_CONFIG, ConfigDef.Type.LONG,
159-
AZURE_RETRY_BACKOFF_MAX_DELAY_MS_DEFAULT, ConfigDef.Range.atLeast(0L), ConfigDef.Importance.MEDIUM,
160+
AZURE_RETRY_BACKOFF_MAX_DELAY_MS_DEFAULT, TimeScaleValidator.atLeast(0), ConfigDef.Importance.MEDIUM,
160161
"Maximum retry delay in milliseconds.", GROUP_AZURE_RETRY_BACKOFF_POLICY, ++retryPolicyGroupCounter,
161162
ConfigDef.Width.NONE, AZURE_RETRY_BACKOFF_MAX_DELAY_MS_CONFIG);
162163
configDef.define(AZURE_RETRY_BACKOFF_MAX_ATTEMPTS_CONFIG, ConfigDef.Type.INT,

commons/src/main/java/io/aiven/kafka/connect/common/config/CommonConfigFragment.java

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818

1919
import static org.apache.kafka.common.config.ConfigDef.Range.atLeast;
2020

21+
import java.util.Collections;
2122
import java.util.Map;
2223

2324
import org.apache.kafka.common.config.ConfigDef;
@@ -52,13 +53,14 @@ public static ConfigDef update(final ConfigDef configDef) {
5253
int orderInGroup = 0;
5354
final String commonGroup = "commons";
5455

55-
return configDef
56-
.define(ConnectorConfig.TASKS_MAX_CONFIG, ConfigDef.Type.INT, 1, atLeast(1), ConfigDef.Importance.HIGH,
57-
"Maximum number of tasks to use for this connector.", commonGroup, ++orderInGroup,
58-
ConfigDef.Width.SHORT, ConnectorConfig.TASKS_MAX_CONFIG)
59-
.define(TASK_ID, ConfigDef.Type.INT, 1, atLeast(0), ConfigDef.Importance.HIGH,
60-
"The task ID that this connector is working with.", commonGroup, ++orderInGroup,
61-
ConfigDef.Width.SHORT, TASK_ID);
56+
configDef.define(ConnectorConfig.TASKS_MAX_CONFIG, ConfigDef.Type.INT, 1, atLeast(1), ConfigDef.Importance.HIGH,
57+
"Maximum number of tasks to use for this connector.", commonGroup, ++orderInGroup,
58+
ConfigDef.Width.SHORT, ConnectorConfig.TASKS_MAX_CONFIG);
59+
60+
final ConfigDef.ConfigKey key = new ConfigDef.ConfigKey(TASK_ID, ConfigDef.Type.INT, 0, atLeast(0),
61+
ConfigDef.Importance.HIGH, "The task ID that this connector is working with.", commonGroup,
62+
++orderInGroup, ConfigDef.Width.SHORT, TASK_ID, Collections.emptyList(), null, true);
63+
return configDef.define(key);
6264
}
6365

6466
/**

site/src/main/java/io/aiven/kafka/connect/tools/ConfigDoc.java

Lines changed: 67 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -74,11 +74,13 @@ public static void execute(final ConfigDef configDef, final String templateFile,
7474
final Collection<ConfigDef.ConfigKey> keys = configDef.configKeys().values();
7575
final Map<String, ConfigData> sections = new TreeMap<>();
7676
for (final ConfigDef.ConfigKey key : keys) {
77-
sections.put(key.name, new ConfigData(key));
77+
if (!key.internalConfig) {
78+
sections.put(key.name, new ConfigData(key));
79+
}
7880
}
7981

8082
context.put("sections", sections.values());
81-
context.put("esc", new EscapeTool());
83+
context.put("esc", new Escaper());
8284

8385
final File file = new File(output);
8486
if (!file.getParentFile().exists() && !file.getParentFile().mkdirs()) {
@@ -138,4 +140,67 @@ public static void main(final String[] args) throws IOException, ClassNotFoundEx
138140
}
139141
}
140142

143+
public static class Escaper extends EscapeTool {
144+
145+
private static String[] charParser(final String charText) {
146+
char[] chars = charText.toCharArray();
147+
String[] result = new String[chars.length];
148+
for (int i = 0; i < chars.length; i++) {
149+
result[i] = String.valueOf(chars[i]);
150+
}
151+
return result;
152+
}
153+
154+
/**
155+
* The characters to escape for markdown.
156+
*/
157+
private static final String[] MARKDOWN_CHARS = charParser("\\`*_{}[]<>()#+-.!|");
158+
/**
159+
* The characters to escape for APT (Almost Plain Text).
160+
*/
161+
private static final String[] APT_CHARS = charParser("\\~=-+*[]<>{}");
162+
163+
/**
164+
* Escapes a text string.
165+
*
166+
* @param text
167+
* the text to escape.
168+
* @param chars
169+
* the characters to escape.
170+
* @return the escaped string.
171+
*/
172+
private String escape(final String text, final String[] chars) {
173+
if (text == null) {
174+
return "";
175+
}
176+
String result = text;
177+
for (String c : chars) {
178+
result = result.replace(c, "\\" + c);
179+
}
180+
return result;
181+
}
182+
183+
/**
184+
* Escapes a string for markdown.
185+
*
186+
* @param text
187+
* the text to escape.
188+
* @return the text with the markdown specific characters escaped.
189+
*/
190+
public String markdown(final String text) {
191+
return escape(text, MARKDOWN_CHARS);
192+
}
193+
194+
/**
195+
* Escapes a string for APT (almost plain text).
196+
*
197+
* @param text
198+
* the text to escape.
199+
* @return the text with the APT specific characters escaped.
200+
*/
201+
public String apt(final String text) {
202+
return escape(text, APT_CHARS);
203+
}
204+
205+
}
141206
}

0 commit comments

Comments
 (0)