com.purbon.kafka.topology.backend.BackendHelper Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of julie-ops Show documentation
Show all versions of julie-ops Show documentation
A helper project for Kafka Platform teams to build an automated Topic, Configuration, Schemas, and more,
Management solution.
The newest version!
package com.purbon.kafka.topology.backend;
import com.purbon.kafka.topology.roles.TopologyAclBinding;
import java.io.IOException;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
class BackendHelper {
private static final String expression =
"^\"?\\'(\\S+)\\',\\s*\\'(\\S+)\\',\\s*\\'(\\S+)\\',\\s*\\'(\\S+)\\',\\s*\\'(.+)\\',\\s*\\'(\\S+)\\'\"?$";
private static Pattern regexp = Pattern.compile(expression);
private BackendHelper() {}
static TopologyAclBinding buildAclBinding(String line) throws IOException {
// 'TOPIC', 'topicB', '*', 'READ', 'User:Connect1', 'LITERAL'
Matcher matches = regexp.matcher(line);
if (matches.groupCount() != 6 || !matches.matches()) {
throw new IOException(("line (" + line + ") does not match"));
}
return TopologyAclBinding.build(
matches.group(1), // resourceType
matches.group(2), // resourceName
matches.group(3), // host
matches.group(4), // operation
matches.group(5), // principal
matches.group(6) // pattern
);
}
}