-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
The examples that we provide in the docs repo Add a module to manage them here Compile in ci to ensure there are no breaking changes to docs
- Loading branch information
1 parent
4084f44
commit ac13a0a
Showing
18 changed files
with
644 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
version: v1 | ||
managed: | ||
enabled: true | ||
java_package_prefix: | ||
default: io.opentdf.platform | ||
except: | ||
- buf.build/bufbuild/protovalidate | ||
- buf.build/googleapis/googleapis | ||
- buf.build/grpc-ecosystem/grpc-gateway | ||
plugins: | ||
- plugin: buf.build/protocolbuffers/java:v25.3 | ||
out: ./ | ||
- plugin: buf.build/grpc/java:v1.61.1 | ||
out: ./ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
# Generated by buf. DO NOT EDIT. | ||
version: v1 | ||
deps: | ||
- remote: buf.build | ||
owner: bufbuild | ||
repository: protovalidate | ||
commit: f05a6f4403ce4327bae4f50f281c3ed0 | ||
digest: shake256:668a0661b8df44d41839194896329330965fc215f3d2f88057fd60eeb759c2daf6cc6edfdd13b2a653d49fe2896ebedcb1a33c4c5b2dd10919f03ffb7fc52ae6 | ||
- remote: buf.build | ||
owner: googleapis | ||
repository: googleapis | ||
commit: 7e6f6e774e29406da95bd61cdcdbc8bc | ||
digest: shake256:fe43dd2265ea0c07d76bd925eeba612667cf4c948d2ce53d6e367e1b4b3cb5fa69a51e6acb1a6a50d32f894f054a35e6c0406f6808a483f2752e10c866ffbf73 | ||
- remote: buf.build | ||
owner: grpc-ecosystem | ||
repository: grpc-gateway | ||
commit: 3f42134f4c564983838425bc43c7a65f | ||
digest: shake256:3d11d4c0fe5e05fda0131afefbce233940e27f0c31c5d4e385686aea58ccd30f72053f61af432fa83f1fc11cda57f5f18ca3da26a29064f73c5a0d076bba8d92 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
version: v1 | ||
deps: | ||
- buf.build/bufbuild/protovalidate | ||
- buf.build/googleapis/googleapis | ||
- buf.build/grpc-ecosystem/grpc-gateway | ||
breaking: | ||
use: | ||
- FILE | ||
- PACKAGE | ||
- WIRE_JSON | ||
- WIRE | ||
lint: | ||
allow_comment_ignores: true | ||
use: | ||
- DEFAULT | ||
except: | ||
- PACKAGE_VERSION_SUFFIX | ||
ignore_only: | ||
PACKAGE_VERSION_SUFFIX: | ||
- google/api/annotations.proto | ||
- google/api/http.proto | ||
- google/protobuf/wrappers.proto |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,179 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> | ||
<modelVersion>4.0.0</modelVersion> | ||
<parent> | ||
<artifactId>sdk-pom</artifactId> | ||
<groupId>io.opentdf.platform</groupId> | ||
<version>0.7.4</version> | ||
</parent> | ||
|
||
<groupId>io.opentdf.platform</groupId> | ||
<artifactId>examples</artifactId> | ||
<version>0.7.4</version> | ||
|
||
<name>examples</name> | ||
<!-- FIXME change it to the project's website --> | ||
<url>http://www.example.com</url> | ||
|
||
<properties> | ||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> | ||
<maven.compiler.release>11</maven.compiler.release> | ||
</properties> | ||
|
||
<dependencyManagement> | ||
<dependencies> | ||
<dependency> | ||
<groupId>org.junit</groupId> | ||
<artifactId>junit-bom</artifactId> | ||
<version>5.11.0</version> | ||
<type>pom</type> | ||
<scope>import</scope> | ||
</dependency> | ||
</dependencies> | ||
</dependencyManagement> | ||
|
||
<dependencies> | ||
<dependency> | ||
<groupId>org.junit.jupiter</groupId> | ||
<artifactId>junit-jupiter-api</artifactId> | ||
<scope>test</scope> | ||
</dependency> | ||
<!-- Optionally: parameterized tests support --> | ||
<dependency> | ||
<groupId>org.junit.jupiter</groupId> | ||
<artifactId>junit-jupiter-params</artifactId> | ||
<scope>test</scope> | ||
</dependency> | ||
<dependency> | ||
<groupId>io.opentdf.platform</groupId> | ||
<artifactId>sdk</artifactId> | ||
<version>${project.version}</version> | ||
</dependency> | ||
<dependency> | ||
<groupId>com.google.code.gson</groupId> | ||
<artifactId>gson</artifactId> | ||
<version>2.11.0</version> | ||
</dependency> | ||
<dependency> | ||
<groupId>org.apache.logging.log4j</groupId> | ||
<artifactId>log4j-slf4j2-impl</artifactId> | ||
</dependency> | ||
<dependency> | ||
<groupId>org.apache.logging.log4j</groupId> | ||
<artifactId>log4j-core</artifactId> | ||
</dependency> | ||
<dependency> | ||
<groupId>org.apache.logging.log4j</groupId> | ||
<artifactId>log4j-api</artifactId> | ||
</dependency> | ||
<dependency> | ||
<groupId>javax.annotation</groupId> | ||
<artifactId>javax.annotation-api</artifactId> | ||
<version>1.3.2</version> <!-- Use the latest version available --> | ||
</dependency> | ||
</dependencies> | ||
|
||
<build> | ||
<!-- <pluginManagement>lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) --> | ||
<plugins> | ||
<plugin> | ||
<groupId>org.apache.maven.plugins</groupId> | ||
<artifactId>maven-shade-plugin</artifactId> | ||
<version>3.2.4</version> | ||
<executions> | ||
<execution> | ||
<phase>package</phase> | ||
<goals> | ||
<goal>shade</goal> | ||
</goals> | ||
<configuration> | ||
<createDependencyReducedPom>false</createDependencyReducedPom> | ||
<transformers> | ||
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"> | ||
<mainClass>io.opentdf.platform.App</mainClass> | ||
<manifestEntries> | ||
<Implementation-Version>${project.version}</Implementation-Version> | ||
<Main-Class>io.opentdf.platform.App</Main-Class> | ||
</manifestEntries> | ||
</transformer> | ||
<transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/> | ||
</transformers> | ||
<filters> | ||
<filter> | ||
<artifact>*:*</artifact> | ||
<excludes> | ||
<exclude>META-INF/*.SF</exclude> | ||
<exclude>META-INF/*.DSA</exclude> | ||
<exclude>META-INF/*.RSA</exclude> | ||
</excludes> | ||
</filter> | ||
</filters> | ||
</configuration> | ||
</execution> | ||
</executions> | ||
</plugin> | ||
<plugin> | ||
<groupId>org.codehaus.mojo</groupId> | ||
<artifactId>exec-maven-plugin</artifactId> | ||
<version>3.0.0</version> | ||
<configuration> | ||
<mainClass>io.opentdf.platform.App</mainClass> | ||
</configuration> | ||
</plugin> | ||
<plugin> | ||
<groupId>org.apache.maven.plugins</groupId> | ||
<artifactId>maven-antrun-plugin</artifactId> | ||
<version>3.1.0</version> | ||
<executions> | ||
<!-- Generate Sources Execution under target/generated-sources --> | ||
<execution> | ||
<id>generateSources</id> | ||
<phase>generate-sources</phase> | ||
<configuration> | ||
<target> | ||
<!-- Generate OpenTDF Platform Protobuf --> | ||
<exec executable="buf" dir="." failOnError="true"> | ||
<arg value="generate"/> | ||
<arg value="https://github.com/opentdf/platform.git#branch=main,subdir=service"/> | ||
<arg value="-o"/> | ||
<arg value="target/generated-sources"/> | ||
</exec> | ||
<!-- Generate gRPC Protobuf --> | ||
<!-- <exec executable="buf" dir="." failOnError="true"> | ||
<arg value="generate"/> | ||
<arg value="buf.build/grpc-ecosystem/grpc-gateway"/> | ||
<arg value="-o"/> | ||
<arg value="target/generated-sources"/> | ||
</exec> --> | ||
</target> | ||
</configuration> | ||
<goals> | ||
<goal>run</goal> | ||
</goals> | ||
</execution> | ||
</executions> | ||
</plugin> | ||
<!-- Add Generate Sources Directory --> | ||
<plugin> | ||
<groupId>org.codehaus.mojo</groupId> | ||
<artifactId>build-helper-maven-plugin</artifactId> | ||
<version>3.5.0</version> | ||
<executions> | ||
<execution> | ||
<id>add-source</id> | ||
<phase>generate-sources</phase> | ||
<goals> | ||
<goal>add-source</goal> | ||
</goals> | ||
<configuration> | ||
<sources> | ||
<source>target/generated-sources</source> | ||
</sources> | ||
</configuration> | ||
</execution> | ||
</executions> | ||
</plugin> | ||
</plugins> | ||
<!-- </pluginManagement> --> | ||
</build> | ||
</project> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
package io.opentdf.platform; | ||
|
||
public class App { | ||
public static void main(String[] args) { | ||
System.out.println("opentdf examples"); | ||
} | ||
} |
36 changes: 36 additions & 0 deletions
36
examples/src/main/java/io/opentdf/platform/CreateAttribute.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
package io.opentdf.platform; | ||
import io.opentdf.platform.sdk.*; | ||
|
||
import java.util.concurrent.ExecutionException; | ||
|
||
import io.opentdf.platform.policy.AttributeRuleTypeEnum; | ||
|
||
import io.opentdf.platform.policy.attributes.*; | ||
import io.opentdf.platform.policy.Attribute; | ||
|
||
import java.util.Arrays; | ||
|
||
public class CreateAttribute { | ||
public static void main(String[] args) throws ExecutionException, InterruptedException{ | ||
|
||
String clientId = "opentdf"; | ||
String clientSecret = "secret"; | ||
String platformEndpoint = "localhost:8080"; | ||
|
||
SDKBuilder builder = new SDKBuilder(); | ||
SDK sdk = builder.platformEndpoint(platformEndpoint) | ||
.clientSecret(clientId, clientSecret).useInsecurePlaintextConnection(true) | ||
.build(); | ||
|
||
CreateAttributeRequest request = CreateAttributeRequest.newBuilder() | ||
.setNamespaceId("877990d1-609b-42ab-a273-4253b8b321eb") | ||
.setName("test") | ||
.setRule(AttributeRuleTypeEnum.forNumber(AttributeRuleTypeEnum.ATTRIBUTE_RULE_TYPE_ENUM_ALL_OF_VALUE)) | ||
.addAllValues(Arrays.asList("test1", "test2")).build(); | ||
|
||
CreateAttributeResponse resp = sdk.getServices().attributes().createAttribute(request).get(); | ||
|
||
Attribute attribute = resp.getAttribute(); | ||
|
||
} | ||
} |
27 changes: 27 additions & 0 deletions
27
examples/src/main/java/io/opentdf/platform/CreateNamespace.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
package io.opentdf.platform; | ||
import io.opentdf.platform.sdk.*; | ||
|
||
import java.util.concurrent.ExecutionException; | ||
|
||
import io.opentdf.platform.policy.namespaces.*; | ||
|
||
public class CreateNamespace { | ||
public static void main(String[] args) throws ExecutionException, InterruptedException{ | ||
|
||
String clientId = "opentdf"; | ||
String clientSecret = "secret"; | ||
String platformEndpoint = "localhost:8080"; | ||
|
||
SDKBuilder builder = new SDKBuilder(); | ||
SDK sdk = builder.platformEndpoint(platformEndpoint) | ||
.clientSecret(clientId, clientSecret).useInsecurePlaintextConnection(true) | ||
.build(); | ||
|
||
CreateNamespaceRequest request = CreateNamespaceRequest.newBuilder().setName("mynamespace.com").build(); | ||
|
||
CreateNamespaceResponse resp = sdk.getServices().namespaces().createNamespace(request).get(); | ||
|
||
System.out.println(resp.getNamespace().getName()); | ||
|
||
} | ||
} |
47 changes: 47 additions & 0 deletions
47
examples/src/main/java/io/opentdf/platform/CreateSubjectConditionSet.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
package io.opentdf.platform; | ||
import io.opentdf.platform.sdk.*; | ||
|
||
import java.util.concurrent.ExecutionException; | ||
|
||
import io.opentdf.platform.policy.subjectmapping.*; | ||
import io.opentdf.platform.policy.SubjectMapping; | ||
import io.opentdf.platform.policy.SubjectConditionSet; | ||
import io.opentdf.platform.policy.SubjectSet; | ||
import io.opentdf.platform.policy.ConditionGroup; | ||
import io.opentdf.platform.policy.Condition; | ||
import io.opentdf.platform.policy.ConditionBooleanTypeEnum; | ||
import io.opentdf.platform.policy.SubjectMappingOperatorEnum; | ||
|
||
|
||
public class CreateSubjectConditionSet { | ||
public static void main(String[] args) throws ExecutionException, InterruptedException{ | ||
|
||
String clientId = "opentdf"; | ||
String clientSecret = "secret"; | ||
String platformEndpoint = "localhost:8080"; | ||
|
||
SDKBuilder builder = new SDKBuilder(); | ||
SDK sdk = builder.platformEndpoint(platformEndpoint) | ||
.clientSecret(clientId, clientSecret).useInsecurePlaintextConnection(true) | ||
.build(); | ||
|
||
var subjectset = SubjectSet.newBuilder().addConditionGroups(ConditionGroup.newBuilder() | ||
.setBooleanOperator(ConditionBooleanTypeEnum.CONDITION_BOOLEAN_TYPE_ENUM_AND) | ||
.addConditions(Condition.newBuilder() | ||
.setSubjectExternalSelectorValue(".myfield") | ||
.setOperator(SubjectMappingOperatorEnum.SUBJECT_MAPPING_OPERATOR_ENUM_IN) | ||
.addSubjectExternalValues("myvalue") | ||
)); | ||
|
||
CreateSubjectConditionSetRequest request = CreateSubjectConditionSetRequest.newBuilder() | ||
.setSubjectConditionSet( | ||
SubjectConditionSetCreate.newBuilder().addSubjectSets(subjectset)) | ||
.build(); | ||
|
||
CreateSubjectConditionSetResponse resp = sdk.getServices().subjectMappings().createSubjectConditionSet(request).get(); | ||
|
||
SubjectConditionSet scs = resp.getSubjectConditionSet(); | ||
|
||
System.out.println(scs.getId()); | ||
} | ||
} |
34 changes: 34 additions & 0 deletions
34
examples/src/main/java/io/opentdf/platform/CreateSubjectMapping.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
package io.opentdf.platform; | ||
import io.opentdf.platform.sdk.*; | ||
|
||
import java.util.concurrent.ExecutionException; | ||
|
||
import io.opentdf.platform.policy.subjectmapping.*; | ||
import io.opentdf.platform.policy.SubjectMapping; | ||
import io.opentdf.platform.policy.Action; | ||
|
||
public class CreateSubjectMapping { | ||
public static void main(String[] args) throws ExecutionException, InterruptedException{ | ||
|
||
String clientId = "opentdf"; | ||
String clientSecret = "secret"; | ||
String platformEndpoint = "localhost:8080"; | ||
|
||
SDKBuilder builder = new SDKBuilder(); | ||
SDK sdk = builder.platformEndpoint(platformEndpoint) | ||
.clientSecret(clientId, clientSecret).useInsecurePlaintextConnection(true) | ||
.build(); | ||
|
||
CreateSubjectMappingRequest request = CreateSubjectMappingRequest.newBuilder() | ||
.setAttributeValueId("33c47777-f3b6-492d-bcd2-5329e0aab642") | ||
.addActions(Action.newBuilder().setStandard(Action.StandardAction.STANDARD_ACTION_DECRYPT)) | ||
.setExistingSubjectConditionSetId("9009fde8-d22b-4dfb-a456-f9ce6943244a") | ||
.build(); | ||
|
||
CreateSubjectMappingResponse resp = sdk.getServices().subjectMappings().createSubjectMapping(request).get(); | ||
|
||
SubjectMapping sm = resp.getSubjectMapping(); | ||
|
||
System.out.println(sm.getId()); | ||
} | ||
} |
Oops, something went wrong.