Skip to content

Commit

Permalink
Refactor aws2-quarkus-client-ddb(s3) by copying files (not duplicating)
Browse files Browse the repository at this point in the history
  • Loading branch information
JiriOndrusek committed Jan 18, 2022
1 parent 6cad4cc commit 94f267b
Show file tree
Hide file tree
Showing 7 changed files with 135 additions and 588 deletions.
56 changes: 56 additions & 0 deletions integration-test-groups/aws2-quarkus-client/aws2-ddb/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,62 @@
</dependency>
</dependencies>

<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<executions>
<execution>
<id>add-sources</id>
<phase>generate-sources</phase>
<goals>
<goal>add-source</goal>
</goals>
<configuration>
<sources>
<source>${basedir}/target/src/main/java</source>
</sources>
</configuration>
</execution>
<execution>
<id>add-test-sources</id>
<phase>generate-sources</phase>
<goals>
<goal>add-test-source</goal>
</goals>
<configuration>
<sources>
<source>${basedir}/target/src/test/java</source>
</sources>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.gmaven</groupId>
<artifactId>groovy-maven-plugin</artifactId>
<executions>
<execution>
<id>group-sources</id>
<goals>
<goal>execute</goal>
</goals>
<phase>generate-sources</phase>
<configuration>
<source>file:///${maven.multiModuleProjectDirectory}/tooling/scripts/copy-tests.groovy</source>
<properties>
<copy-tests.source.dir>${maven.multiModuleProjectDirectory}/integration-test-groups/aws2/aws2-ddb</copy-tests.source.dir>
<copy-tests.dest.module.dir>${project.basedir}</copy-tests.dest.module.dir>
<copy-tests.excludes>**/*TestEnvCustomizer,**/*application.properties, **/*Stream*</copy-tests.excludes>
</properties>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>native</id>
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.camel.quarkus.component.aws2.ddb.it;

import javax.enterprise.context.ApplicationScoped;
import javax.inject.Inject;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;

import org.apache.camel.CamelContext;
import org.apache.camel.component.aws2.ddb.Ddb2Endpoint;
import org.apache.camel.component.aws2.ddb.Ddb2Operations;
import org.eclipse.microprofile.config.inject.ConfigProperty;
import software.amazon.awssdk.services.dynamodb.DynamoDbClient;

@Path("/aws2-ddb-quarkus-client")
@ApplicationScoped
public class Aws2DdbQuarkusClientResource {

@Inject
CamelContext context;

@Inject
DynamoDbClient dynamoDB;

@ConfigProperty(name = "aws-ddb.table-name")
String tableName;

@Path("/verify/client")
@GET
@Produces(MediaType.TEXT_PLAIN)
public boolean quarkusManagesDynamoDbClient() {
Ddb2Endpoint endpoint = context.getEndpoint(componentUri(Ddb2Operations.GetItem), Ddb2Endpoint.class);
DynamoDbClient camelDynamoDbClient = endpoint.getConfiguration().getAmazonDDBClient();
return camelDynamoDbClient != null && camelDynamoDbClient.equals(dynamoDB);
}

private String componentUri(Ddb2Operations op) {
return componentUri(Aws2DdbResource.Table.basic, op);
}

private String componentUri(Aws2DdbResource.Table table, Ddb2Operations op) {
return "aws2-ddb://" + this.tableName + "?operation=" + op;
}
}

0 comments on commit 94f267b

Please sign in to comment.