use of lombok.Data in project ratauth by alfa-laboratory.
the class AuthzResponse method buildURL.
public String buildURL() {
StringJoiner joiner = new StringJoiner("&");
if (!StringUtils.isBlank(redirectURI)) {
joiner.add("redirect_uri=" + getEncodedRedirectURI());
}
if (!StringUtils.isBlank(code)) {
joiner.add("code=" + code);
}
if (expiresIn != null) {
joiner.add("expires_in=" + expiresIn);
}
if (!StringUtils.isBlank(token)) {
joiner.add("token=" + token);
joiner.add("token_type=" + tokenType);
}
if (!StringUtils.isBlank(refreshToken)) {
joiner.add("refresh_token=" + refreshToken.toString());
}
if (!StringUtils.isBlank(idToken)) {
joiner.add("id_token=" + idToken.toString());
}
if (!StringUtils.isBlank(mfaToken)) {
joiner.add("mfa_token=" + mfaToken.toString());
}
if (StringUtils.isBlank(mfaToken) && !StringUtils.isBlank(sessionToken)) {
joiner.add("session_token=" + sessionToken.toString());
}
if (acrValues != null && acrValues.getValues() != null && !acrValues.getValues().isEmpty()) {
joiner.add("acr_values=" + acrValues.toString());
}
if (data != null && !data.isEmpty()) {
data.entrySet().stream().filter(entry -> entry.getValue() != null).map(entry -> joiner.add(entry.getKey() + "=" + entry.getValue().toString()));
}
return createRedirectURI(location, joiner.toString());
}
use of lombok.Data in project completable-reactor by ru-fix.
the class CompletableReactorHandlerArgumentsTest method arguments_test_7.
@Test
public void arguments_test_7() throws Exception {
@Reactored("Payload with string")
@Data
class Payload {
String data;
}
class Service {
@Reactored("method with 7 arguments")
public CompletableFuture<String> foo(String arg1, int arg2, short arg3, boolean arg4, Object arg5, BigInteger arg6, long arg7) {
return CompletableFuture.completedFuture(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7);
}
}
final Service service = new Service();
class Config {
ReactorGraphBuilder graphBuilder = new ReactorGraphBuilder(this);
Processor<Payload> processor = graphBuilder.processor().forPayload(Payload.class).passArg(pld -> "1").passArg(pld -> 2).passArg(pld -> (short) 3).passArg(pld -> true).passArg(pld -> 5).passArg(pld -> BigInteger.valueOf(6L)).passArg(pld -> 7L).withHandler(service::foo).withMerger((payload, result) -> {
payload.data = result;
return CompletableReactorTest.Status.OK;
}).buildProcessor();
ReactorGraph<Payload> graph() {
return graphBuilder.payload(Payload.class).handle(processor).mergePoint(processor).onAny().complete().coordinates().buildGraph();
}
}
reactor.registerReactorGraph(new Config().graph());
assertEquals("123true567", reactor.submit(new Payload()).getResultFuture().get(5, TimeUnit.SECONDS).getData());
}
use of lombok.Data in project completable-reactor by ru-fix.
the class CompletableReactorHandlerArgumentsTest method arguments_test_0.
@Test
public void arguments_test_0() throws Exception {
@Reactored("Payload with string")
@Data
class Payload {
String data;
}
class Service {
@Reactored("method with 0 arguments")
public CompletableFuture<String> foo() {
return CompletableFuture.completedFuture("");
}
}
final Service service = new Service();
class Config {
ReactorGraphBuilder graphBuilder = new ReactorGraphBuilder(this);
Processor<Payload> processor = graphBuilder.processor().forPayload(Payload.class).withHandler(service::foo).withMerger((payload, result) -> {
payload.data = result;
return CompletableReactorTest.Status.OK;
}).buildProcessor();
ReactorGraph<Payload> graph() {
return graphBuilder.payload(Payload.class).handle(processor).mergePoint(processor).onAny().complete().coordinates().buildGraph();
}
}
val graph = new Config().graph();
reactor.registerReactorGraph(graph);
assertEquals("", reactor.submit(new Payload()).getResultFuture().get(5, TimeUnit.SECONDS).getData());
}
use of lombok.Data in project completable-reactor by ru-fix.
the class MockSubgraphTest method mock_subgraph.
@Test
public void mock_subgraph() throws Exception {
class Config {
final ReactorGraphBuilder graphBuilder = new ReactorGraphBuilder(this);
Processor<MainPayload> processor1 = graphBuilder.processor().forPayload(MainPayload.class).withHandler(new Processor1()::handle).withMerger((mainPayload, any) -> Status.OK).buildProcessor();
Subgraph<MainPayload> subgraph = graphBuilder.subgraph(SubgraphPayload.class).forPayload(MainPayload.class).passArg(pld -> new SubgraphPayload().setData(pld.getData())).withMerger((mainPayload, subgraphPayload) -> {
mainPayload.setData(subgraphPayload.getData());
return Status.OK;
}).buildSubgraph();
ReactorGraph<MainPayload> graph() {
return graphBuilder.payload(MainPayload.class).handle(processor1).mergePoint(processor1).onAny().handle(subgraph).mergePoint(subgraph).onAny().complete().coordinates().start(488, -51).proc(processor1, 483, 19).proc(subgraph, 465, 175).merge(processor1, 519, 104).merge(subgraph, 526, 259).complete(subgraph, 532, 336).buildGraph();
}
}
val graph = new Config().graph();
ReactorGraphBuilder.write(graph);
reactor.registerReactorGraph(graph);
// mocking subgraph behaviour
AtomicReference<SubgraphPayload> subgraphCapture = new AtomicReference<>();
reactor.registerReactorGraph(SubgraphPayload.class, payload -> {
subgraphCapture.set(payload);
return CompletableFuture.completedFuture(new SubgraphPayload().setData("mock-subgraph-data"));
});
// override subgraph implementation by async method
CompletableReactor.Execution<MainPayload> result = reactor.submit(new MainPayload().setData("main-payload-data"));
MainPayload mainGraphResultPayload = result.getResultFuture().get(10, TimeUnit.SECONDS);
assertNotNull(subgraphCapture.get());
assertEquals("main-payload-data", subgraphCapture.get().getData());
assertEquals("mock-subgraph-data", mainGraphResultPayload.getData());
}
use of lombok.Data in project halyard by spinnaker.
the class OpenstackAccountValidator method validate.
@Override
public void validate(ConfigProblemSetBuilder psBuilder, OpenstackAccount account) {
DaemonTaskHandler.message("Validating " + account.getNodeName() + " with " + OpenstackAccountValidator.class.getSimpleName());
String environment = account.getEnvironment();
String accountType = account.getAccountType();
String username = account.getUsername();
String password = account.getPassword();
String projectName = account.getPassword();
String domainName = account.getDomainName();
String authUrl = account.getAuthUrl();
List<String> regions = account.getRegions();
Boolean insecure = account.getInsecure();
String heatTemplateLocation = account.getHeatTemplateLocation();
OpenstackAccount.OpenstackLbaasOptions lbaas = account.getLbaas();
ConsulConfig consulConfig = new ConsulConfig();
String userDataFile = account.getUserDataFile();
if (StringUtils.isEmpty(environment)) {
psBuilder.addProblem(Problem.Severity.ERROR, "You must provide an environment name");
}
if (StringUtils.isEmpty(password) || StringUtils.isEmpty(username)) {
psBuilder.addProblem(Problem.Severity.ERROR, "You must provide a both a username and a password");
}
if (StringUtils.isEmpty(projectName)) {
psBuilder.addProblem(Problem.Severity.ERROR, "You must provide a project name");
}
if (!StringUtils.endsWith(authUrl, "/v3")) {
psBuilder.addProblem(Problem.Severity.WARNING, "You must use Keystone v3. The default auth url will be of the format IP:5000/v3.");
}
if (StringUtils.isEmpty(domainName)) {
psBuilder.addProblem(Problem.Severity.ERROR, "You must provide a domain name");
}
if (regions.size() == 0 || StringUtils.isEmpty(regions.get(0))) {
psBuilder.addProblem(Problem.Severity.ERROR, "You must provide one region");
}
if (insecure) {
psBuilder.addProblem(Problem.Severity.WARNING, "You've chosen to not validate SSL connections. This setup is not recommended in production deployments.");
}
if (heatTemplateLocation != null && heatTemplateLocation.isEmpty()) {
psBuilder.addProblem(Problem.Severity.ERROR, "Not a valid Heat template location: ''");
}
if (lbaas.getPollInterval() < 0) {
psBuilder.addProblem(Problem.Severity.ERROR, "Poll interval cannot be less than 0.").setRemediation("Update this value to be reasonable. Default is 5.");
}
if (lbaas.getPollTimeout() < 0) {
psBuilder.addProblem(Problem.Severity.ERROR, "Poll timeout cannot be less than 0.").setRemediation("Update this value to be reasonable. Default is 60.");
}
boolean userDataProvided = userDataFile != null && !userDataFile.isEmpty();
if (userDataProvided) {
String resolvedUserData = ValidatingFileReader.contents(psBuilder, userDataFile);
if (resolvedUserData == null) {
return;
} else if (resolvedUserData.isEmpty()) {
psBuilder.addProblem(Problem.Severity.WARNING, "The supplied user data file is empty.").setRemediation("Please provide a non empty file, or remove the user data file.");
}
List<String> validTokens = Arrays.asList("account", "accounttype", "env", "region", "group", "autogrp", "cluster", "stack", "detail", "launchconfig");
List<String> tokens = Arrays.asList(StringUtils.substringsBetween(resolvedUserData, "%%", "%%"));
List<String> invalidTokens = tokens.stream().filter(t -> !validTokens.contains(t)).collect(Collectors.toList());
if (invalidTokens.size() != 0) {
psBuilder.addProblem(Problem.Severity.WARNING, "The supplied user data file contains tokens that won't be replaced. " + "Tokens \"" + StringUtils.join(invalidTokens, ", ") + "\" are not supported.").setRemediation("Please use only the supported tokens \"" + StringUtils.join(validTokens, ", ") + "\".");
}
}
OpenstackConfigurationProperties.LbaasConfig lbaasConfig = new OpenstackConfigurationProperties.LbaasConfig();
lbaasConfig.setPollInterval(lbaas.getPollInterval());
lbaasConfig.setPollTimeout(lbaas.getPollTimeout());
try {
OpenstackNamedAccountCredentials openstackCredentials = new OpenstackNamedAccountCredentials.Builder().name(account.getName()).environment(environment).accountType(accountType).authUrl(authUrl).username(username).password(password).projectName(projectName).domainName(domainName).regions(regions).insecure(insecure).heatTemplateLocation(heatTemplateLocation).consulConfig(consulConfig).lbaasConfig(lbaasConfig).userDataFile(userDataFile).build();
credentialsList.add(openstackCredentials);
// TODO(emjburns) verify that these credentials can connect w/o error to the openstack instance
} catch (Exception e) {
psBuilder.addProblem(Problem.Severity.ERROR, "Failed to instantiate openstack credentials for account \"" + account.getName() + "\".");
}
}
Aggregations