├── .github └── workflows │ ├── build-win.yaml │ ├── build.yaml │ ├── dependencies.yaml │ └── deploy-snapshots.yaml ├── .gitignore ├── .mvn └── settings.xml ├── CONTRIBUTING.md ├── Jenkinsfile ├── LICENSE.md ├── README.md ├── bedrock-bom └── pom.xml ├── bedrock-coherence ├── 12.2.1 │ ├── coherence-12.2.1-testing-support │ │ ├── pom.xml │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── oracle │ │ │ │ └── bedrock │ │ │ │ └── junit │ │ │ │ ├── CoherenceClusterOrchestration.java │ │ │ │ ├── ExtendClient.java │ │ │ │ └── StorageDisabledMember.java │ │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── oracle │ │ │ └── bedrock │ │ │ └── junit │ │ │ ├── CoherenceClusterResourceTest.java │ │ │ └── SingleMemberCoherenceClusterResourceTest.java │ ├── coherence-12.2.1-tests │ │ ├── pom.xml │ │ └── src │ │ │ └── test │ │ │ ├── java │ │ │ └── com │ │ │ │ └── oracle │ │ │ │ └── bedrock │ │ │ │ └── runtime │ │ │ │ └── coherence │ │ │ │ ├── AbstractCoherenceCacheServerTest.java │ │ │ │ ├── AbstractCoherenceClusterBuilderTest.java │ │ │ │ ├── ContainerBasedCoherenceCacheServerIT.java │ │ │ │ ├── ContainerBasedCoherenceClusterBuilderIT.java │ │ │ │ ├── CustomServer.java │ │ │ │ ├── GetProcessor.java │ │ │ │ ├── LocalCoherenceCacheServerIT.java │ │ │ │ └── LocalCoherenceClusterBuilderIT.java │ │ │ └── resources │ │ │ ├── test-autostart-services-cache-config.xml │ │ │ ├── test-cache-config.xml │ │ │ ├── test-client-config.xml │ │ │ ├── test-extend-proxy-config.xml │ │ │ └── test-operational-override.xml │ ├── coherence-12.2.1 │ │ ├── pom.xml │ │ └── src │ │ │ └── main │ │ │ └── java │ │ │ └── com │ │ │ └── oracle │ │ │ └── bedrock │ │ │ └── runtime │ │ │ └── coherence │ │ │ ├── AbstractCoherenceClusterMember.java │ │ │ ├── CoherenceCacheServer.java │ │ │ ├── CoherenceCluster.java │ │ │ ├── CoherenceClusterMember.java │ │ │ ├── CoherenceNamedCache.java │ │ │ └── options │ │ │ └── WellKnownAddress.java │ └── pom.xml ├── 14.1.1 │ ├── coherence-14.1.1-testing-support-tests-junit4 │ │ ├── pom.xml │ │ └── src │ │ │ └── test │ │ │ ├── java │ │ │ └── com │ │ │ │ └── oracle │ │ │ │ └── bedrock │ │ │ │ └── junit │ │ │ │ ├── CoherenceClusterResourceTest.java │ │ │ │ └── SingleMemberCoherenceClusterResourceTest.java │ │ │ └── resources │ │ │ └── client-cache-config.xml │ ├── coherence-14.1.1-testing-support-tests-junit5 │ │ ├── pom.xml │ │ └── src │ │ │ └── test │ │ │ ├── java │ │ │ └── com │ │ │ │ └── oracle │ │ │ │ └── bedrock │ │ │ │ └── junit │ │ │ │ └── CoherenceClusterExtensionTest.java │ │ │ └── resources │ │ │ └── client-cache-config.xml │ ├── coherence-14.1.1-testing-support │ │ ├── pom.xml │ │ └── src │ │ │ └── main │ │ │ └── java │ │ │ └── com │ │ │ └── oracle │ │ │ └── bedrock │ │ │ ├── junit │ │ │ ├── CoherenceClusterExtension.java │ │ │ ├── CoherenceClusterResource.java │ │ │ ├── ExtendClient.java │ │ │ ├── SessionBuilder.java │ │ │ ├── SessionBuilders.java │ │ │ ├── SleepingApplication.java │ │ │ └── StorageDisabledMember.java │ │ │ └── matchers │ │ │ └── PartitionSetMatcher.java │ ├── coherence-14.1.1 │ │ ├── pom.xml │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── oracle │ │ │ │ └── bedrock │ │ │ │ └── runtime │ │ │ │ └── coherence │ │ │ │ ├── AbstractCoherenceClusterMember.java │ │ │ │ ├── CoherenceCacheServer.java │ │ │ │ ├── CoherenceCluster.java │ │ │ │ ├── CoherenceClusterBuilder.java │ │ │ │ ├── CoherenceClusterMember.java │ │ │ │ ├── CoherenceNamedCache.java │ │ │ │ ├── JMXManagementMode.java │ │ │ │ ├── ServiceStatus.java │ │ │ │ ├── callables │ │ │ │ ├── GetAutoStartServiceNames.java │ │ │ │ ├── GetClusterMemberUIDs.java │ │ │ │ ├── GetClusterName.java │ │ │ │ ├── GetClusterSize.java │ │ │ │ ├── GetLocalMemberId.java │ │ │ │ ├── GetLocalMemberRoleName.java │ │ │ │ ├── GetLocalMemberSiteName.java │ │ │ │ ├── GetLocalMemberUID.java │ │ │ │ ├── GetServiceStatus.java │ │ │ │ ├── IsServiceRunning.java │ │ │ │ └── IsServiceStorageEnabled.java │ │ │ │ └── options │ │ │ │ ├── CacheConfig.java │ │ │ │ ├── ClusterAddress.java │ │ │ │ ├── ClusterName.java │ │ │ │ ├── ClusterPort.java │ │ │ │ ├── Clustering.java │ │ │ │ ├── LocalHost.java │ │ │ │ ├── LocalStorage.java │ │ │ │ ├── Logging.java │ │ │ │ ├── MachineName.java │ │ │ │ ├── Multicast.java │ │ │ │ ├── OperationalOverride.java │ │ │ │ ├── Pof.java │ │ │ │ ├── RoleName.java │ │ │ │ ├── SiteName.java │ │ │ │ └── WellKnownAddress.java │ │ │ └── test │ │ │ ├── java │ │ │ └── com │ │ │ │ └── oracle │ │ │ │ └── bedrock │ │ │ │ └── runtime │ │ │ │ └── coherence │ │ │ │ ├── AbstractCoherenceCacheServerTest.java │ │ │ │ ├── AbstractCoherenceClusterBuilderTest.java │ │ │ │ ├── ContainerBasedCoherenceCacheServerIT.java │ │ │ │ ├── ContainerBasedCoherenceClusterBuilderIT.java │ │ │ │ ├── CustomServer.java │ │ │ │ ├── GetProcessor.java │ │ │ │ ├── LocalCoherenceCacheServerIT.java │ │ │ │ └── LocalCoherenceClusterBuilderIT.java │ │ │ └── resources │ │ │ ├── test-autostart-services-cache-config.xml │ │ │ ├── test-cache-config.xml │ │ │ ├── test-client-config.xml │ │ │ ├── test-extend-proxy-config.xml │ │ │ └── test-operational-override.xml │ └── pom.xml ├── 21.06 │ ├── coherence-21.06-testing-support-tests-junit4 │ │ ├── pom.xml │ │ └── src │ │ │ └── test │ │ │ ├── java │ │ │ └── com │ │ │ │ └── oracle │ │ │ │ └── bedrock │ │ │ │ └── junit │ │ │ │ ├── CoherenceClusterResourceTest.java │ │ │ │ └── SingleMemberCoherenceClusterResourceTest.java │ │ │ └── resources │ │ │ └── client-cache-config.xml │ ├── coherence-21.06-testing-support-tests-junit5 │ │ ├── pom.xml │ │ └── src │ │ │ └── test │ │ │ ├── java │ │ │ └── com │ │ │ │ └── oracle │ │ │ │ └── bedrock │ │ │ │ └── junit │ │ │ │ └── CoherenceClusterExtensionTest.java │ │ │ └── resources │ │ │ └── client-cache-config.xml │ ├── coherence-21.06-testing-support │ │ ├── pom.xml │ │ └── src │ │ │ └── main │ │ │ └── java │ │ │ └── com │ │ │ └── oracle │ │ │ └── bedrock │ │ │ ├── junit │ │ │ ├── CoherenceClusterExtension.java │ │ │ ├── CoherenceClusterResource.java │ │ │ ├── ExtendClient.java │ │ │ ├── SessionBuilder.java │ │ │ ├── SessionBuilders.java │ │ │ ├── SleepingApplication.java │ │ │ └── StorageDisabledMember.java │ │ │ └── matchers │ │ │ └── PartitionSetMatcher.java │ ├── coherence-21.06 │ │ ├── pom.xml │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── oracle │ │ │ │ └── bedrock │ │ │ │ └── runtime │ │ │ │ └── coherence │ │ │ │ ├── AbstractCoherenceClusterMember.java │ │ │ │ ├── CoherenceCacheServer.java │ │ │ │ ├── CoherenceCluster.java │ │ │ │ ├── CoherenceClusterBuilder.java │ │ │ │ ├── CoherenceClusterMember.java │ │ │ │ ├── CoherenceNamedCache.java │ │ │ │ ├── CoherenceSession.java │ │ │ │ ├── JMXManagementMode.java │ │ │ │ ├── ServiceStatus.java │ │ │ │ ├── callables │ │ │ │ ├── GetAutoStartServiceNames.java │ │ │ │ ├── GetClusterMemberUIDs.java │ │ │ │ ├── GetClusterName.java │ │ │ │ ├── GetClusterSize.java │ │ │ │ ├── GetLocalMemberId.java │ │ │ │ ├── GetLocalMemberRoleName.java │ │ │ │ ├── GetLocalMemberSiteName.java │ │ │ │ ├── GetLocalMemberUID.java │ │ │ │ ├── GetServiceStatus.java │ │ │ │ ├── GetSession.java │ │ │ │ ├── GetSessionCache.java │ │ │ │ ├── IsCoherenceRunning.java │ │ │ │ ├── IsServiceRunning.java │ │ │ │ ├── IsServiceStorageEnabled.java │ │ │ │ └── SessionExists.java │ │ │ │ └── options │ │ │ │ ├── CacheConfig.java │ │ │ │ ├── ClusterAddress.java │ │ │ │ ├── ClusterName.java │ │ │ │ ├── ClusterPort.java │ │ │ │ ├── Clustering.java │ │ │ │ ├── LocalHost.java │ │ │ │ ├── LocalStorage.java │ │ │ │ ├── Logging.java │ │ │ │ ├── MachineName.java │ │ │ │ ├── Multicast.java │ │ │ │ ├── OperationalOverride.java │ │ │ │ ├── Pof.java │ │ │ │ ├── RoleName.java │ │ │ │ ├── SiteName.java │ │ │ │ └── WellKnownAddress.java │ │ │ └── test │ │ │ ├── java │ │ │ └── com │ │ │ │ └── oracle │ │ │ │ └── bedrock │ │ │ │ └── runtime │ │ │ │ └── coherence │ │ │ │ ├── AbstractCoherenceCacheServerTest.java │ │ │ │ ├── AbstractCoherenceClusterBuilderTest.java │ │ │ │ ├── CoherenceSessionIT.java │ │ │ │ ├── ContainerBasedCoherenceCacheServerIT.java │ │ │ │ ├── ContainerBasedCoherenceClusterBuilderIT.java │ │ │ │ ├── CustomServer.java │ │ │ │ ├── GetProcessor.java │ │ │ │ ├── LocalCoherenceCacheServerIT.java │ │ │ │ └── LocalCoherenceClusterBuilderIT.java │ │ │ └── resources │ │ │ ├── test-autostart-services-cache-config.xml │ │ │ ├── test-cache-config.xml │ │ │ ├── test-client-config.xml │ │ │ ├── test-extend-proxy-config.xml │ │ │ └── test-operational-override.xml │ └── pom.xml ├── 3.7.1 │ ├── coherence-3.7.1-testing-support │ │ ├── pom.xml │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── oracle │ │ │ │ └── bedrock │ │ │ │ ├── junit │ │ │ │ ├── CoherenceClusterOrchestration.java │ │ │ │ ├── CoherenceClusterResource.java │ │ │ │ ├── ExtendClient.java │ │ │ │ ├── SessionBuilder.java │ │ │ │ ├── SessionBuilders.java │ │ │ │ ├── SleepingApplication.java │ │ │ │ └── StorageDisabledMember.java │ │ │ │ └── matchers │ │ │ │ └── PartitionSetMatcher.java │ │ │ └── test │ │ │ ├── java │ │ │ └── com │ │ │ │ └── oracle │ │ │ │ └── bedrock │ │ │ │ └── junit │ │ │ │ ├── CoherenceClusterResourceTest.java │ │ │ │ └── SingleMemberCoherenceClusterResourceTest.java │ │ │ └── resources │ │ │ └── proxy-cache-config.xml │ ├── coherence-3.7.1-tests │ │ ├── pom.xml │ │ └── src │ │ │ └── test │ │ │ ├── java │ │ │ └── com │ │ │ │ └── oracle │ │ │ │ └── bedrock │ │ │ │ └── runtime │ │ │ │ └── coherence │ │ │ │ ├── AbstractCoherenceCacheServerTest.java │ │ │ │ ├── AbstractCoherenceClusterBuilderTest.java │ │ │ │ ├── ContainerBasedCoherenceCacheServerTest.java │ │ │ │ ├── ContainerBasedCoherenceClusterBuilderTest.java │ │ │ │ ├── CustomServer.java │ │ │ │ ├── GetProcessor.java │ │ │ │ ├── LocalCoherenceCacheServerTest.java │ │ │ │ └── LocalCoherenceClusterBuilderTest.java │ │ │ └── resources │ │ │ ├── test-cache-config.xml │ │ │ ├── test-client-config.xml │ │ │ ├── test-extend-proxy-config.xml │ │ │ └── test-operational-override.xml │ ├── coherence-3.7.1 │ │ ├── pom.xml │ │ └── src │ │ │ └── main │ │ │ └── java │ │ │ └── com │ │ │ └── oracle │ │ │ └── bedrock │ │ │ └── runtime │ │ │ └── coherence │ │ │ ├── AbstractCoherenceClusterMember.java │ │ │ ├── CoherenceCacheServer.java │ │ │ ├── CoherenceCluster.java │ │ │ ├── CoherenceClusterBuilder.java │ │ │ ├── CoherenceClusterMember.java │ │ │ ├── CoherenceNamedCache.java │ │ │ ├── JMXManagementMode.java │ │ │ ├── ServiceStatus.java │ │ │ ├── callables │ │ │ ├── GetAutoStartServiceNames.java │ │ │ ├── GetClusterMemberUIDs.java │ │ │ ├── GetClusterName.java │ │ │ ├── GetClusterSize.java │ │ │ ├── GetLocalMemberId.java │ │ │ ├── GetLocalMemberRoleName.java │ │ │ ├── GetLocalMemberSiteName.java │ │ │ ├── GetLocalMemberUID.java │ │ │ ├── GetServiceStatus.java │ │ │ ├── IsServiceRunning.java │ │ │ └── IsServiceStorageEnabled.java │ │ │ └── options │ │ │ ├── CacheConfig.java │ │ │ ├── ClusterAddress.java │ │ │ ├── ClusterName.java │ │ │ ├── ClusterPort.java │ │ │ ├── Clustering.java │ │ │ ├── LocalHost.java │ │ │ ├── LocalStorage.java │ │ │ ├── Logging.java │ │ │ ├── MachineName.java │ │ │ ├── Multicast.java │ │ │ ├── OperationalOverride.java │ │ │ ├── Pof.java │ │ │ ├── RoleName.java │ │ │ ├── SiteName.java │ │ │ └── WellKnownAddress.java │ └── pom.xml └── pom.xml ├── bedrock-core ├── pom.xml └── src │ ├── main │ └── java │ │ ├── com │ │ └── oracle │ │ │ └── bedrock │ │ │ ├── Bedrock.java │ │ │ ├── ComposableOption.java │ │ │ ├── Option.java │ │ │ ├── Options.java │ │ │ ├── OptionsByType.java │ │ │ ├── annotations │ │ │ ├── Experimental.java │ │ │ └── Internal.java │ │ │ ├── deferred │ │ │ ├── AbstractDeferred.java │ │ │ ├── Cached.java │ │ │ ├── Deferred.java │ │ │ ├── DeferredCallable.java │ │ │ ├── DeferredFunction.java │ │ │ ├── DeferredHelper.java │ │ │ ├── DeferredInvoke.java │ │ │ ├── DeferredNull.java │ │ │ ├── DeferredPredicate.java │ │ │ ├── Ensured.java │ │ │ ├── Existing.java │ │ │ ├── Future.java │ │ │ ├── NeverAvailable.java │ │ │ ├── NotAvailable.java │ │ │ ├── PermanentlyUnavailableException.java │ │ │ ├── Supervised.java │ │ │ ├── TemporarilyUnavailableException.java │ │ │ ├── UnavailableException.java │ │ │ ├── atomic │ │ │ │ ├── DeferredAtomicBoolean.java │ │ │ │ ├── DeferredAtomicInteger.java │ │ │ │ └── DeferredAtomicLong.java │ │ │ ├── jmx │ │ │ │ ├── DeferredJMXConnector.java │ │ │ │ ├── DeferredMBeanAttribute.java │ │ │ │ ├── DeferredMBeanInfo.java │ │ │ │ └── DeferredMBeanProxy.java │ │ │ └── options │ │ │ │ ├── InitialDelay.java │ │ │ │ ├── MaximumRetryDelay.java │ │ │ │ └── RetryFrequency.java │ │ │ ├── diagnostics │ │ │ └── DiagnosticsRecording.java │ │ │ ├── extensible │ │ │ ├── AbstractExtensible.java │ │ │ ├── AbstractFeature.java │ │ │ ├── Extensible.java │ │ │ └── Feature.java │ │ │ ├── io │ │ │ ├── FileHelper.java │ │ │ └── NetworkHelper.java │ │ │ ├── lang │ │ │ ├── ExpressionEvaluator.java │ │ │ ├── StringHelper.java │ │ │ └── ThreadFactories.java │ │ │ ├── options │ │ │ ├── Decoration.java │ │ │ ├── Decorations.java │ │ │ ├── Diagnostics.java │ │ │ ├── HttpProxy.java │ │ │ ├── LaunchLogging.java │ │ │ ├── Timeout.java │ │ │ ├── Variable.java │ │ │ └── Variables.java │ │ │ ├── predicate │ │ │ ├── AbstractPredicate.java │ │ │ ├── AllOf.java │ │ │ ├── Always.java │ │ │ ├── Contains.java │ │ │ ├── EqualTo.java │ │ │ ├── GreaterThan.java │ │ │ ├── Is.java │ │ │ ├── IsNot.java │ │ │ ├── IsNull.java │ │ │ ├── LessThan.java │ │ │ ├── Never.java │ │ │ └── Predicates.java │ │ │ ├── table │ │ │ ├── Cell.java │ │ │ ├── Row.java │ │ │ ├── Table.java │ │ │ ├── Tabular.java │ │ │ └── Tabularize.java │ │ │ └── util │ │ │ ├── Capture.java │ │ │ ├── Duration.java │ │ │ ├── ExceptionListener.java │ │ │ ├── ExponentialIterator.java │ │ │ ├── FibonacciIterator.java │ │ │ ├── MappingIterator.java │ │ │ ├── Pair.java │ │ │ ├── PerpetualIterator.java │ │ │ ├── Primes.java │ │ │ ├── ProxyHelper.java │ │ │ ├── Quadruple.java │ │ │ ├── RandomIterator.java │ │ │ ├── ReflectionHelper.java │ │ │ ├── RepetitiveIterator.java │ │ │ ├── StopWatch.java │ │ │ ├── SystemProperties.java │ │ │ ├── Trilean.java │ │ │ ├── Triple.java │ │ │ ├── Tuple.java │ │ │ └── Version.java │ │ └── module-info.java │ └── test │ └── java │ └── com │ └── oracle │ └── bedrock │ ├── BedrockTest.java │ ├── OptionsByTypeTest.java │ ├── deferred │ ├── AbstractDeferredTest.java │ ├── DeferredHelperTest.java │ ├── PermanentlyUnavailableExceptionTest.java │ └── jmx │ │ └── DeferredJMXConnectorTest.java │ ├── lang │ ├── ExpressionEvaluatorTests.java │ └── StringHelperTest.java │ ├── options │ └── TimeoutTest.java │ ├── table │ └── TableTest.java │ └── util │ ├── ExponentialIteratorTest.java │ ├── FibonacciIteratorTest.java │ ├── PrimesTest.java │ ├── ProxyHelperTest.java │ ├── ReflectionHelperClass.java │ ├── ReflectionHelperInterface.java │ ├── ReflectionHelperMain.java │ ├── ReflectionHelperTest.java │ └── VersionTest.java ├── bedrock-runtime-docker-tests ├── pom.xml └── src │ └── test │ ├── java │ ├── PortMappingTest.java │ ├── applications │ │ ├── SleepingApplication.java │ │ ├── SocketEchoClient.java │ │ └── SocketEchoServer.java │ ├── callables │ │ └── FindNetworks.java │ └── com │ │ └── oracle │ │ └── bedrock │ │ └── runtime │ │ └── docker │ │ ├── AbstractFunctionalTest.java │ │ ├── DockerContainerTest.java │ │ ├── DockerFunctionalTest.java │ │ ├── DockerImageTest.java │ │ ├── DockerNetworkTest.java │ │ ├── DockerTest.java │ │ ├── commands │ │ ├── AbstractCommandTest.java │ │ ├── AbstractDockerCommandTest.java │ │ ├── BuildTest.java │ │ ├── EventsTest.java │ │ ├── ImagesTest.java │ │ ├── InspectTest.java │ │ ├── KillTest.java │ │ ├── LogsTest.java │ │ ├── NetworkConnectTest.java │ │ ├── NetworkCreateTest.java │ │ ├── NetworkDisconnectTest.java │ │ ├── NetworkInspectTest.java │ │ ├── NetworkLsTest.java │ │ ├── NetworkRemoveTest.java │ │ ├── RemoveTest.java │ │ ├── RunTest.java │ │ ├── SimpleDockerCommandTest.java │ │ └── StopTest.java │ │ └── options │ │ ├── ContainerCloseBehaviourTest.java │ │ ├── DockerDefaultBaseImagesTest.java │ │ ├── DockerfileDeployerTest.java │ │ └── ImageCloseBehaviourTest.java │ └── resources │ ├── DockerfileTemplate.txt │ ├── JavaDockerfile │ ├── TestDockerfile │ ├── client-cache-config.xml │ └── server-cache-config.xml ├── bedrock-runtime-docker ├── pom.xml └── src │ └── main │ └── java │ └── com │ └── oracle │ └── bedrock │ └── runtime │ └── docker │ ├── Docker.java │ ├── DockerContainer.java │ ├── DockerImage.java │ ├── DockerPlatform.java │ ├── DockerRemoteTerminal.java │ ├── PortMapping.java │ ├── commands │ ├── AbstractDockerCommand.java │ ├── Build.java │ ├── CommandWithArgumentList.java │ ├── Events.java │ ├── Images.java │ ├── Inspect.java │ ├── Kill.java │ ├── Logs.java │ ├── Network.java │ ├── Remove.java │ ├── Run.java │ ├── SimpleDockerCommand.java │ └── Stop.java │ ├── machine │ ├── DockerMachine.java │ ├── DockerMachinePlatform.java │ └── MachineCloseBehaviour.java │ └── options │ ├── ContainerCloseBehaviour.java │ ├── DockerDefaultBaseImages.java │ ├── DockerfileDeployer.java │ └── ImageCloseBehaviour.java ├── bedrock-runtime-jacoco ├── pom.xml └── src │ ├── main │ └── java │ │ ├── com │ │ └── oracle │ │ │ └── bedrock │ │ │ └── jacoco │ │ │ ├── Dump.java │ │ │ └── JacocoProfile.java │ │ └── module-info.java │ └── test │ └── java │ ├── applications │ └── SleepingApplication.java │ └── com │ └── oracle │ └── bedrock │ └── jacoco │ └── JacocoProfileTest.java ├── bedrock-runtime-maven-tests ├── pom.xml └── src │ └── test │ └── java │ └── com │ └── oracle │ └── bedrock │ └── maven │ └── MavenTest.java ├── bedrock-runtime-maven ├── pom.xml └── src │ ├── main │ ├── java │ │ ├── com │ │ │ └── oracle │ │ │ │ └── bedrock │ │ │ │ └── maven │ │ │ │ └── Maven.java │ │ └── module-info.java │ └── resources │ │ └── META-INF │ │ └── services │ │ └── com.mycila.maven.plugin.license.PropertiesProvider │ └── test │ ├── java │ └── com │ │ └── oracle │ │ └── bedrock │ │ └── maven │ │ └── MavenTest.java │ └── resources │ └── example-resource.txt ├── bedrock-runtime-remote-tests ├── pom.xml └── src │ └── test │ ├── java │ └── com │ │ └── oracle │ │ └── bedrock │ │ └── runtime │ │ └── remote │ │ ├── AbstractRemoteTest.java │ │ ├── SimpleRemoteApplicationLauncherTest.java │ │ ├── http │ │ ├── AbstractHttpDeployerTest.java │ │ ├── CurlHttpDeployerTest.java │ │ ├── HttpDeployerTest.java │ │ └── WGetHttpDeployerTest.java │ │ ├── java │ │ ├── GetProgramArgs.java │ │ ├── GetWorkingDirectory.java │ │ ├── RemoteJavaApplicationLauncherTest.java │ │ ├── applications │ │ │ ├── EventingApplication.java │ │ │ └── SleepingApplication.java │ │ └── options │ │ │ └── JavaDeploymentTest.java │ │ ├── options │ │ └── FileShareDeployerTest.java │ │ └── ssh │ │ ├── JSchFileShareDeployerTest.java │ │ ├── JSchSessionFactoryTest.java │ │ └── SftpDeployerTest.java │ └── resources │ └── test.txt ├── bedrock-runtime-remote ├── pom.xml └── src │ └── main │ └── java │ ├── com │ └── oracle │ │ └── bedrock │ │ └── runtime │ │ └── remote │ │ ├── AbstractRemoteApplicationLauncher.java │ │ ├── AbstractRemoteTerminal.java │ │ ├── Authentication.java │ │ ├── DeployedArtifacts.java │ │ ├── DeploymentArtifact.java │ │ ├── Password.java │ │ ├── RemoteApplicationProcess.java │ │ ├── RemotePlatform.java │ │ ├── RemoteTerminal.java │ │ ├── RemoteTerminalBuilder.java │ │ ├── RemoteTerminals.java │ │ ├── SecureKeys.java │ │ ├── SimpleRemoteApplicationLauncher.java │ │ ├── http │ │ ├── CurlHttpDeployer.java │ │ ├── HttpAuthenticationType.java │ │ ├── HttpBasedAuthentication.java │ │ ├── HttpDeployer.java │ │ └── WGetHttpDeployer.java │ │ ├── java │ │ ├── RemoteJavaApplicationLauncher.java │ │ └── options │ │ │ └── JavaDeployment.java │ │ ├── options │ │ ├── CustomDeployment.java │ │ ├── Deployer.java │ │ ├── Deployment.java │ │ ├── FileShareDeployer.java │ │ ├── HostName.java │ │ ├── StrictHostChecking.java │ │ └── UserKnownHostsFile.java │ │ └── ssh │ │ ├── JSchBasedAuthentication.java │ │ ├── JSchFileShareDeployer.java │ │ ├── JSchRemoteTerminal.java │ │ ├── JSchSessionFactory.java │ │ ├── JSchSocketFactory.java │ │ ├── JschLogger.java │ │ ├── JschRemoteApplicationProcess.java │ │ └── SftpDeployer.java │ └── module-info.java ├── bedrock-runtime-tests ├── pom.xml └── src │ └── test │ └── java │ ├── classloader │ └── applications │ │ ├── ChildApplication.java │ │ ├── EventingApplication.java │ │ ├── ParentApplication.java │ │ ├── SimpleTester.java │ │ ├── SleepingApplication.java │ │ ├── Tester.java │ │ ├── TesterApplication.java │ │ └── TesterProducer.java │ └── com │ └── oracle │ └── bedrock │ └── runtime │ ├── AbstractPlatformTest.java │ ├── DummyApp.java │ ├── DummyClassPathApp.java │ ├── LocalPlatformApplicationTest.java │ ├── concurrent │ └── socket │ │ └── SocketBasedRemoteChannelTest.java │ ├── java │ ├── AbstractJavaApplicationTest.java │ ├── ApplicationWithHangingShutdownHook.java │ ├── ContainerBasedJavaApplicationTest.java │ ├── ErrorThrowingCallable.java │ ├── FaultyApplication.java │ ├── GetProgramArgs.java │ ├── GetWorkingDirectory.java │ ├── LocalPlatformJavaApplicationTest.java │ ├── NonStaticInnerClasses.java │ ├── SystemPropertyMutatingApplication.java │ └── container │ │ ├── ContainerBasedJavaApplicationProcessTest.java │ │ ├── ContainerMBeanServerBuilderTest.java │ │ ├── Dummy.java │ │ ├── DummyMBean.java │ │ └── InvocationTracingApplication.java │ └── network │ ├── AvailablePortIteratorTest.java │ └── NetworkHelperIT.java ├── bedrock-runtime-vagrant-tests ├── pom.xml └── src │ └── test │ ├── java │ └── com │ │ └── oracle │ │ └── bedrock │ │ └── runtime │ │ └── virtual │ │ └── vagrant │ │ ├── DoStuff.java │ │ ├── VagrantChecker.java │ │ └── VagrantFunctionalTest.java │ └── resources │ └── Single-VM-Vagrantfile.rb ├── bedrock-runtime-vagrant ├── pom.xml └── src │ └── main │ └── java │ ├── com │ └── oracle │ │ └── bedrock │ │ └── runtime │ │ └── virtual │ │ └── vagrant │ │ ├── OptionsBasedVagrantFileBuilder.java │ │ ├── URLBasedVagrantFileBuilder.java │ │ ├── VagrantFileBuilder.java │ │ ├── VagrantPlatform.java │ │ └── options │ │ ├── AbstractNetwork.java │ │ ├── BoxName.java │ │ ├── BridgedNetwork.java │ │ ├── HostOnlyNetwork.java │ │ ├── Network.java │ │ ├── Networks.java │ │ ├── UpdateBox.java │ │ ├── VagrantConfigurations.java │ │ ├── VagrantProperties.java │ │ ├── VagrantProperty.java │ │ ├── VagrantProvisioner.java │ │ └── VagrantProvisioners.java │ └── module-info.java ├── bedrock-runtime-virtual-tests ├── pom.xml └── src │ └── test │ └── java │ └── com │ └── oracle │ └── bedrock │ └── runtime │ └── virtual │ └── HostAddressIteratorTest.java ├── bedrock-runtime-virtual ├── pom.xml └── src │ └── main │ └── java │ ├── com │ └── oracle │ │ └── bedrock │ │ └── runtime │ │ └── virtual │ │ ├── CloseAction.java │ │ ├── HostAddressIterator.java │ │ └── VirtualPlatform.java │ └── module-info.java ├── bedrock-runtime-windows-tests ├── pom.xml └── src │ └── test │ └── java │ └── com │ └── oracle │ └── bedrock │ └── runtime │ └── remote │ └── windows │ ├── http │ ├── AbstractWindowsHttpDeployerTest.java │ └── PowerShellHttpDeployerTest.java │ └── winrm │ ├── AbstractWindowsTest.java │ ├── InputStreamConnectorTest.java │ ├── OutputStreamConnectorTest.java │ ├── SoapConnectionTest.java │ ├── WindowsRemoteTerminalTest.java │ └── WindowsSessionTest.java ├── bedrock-runtime-windows ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── oracle │ │ └── bedrock │ │ └── runtime │ │ └── remote │ │ └── windows │ │ ├── WindowsDeployers.java │ │ ├── WindowsFileShareDeployer.java │ │ ├── WindowsTerminals.java │ │ ├── http │ │ └── PowerShellHttpDeployer.java │ │ └── winrm │ │ ├── InputStreamConnector.java │ │ ├── ObjectFactories.java │ │ ├── OutputStreamConnector.java │ │ ├── SoapConnection.java │ │ ├── SoapFaultException.java │ │ ├── WindowsRemoteApplicationProcess.java │ │ ├── WindowsRemoteTerminal.java │ │ ├── WindowsSession.java │ │ ├── WindowsShellOptions.java │ │ └── WindowsSoapOptions.java │ └── resources │ ├── bindings.xjb │ ├── dtd │ ├── XMLSchema.dtd │ └── datatypes.dtd │ ├── ws-man.properties │ └── xsd │ ├── addressing.xsd │ ├── common.xsd │ ├── dsp8019.xsd │ ├── enumeration.xsd │ ├── eventing.xsd │ ├── management.xsd │ ├── ms-wsman-cert.xsd │ ├── ms-wsman-config.xsd │ ├── ms-wsman-fault.xsd │ ├── ms-wsman-interactive.xsd │ ├── ms-wsman-plugin.xsd │ ├── ms-wsman-shell.xsd │ ├── soap-envelope.xsd │ ├── transfer.xsd │ ├── ws-addr.xsd │ └── xml.xsd ├── bedrock-runtime ├── pom.xml └── src │ ├── main │ └── java │ │ ├── com │ │ └── oracle │ │ │ └── bedrock │ │ │ └── runtime │ │ │ ├── AbstractApplication.java │ │ │ ├── AbstractAssembly.java │ │ │ ├── AbstractAssemblyBuilder.java │ │ │ ├── AbstractPlatform.java │ │ │ ├── Application.java │ │ │ ├── ApplicationConsole.java │ │ │ ├── ApplicationConsoleBuilder.java │ │ │ ├── ApplicationLauncher.java │ │ │ ├── ApplicationListener.java │ │ │ ├── ApplicationProcess.java │ │ │ ├── ApplicationStream.java │ │ │ ├── Assembly.java │ │ │ ├── AssemblyBuilder.java │ │ │ ├── Infrastructure.java │ │ │ ├── LocalApplicationProcess.java │ │ │ ├── LocalPlatform.java │ │ │ ├── MetaClass.java │ │ │ ├── OperatingSystem.java │ │ │ ├── Platform.java │ │ │ ├── Profile.java │ │ │ ├── Profiles.java │ │ │ ├── PropertiesBuilder.java │ │ │ ├── Settings.java │ │ │ ├── SimpleApplication.java │ │ │ ├── SimpleApplicationLauncher.java │ │ │ ├── SimpleAssembly.java │ │ │ ├── StaticInfrastructure.java │ │ │ ├── concurrent │ │ │ ├── AbstractControllableRemoteChannel.java │ │ │ ├── AbstractRemoteChannel.java │ │ │ ├── ControllableRemoteChannel.java │ │ │ ├── PipeBasedRemoteChannel.java │ │ │ ├── RemoteCallable.java │ │ │ ├── RemoteChannel.java │ │ │ ├── RemoteChannelListener.java │ │ │ ├── RemoteEvent.java │ │ │ ├── RemoteEventListener.java │ │ │ ├── RemoteRunnable.java │ │ │ ├── callable │ │ │ │ ├── GetSystemProperty.java │ │ │ │ ├── RemoteCallableStaticMethod.java │ │ │ │ └── RemoteMethodInvocation.java │ │ │ ├── options │ │ │ │ ├── Caching.java │ │ │ │ └── StreamName.java │ │ │ ├── runnable │ │ │ │ ├── RuntimeExit.java │ │ │ │ ├── RuntimeHalt.java │ │ │ │ ├── SystemExit.java │ │ │ │ └── ThreadDump.java │ │ │ └── socket │ │ │ │ ├── SocketBasedRemoteChannel.java │ │ │ │ ├── SocketBasedRemoteChannelClient.java │ │ │ │ └── SocketBasedRemoteChannelServer.java │ │ │ ├── console │ │ │ ├── AbstractPipedApplicationConsole.java │ │ │ ├── CapturingApplicationConsole.java │ │ │ ├── DefaultOutputRedirector.java │ │ │ ├── EventsApplicationConsole.java │ │ │ ├── FileWriterApplicationConsole.java │ │ │ ├── InputFromIntputStreamRedirector.java │ │ │ ├── InputRedirector.java │ │ │ ├── NullApplicationConsole.java │ │ │ ├── OutputRedirector.java │ │ │ ├── OutputToOutputStreamRedirector.java │ │ │ ├── PipedApplicationConsole.java │ │ │ ├── StdErrRedirector.java │ │ │ ├── StdInRedirector.java │ │ │ ├── StdOutRedirector.java │ │ │ └── SystemApplicationConsole.java │ │ │ ├── java │ │ │ ├── AbstractJavaApplication.java │ │ │ ├── ClassPath.java │ │ │ ├── ClassPathModifier.java │ │ │ ├── ClassPathScanner.java │ │ │ ├── ContainerBasedJavaApplicationLauncher.java │ │ │ ├── JavaApplication.java │ │ │ ├── JavaApplicationLauncher.java │ │ │ ├── JavaApplicationProcess.java │ │ │ ├── JavaApplicationRunner.java │ │ │ ├── JavaVirtualMachine.java │ │ │ ├── LocalJavaApplicationLauncher.java │ │ │ ├── LocalProcessBuilder.java │ │ │ ├── SimpleJavaApplication.java │ │ │ ├── SimpleLocalProcessBuilder.java │ │ │ ├── container │ │ │ │ ├── AbstractContainerScope.java │ │ │ │ ├── AbstractDelegatingInputStream.java │ │ │ │ ├── AbstractDelegatingOutputStream.java │ │ │ │ ├── AbstractScope.java │ │ │ │ ├── Container.java │ │ │ │ ├── ContainerClassLoader.java │ │ │ │ ├── ContainerMBeanServerBuilder.java │ │ │ │ ├── ContainerScope.java │ │ │ │ ├── ContainerScopeClassLoader.java │ │ │ │ ├── DefaultScope.java │ │ │ │ ├── DelegatingMBeanServer.java │ │ │ │ ├── DelegatingMBeanServerBuilder.java │ │ │ │ ├── DelegatingProperties.java │ │ │ │ ├── DelegatingStdErrOutputStream.java │ │ │ │ ├── DelegatingStdInInputStream.java │ │ │ │ ├── DelegatingStdOutOutputStream.java │ │ │ │ ├── LineNumberingOutputStream.java │ │ │ │ ├── PlatformScope.java │ │ │ │ └── Scope.java │ │ │ ├── features │ │ │ │ └── JmxFeature.java │ │ │ ├── io │ │ │ │ ├── ClassLoaderAwareObjectInputStream.java │ │ │ │ ├── NullReader.java │ │ │ │ ├── NullWriter.java │ │ │ │ └── Serialization.java │ │ │ ├── options │ │ │ │ ├── BedrockRunner.java │ │ │ │ ├── ClassName.java │ │ │ │ ├── Freeform.java │ │ │ │ ├── Freeforms.java │ │ │ │ ├── Headless.java │ │ │ │ ├── HeapSize.java │ │ │ │ ├── HotSpot.java │ │ │ │ ├── IPv4Preferred.java │ │ │ │ ├── JavaAgent.java │ │ │ │ ├── JavaAgents.java │ │ │ │ ├── JavaHome.java │ │ │ │ ├── JavaModules.java │ │ │ │ ├── JvmOption.java │ │ │ │ ├── JvmOptions.java │ │ │ │ ├── RemoteEvents.java │ │ │ │ ├── SystemProperties.java │ │ │ │ ├── SystemProperty.java │ │ │ │ └── WaitToStart.java │ │ │ └── profiles │ │ │ │ ├── CommercialFeatures.java │ │ │ │ ├── JmxProfile.java │ │ │ │ └── RemoteDebugging.java │ │ │ ├── network │ │ │ └── AvailablePortIterator.java │ │ │ └── options │ │ │ ├── ApplicationClosingBehavior.java │ │ │ ├── Argument.java │ │ │ ├── Arguments.java │ │ │ ├── CommandInterceptor.java │ │ │ ├── Console.java │ │ │ ├── ConsoleErrorRedirector.java │ │ │ ├── ConsoleInputRedirector.java │ │ │ ├── ConsoleOutputRedirector.java │ │ │ ├── Discriminator.java │ │ │ ├── DisplayName.java │ │ │ ├── EnvironmentVariable.java │ │ │ ├── EnvironmentVariables.java │ │ │ ├── ErrorStreamRedirection.java │ │ │ ├── Executable.java │ │ │ ├── Orphanable.java │ │ │ ├── PlatformPredicate.java │ │ │ ├── PlatformSeparators.java │ │ │ ├── Ports.java │ │ │ ├── Shell.java │ │ │ ├── StabilityPredicate.java │ │ │ ├── TemporaryDirectory.java │ │ │ └── WorkingDirectory.java │ │ └── module-info.java │ └── test │ ├── java │ ├── classloader │ │ ├── child │ │ │ └── DummyClass.java │ │ └── parent │ │ │ └── DummyParentLoadedClass.java │ └── com │ │ └── oracle │ │ └── bedrock │ │ └── runtime │ │ ├── ExampleProfile.java │ │ ├── InfrastructureAssemblyBuilderTest.java │ │ ├── LocalPlatformTest.java │ │ ├── ProfilesTest.java │ │ ├── PropertiesBuilderTest.java │ │ ├── concurrent │ │ └── socket │ │ │ └── SocketBasedRemoteChannelServerTest.java │ │ ├── console │ │ ├── CapturingApplicationConsoleTest.java │ │ ├── EchoApp.java │ │ ├── FileWriterApplicationConsoleTest.java │ │ ├── InputToInputStreamRedirectorTest.java │ │ ├── NullApplicationConsoleTest.java │ │ ├── OutputToOutputStreamRedirectorTest.java │ │ ├── PipedApplicationConsoleTest.java │ │ ├── SimpleApp.java │ │ ├── StdErrRedirectorTest.java │ │ ├── StdOutRedirectorTest.java │ │ └── SystemApplicationConsoleTest.java │ │ ├── java │ │ ├── ClassPathModifierTest.java │ │ ├── ClassPathTest.java │ │ ├── JavaVirtualMachineMockHelper.java │ │ ├── JavaVirtualMachineTest.java │ │ ├── console │ │ │ └── PipedApplicationConsoleTest.java │ │ ├── container │ │ │ ├── ContainerClassLoaderTest.java │ │ │ ├── ContainerScopeTest.java │ │ │ └── DelegatingPropertiesTest.java │ │ └── options │ │ │ ├── HeapSizeTest.java │ │ │ ├── JavaModulesTest.java │ │ │ └── SystemPropertiesTest.java │ │ ├── network │ │ └── ListNets.java │ │ └── options │ │ ├── ArgumentsTest.java │ │ ├── EnvironmentVariablesTest.java │ │ ├── ExecutableTest.java │ │ ├── PortsTest.java │ │ └── WorkingDirectoryTest.java │ └── resources │ ├── META-INF │ └── services │ │ └── com.oracle.bedrock.runtime.Profile │ └── propertiesbuilder-test.properties ├── bedrock-testing-support-tests ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── oracle │ │ └── bedrock │ │ └── testsupport │ │ └── junit │ │ ├── AbstractJUnit3Suite.java │ │ ├── AbstractJUnit3Test.java │ │ ├── AbstractJUnit4Test.java │ │ ├── AbstractRunWithAnnotatedTest.java │ │ ├── AbstractRunWithEnclosedTest.java │ │ ├── EmptyTest.java │ │ ├── EnumTest.java │ │ ├── GoodTest.java │ │ ├── InterfaceTest.java │ │ ├── JUnit3Suite.java │ │ ├── JUnit3Test.java │ │ ├── JUnit4Test.java │ │ ├── MyBadTest.java │ │ ├── MyOtherTest.java │ │ ├── RunWithAnnotatedTest.java │ │ └── SleepingApplication.java │ └── test │ └── java │ └── com │ └── oracle │ └── bedrock │ └── testsupport │ └── junit │ ├── JUnitTest.java │ ├── JUnitTestRunnerTest.java │ ├── TestClassPredicateTest.java │ └── options │ ├── TestClassesClassPathClassesTest.java │ ├── TestClassesIncludeExcludePredicateTest.java │ ├── TestClassesSpecificClassesTest.java │ ├── TestClassesTest.java │ ├── TestClassesTestMatcherTest.java │ └── TestsTest.java ├── bedrock-testing-support ├── pom.xml └── src │ ├── main │ └── java │ │ ├── com │ │ └── oracle │ │ │ └── bedrock │ │ │ └── testsupport │ │ │ ├── MavenProjectFileUtils.java │ │ │ ├── deferred │ │ │ ├── Concurrent.java │ │ │ ├── Concurrently.java │ │ │ ├── DeferredMatch.java │ │ │ ├── DeferredRemoteExecution.java │ │ │ ├── Eventually.java │ │ │ ├── FutureMatcher.java │ │ │ ├── Repetitively.java │ │ │ └── options │ │ │ │ └── FailFast.java │ │ │ ├── junit │ │ │ ├── AbstractAssemblyResource.java │ │ │ ├── AbstractBaseAssembly.java │ │ │ ├── AbstractTest.java │ │ │ ├── AbstractTestLogs.java │ │ │ ├── BaseJUnitTestListener.java │ │ │ ├── CheckJDK.java │ │ │ ├── JUnitReporter.java │ │ │ ├── JUnitTestListener.java │ │ │ ├── JUnitTestRun.java │ │ │ ├── JUnitTestRunner.java │ │ │ ├── JUnitTextReporter.java │ │ │ ├── JUnitUtils.java │ │ │ ├── JUnitXmlReporter.java │ │ │ ├── SimpleJUnitTestListener.java │ │ │ ├── SimpleJUnitTestRun.java │ │ │ ├── SystemPropertyIsolation.java │ │ │ ├── TestClassPredicate.java │ │ │ ├── TestLogs.java │ │ │ ├── TestLogsExtension.java │ │ │ └── options │ │ │ │ ├── TestClasses.java │ │ │ │ └── Tests.java │ │ │ └── matchers │ │ │ ├── ConstantMatcher.java │ │ │ ├── EntrySetMatcher.java │ │ │ ├── Equivalence.java │ │ │ ├── MapMatcher.java │ │ │ ├── RecordingMatcher.java │ │ │ ├── ThrowableCausedByMatcher.java │ │ │ ├── ThrowableMatcher.java │ │ │ └── ThrowableMessageMatcher.java │ │ └── module-info.java │ └── test │ └── java │ └── com │ └── oracle │ └── bedrock │ └── testsupport │ ├── deferred │ ├── ConcurrentlyTest.java │ ├── DeferredMatchTest.java │ ├── DeferredRemoteExecutionTest.java │ ├── EventuallyTest.java │ ├── RepetitivelyTest.java │ └── TimeoutTest.java │ └── junit │ ├── JUnitReporterTest.java │ ├── JUnitTestRunMetaClassTest.java │ ├── JUnitTestRunnerListenerTest.java │ ├── JUnitTestRunnerStartTestsTest.java │ ├── JUnitTestRunnerStopTestsTest.java │ ├── SimpleJUnitTestListenerTest.java │ └── SimpleJUnitTestRunTest.java ├── documents ├── bedrock-coding-convention.xjs ├── java-license-header.txt ├── properties-license-header.txt └── xml-license-header.txt ├── etc ├── dependency-check-suppression.xml ├── dependency-check.sh └── deploy-snapshots.sh └── pom.xml /.github/workflows/build-win.yaml: -------------------------------------------------------------------------------- 1 | # --------------------------------------------------------------------------- 2 | # Bedrock GitHub Actions CI build on Windows. 3 | # --------------------------------------------------------------------------- 4 | 5 | name: CI Build (Win) 6 | 7 | on: 8 | workflow_dispatch: 9 | push: 10 | branches: 11 | - '*' 12 | pull_request: 13 | branches: 14 | - '*' 15 | 16 | jobs: 17 | build: 18 | runs-on: windows-latest 19 | 20 | strategy: 21 | fail-fast: false 22 | matrix: 23 | module: 24 | - bedrock-core 25 | - bedrock-runtime 26 | - bedrock-runtime-windows-tests 27 | 28 | steps: 29 | - name: Checkout 30 | uses: actions/checkout@v3 31 | 32 | - name: Set up JDK 33 | uses: actions/setup-java@v3 34 | with: 35 | distribution: 'oracle' 36 | java-version: '17' 37 | 38 | - name: Cache Maven packages 39 | uses: actions/cache@v3 40 | with: 41 | path: ~/.m2 42 | key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }} 43 | restore-keys: ${{ runner.os }}-m2- 44 | 45 | - name: Build 46 | shell: bash 47 | run: | 48 | export DEV_ROOT=$(pwd) 49 | mvn -U --batch-mode -e clean install -DskipTests -Pcoherence-ce 50 | mvn --batch-mode -e -nsu verify -pl ${{ matrix.module }} -Pcoherence-ce -Dgithub.build=true 51 | -------------------------------------------------------------------------------- /.github/workflows/dependencies.yaml: -------------------------------------------------------------------------------- 1 | # --------------------------------------------------------------------------- 2 | # Bedrock dependencies check. 3 | # --------------------------------------------------------------------------- 4 | 5 | name: Dependencies Check 6 | 7 | on: 8 | workflow_dispatch: 9 | schedule: 10 | - cron: '0 5 * * *' 11 | push: 12 | branches: 13 | - '*' 14 | pull_request: 15 | branches: 16 | - '*' 17 | 18 | jobs: 19 | build: 20 | runs-on: ubuntu-latest 21 | 22 | steps: 23 | - name: Checkout 24 | uses: actions/checkout@v3 25 | 26 | - name: Set up JDK 27 | uses: actions/setup-java@v3 28 | with: 29 | distribution: 'oracle' 30 | java-version: '17' 31 | 32 | - name: Cache Maven packages 33 | uses: actions/cache@v3 34 | with: 35 | path: ~/.m2 36 | key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }} 37 | restore-keys: ${{ runner.os }}-m2- 38 | 39 | - name: Check 40 | shell: bash 41 | run: | 42 | export MAVEN_ARGS="-P coherence-ce" 43 | sh ./etc/dependency-check.sh 44 | 45 | - uses: actions/upload-artifact@v1 46 | if: failure() 47 | with: 48 | name: build-output 49 | path: "target/*.*" 50 | -------------------------------------------------------------------------------- /.github/workflows/deploy-snapshots.yaml: -------------------------------------------------------------------------------- 1 | # This workflow will build a Java project with Maven and deploy snapshot 2 | # artifacts to Maven Central 3 | # 4 | # This job is triggered by a completed run of the "CI Build" action. 5 | # The "build" job only runs if the "CI Build" action completed successfully. 6 | # The deployed artifacts will be built from the same commit that the "CI Build" action used. 7 | # 8 | name: Deploy to Maven Central 9 | 10 | on: 11 | workflow_run: 12 | workflows: ["CI Build"] 13 | branches: [ main, develop-6.x ] 14 | types: 15 | - completed 16 | 17 | env: 18 | GITHUB_TOKEN: ${{ secrets.BOT_TOKEN }} 19 | GIT_USER: ${{ secrets.BOT_USERNAME }} 20 | GIT_EMAIL: ${{ secrets.BOT_EMAIL }} 21 | MAVEN_OPTS: -Dhttp.keepAlive=false -Dmaven.wagon.http.pool=false 22 | 23 | jobs: 24 | build: 25 | if: ${{ github.event.workflow_run.conclusion == 'success' }} 26 | 27 | runs-on: ubuntu-latest 28 | 29 | steps: 30 | - uses: actions/checkout@v3 31 | with: 32 | fetch-depth: 0 33 | 34 | - name: Set up JDK 35 | uses: actions/setup-java@v3 36 | with: 37 | distribution: 'zulu' 38 | java-version: '17' 39 | 40 | - name: Cache Maven packages 41 | uses: actions/cache@v3 42 | with: 43 | path: ~/.m2 44 | key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }} 45 | restore-keys: ${{ runner.os }}-m2 46 | 47 | - name: Build with Maven 48 | env: 49 | MAVEN_SONATYPE_USERNAME: ${{ secrets.MAVEN_SONATYPE_USERNAME }} 50 | MAVEN_SONATYPE_TOKEN: ${{ secrets.MAVEN_SONATYPE_TOKEN }} 51 | GIT_COMMIT: ${{github.event.workflow_run.head_commit.id}} 52 | HEAD_BRANCH: ${{github.event.workflow_run.head_branch}} 53 | run: | 54 | echo "Checking out branch ${HEAD_BRANCH} commit ${GIT_COMMIT}" 55 | git checkout "${GIT_COMMIT}" 56 | git config --local user.name "${GIT_USER}" 57 | git config --local user.email "${GIT_EMAIL}" 58 | sh etc/deploy-snapshots.sh 59 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | *.ipr 3 | *.iws 4 | *.class 5 | *.jar 6 | *.ear 7 | *.war 8 | *.gar 9 | .idea/ 10 | target/ 11 | .settings/ 12 | .project/ 13 | .classpath/ 14 | .checkstyle/ 15 | .flattened-pom.xml 16 | dependency-reduced-pom.xml 17 | -------------------------------------------------------------------------------- /.mvn/settings.xml: -------------------------------------------------------------------------------- 1 | 6 | 7 | 9 | 10 | 11 | sonatype 12 | ${env.MAVEN_SONATYPE_USERNAME} 13 | ${env.MAVEN_SONATYPE_TOKEN} 14 | 15 | 16 | -------------------------------------------------------------------------------- /bedrock-coherence/12.2.1/coherence-12.2.1-tests/src/test/java/com/oracle/bedrock/runtime/coherence/ContainerBasedCoherenceCacheServerIT.java: -------------------------------------------------------------------------------- 1 | /* 2 | * File: ContainerBasedCoherenceCacheServerTest.java 3 | * 4 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 5 | * 6 | * The contents of this file are subject to the terms and conditions of 7 | * the Common Development and Distribution License 1.0 (the "License"). 8 | * 9 | * You may not use this file except in compliance with the License. 10 | * 11 | * You can obtain a copy of the License by consulting the LICENSE.txt file 12 | * distributed with this file, or by consulting https://oss.oracle.com/licenses/CDDL 13 | * 14 | * See the License for the specific language governing permissions 15 | * and limitations under the License. 16 | * 17 | * When distributing the software, include this License Header Notice in each 18 | * file and include the License file LICENSE.txt. 19 | * 20 | * MODIFICATIONS: 21 | * If applicable, add the following below the License Header, with the fields 22 | * enclosed by brackets [] replaced by your own identifying information: 23 | * "Portions Copyright [year] [name of copyright owner]" 24 | */ 25 | 26 | package com.oracle.bedrock.runtime.coherence; 27 | 28 | import com.oracle.bedrock.runtime.Platform; 29 | import com.oracle.bedrock.runtime.java.ContainerBasedJavaApplicationLauncher; 30 | import com.oracle.bedrock.runtime.java.JavaVirtualMachine; 31 | 32 | /** 33 | * Functional Test for {@link CoherenceCacheServer}s using a {@link ContainerBasedJavaApplicationLauncher}. 34 | *

35 | * Copyright (c) 2014. All Rights Reserved. Oracle Corporation.
36 | * Oracle is a registered trademark of Oracle Corporation and/or its affiliates. 37 | * 38 | * @author Brian Oliver 39 | */ 40 | public class ContainerBasedCoherenceCacheServerIT extends AbstractCoherenceCacheServerTest 41 | { 42 | @Override 43 | public Platform getPlatform() 44 | { 45 | return JavaVirtualMachine.get(); 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /bedrock-coherence/12.2.1/coherence-12.2.1-tests/src/test/java/com/oracle/bedrock/runtime/coherence/GetProcessor.java: -------------------------------------------------------------------------------- 1 | /* 2 | * File: GetProcessor.java 3 | * 4 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 5 | * 6 | * The contents of this file are subject to the terms and conditions of 7 | * the Common Development and Distribution License 1.0 (the "License"). 8 | * 9 | * You may not use this file except in compliance with the License. 10 | * 11 | * You can obtain a copy of the License by consulting the LICENSE.txt file 12 | * distributed with this file, or by consulting https://oss.oracle.com/licenses/CDDL 13 | * 14 | * See the License for the specific language governing permissions 15 | * and limitations under the License. 16 | * 17 | * When distributing the software, include this License Header Notice in each 18 | * file and include the License file LICENSE.txt. 19 | * 20 | * MODIFICATIONS: 21 | * If applicable, add the following below the License Header, with the fields 22 | * enclosed by brackets [] replaced by your own identifying information: 23 | * "Portions Copyright [year] [name of copyright owner]" 24 | */ 25 | 26 | package com.oracle.bedrock.runtime.coherence; 27 | 28 | import com.tangosol.util.InvocableMap; 29 | import com.tangosol.util.processor.AbstractProcessor; 30 | 31 | /** 32 | * An {@link InvocableMap.EntryProcessor} to return the value of an entry. 33 | *

34 | * Copyright (c) 2014. All Rights Reserved. Oracle Corporation.
35 | * Oracle is a registered trademark of Oracle Corporation and/or its affiliates. 36 | * 37 | * @author Brian Oliver 38 | */ 39 | public class GetProcessor extends AbstractProcessor 40 | { 41 | /** 42 | * Constructs a {@link GetProcessor}. 43 | */ 44 | public GetProcessor() 45 | { 46 | } 47 | 48 | 49 | @Override 50 | public Object process(InvocableMap.Entry entry) 51 | { 52 | return entry.isPresent() ? entry.getValue() : null; 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /bedrock-coherence/12.2.1/coherence-12.2.1-tests/src/test/java/com/oracle/bedrock/runtime/coherence/LocalCoherenceCacheServerIT.java: -------------------------------------------------------------------------------- 1 | /* 2 | * File: LocalCoherenceCacheServerTest.java 3 | * 4 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 5 | * 6 | * The contents of this file are subject to the terms and conditions of 7 | * the Common Development and Distribution License 1.0 (the "License"). 8 | * 9 | * You may not use this file except in compliance with the License. 10 | * 11 | * You can obtain a copy of the License by consulting the LICENSE.txt file 12 | * distributed with this file, or by consulting https://oss.oracle.com/licenses/CDDL 13 | * 14 | * See the License for the specific language governing permissions 15 | * and limitations under the License. 16 | * 17 | * When distributing the software, include this License Header Notice in each 18 | * file and include the License file LICENSE.txt. 19 | * 20 | * MODIFICATIONS: 21 | * If applicable, add the following below the License Header, with the fields 22 | * enclosed by brackets [] replaced by your own identifying information: 23 | * "Portions Copyright [year] [name of copyright owner]" 24 | */ 25 | 26 | package com.oracle.bedrock.runtime.coherence; 27 | 28 | import com.oracle.bedrock.runtime.LocalPlatform; 29 | import com.oracle.bedrock.runtime.Platform; 30 | import com.oracle.bedrock.runtime.java.LocalJavaApplicationLauncher; 31 | 32 | /** 33 | * Functional Test for {@link CoherenceCacheServer}s using a {@link LocalJavaApplicationLauncher}. 34 | *

35 | * Copyright (c) 2014. All Rights Reserved. Oracle Corporation.
36 | * Oracle is a registered trademark of Oracle Corporation and/or its affiliates. 37 | * 38 | * @author Brian Oliver 39 | */ 40 | public class LocalCoherenceCacheServerIT extends AbstractCoherenceCacheServerTest 41 | { 42 | @Override 43 | public Platform getPlatform() 44 | { 45 | return LocalPlatform.get(); 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /bedrock-coherence/12.2.1/coherence-12.2.1-tests/src/test/resources/test-operational-override.xml: -------------------------------------------------------------------------------- 1 | 28 | 31 | 32 | 33 | MyCluster 34 | 35 | 36 | 37 | 1000 38 | 39 | 40 | -------------------------------------------------------------------------------- /bedrock-coherence/12.2.1/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 4.0.0 3 | 4 | 5 | com.oracle.bedrock 6 | bedrock-coherence 7 | 7.0.7-SNAPSHOT 8 | 9 | 10 | com.oracle.bedrock.coherence 11 | 12.2.1 12 | 13 | pom 14 | 15 | Bedrock for Coherence 12.2.1.4 Project 16 | 17 | 18 | 19 | 12.2.1-4-21 20 | com.oracle.coherence 21 | 22 | 23 | 24 | coherence-12.2.1 25 | coherence-12.2.1-tests 26 | coherence-12.2.1-testing-support 27 | 28 | 29 | 33 | 34 | 35 | coherence-ce 36 | 37 | false 38 | 39 | 40 | 21.06.2 41 | com.oracle.coherence.ce 42 | 43 | 44 | 45 | -------------------------------------------------------------------------------- /bedrock-coherence/14.1.1/coherence-14.1.1-testing-support-tests-junit4/src/test/resources/client-cache-config.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 8 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | dist-* 20 | remote-cache 21 | 22 | 23 | 24 | 25 | 26 | 30 | 31 | remote-cache 32 | RemoteCache 33 | Proxy 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | -------------------------------------------------------------------------------- /bedrock-coherence/14.1.1/coherence-14.1.1-testing-support-tests-junit5/src/test/resources/client-cache-config.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 8 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | dist-* 20 | remote-cache 21 | 22 | 23 | 24 | 25 | 26 | 30 | 31 | remote-cache 32 | RemoteCache 33 | Proxy 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | -------------------------------------------------------------------------------- /bedrock-coherence/14.1.1/coherence-14.1.1/src/main/java/com/oracle/bedrock/runtime/coherence/callables/GetClusterName.java: -------------------------------------------------------------------------------- 1 | /* 2 | * File: GetClusterName.java 3 | * 4 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 5 | * 6 | * The contents of this file are subject to the terms and conditions of 7 | * the Common Development and Distribution License 1.0 (the "License"). 8 | * 9 | * You may not use this file except in compliance with the License. 10 | * 11 | * You can obtain a copy of the License by consulting the LICENSE.txt file 12 | * distributed with this file, or by consulting https://oss.oracle.com/licenses/CDDL 13 | * 14 | * See the License for the specific language governing permissions 15 | * and limitations under the License. 16 | * 17 | * When distributing the software, include this License Header Notice in each 18 | * file and include the License file LICENSE.txt. 19 | * 20 | * MODIFICATIONS: 21 | * If applicable, add the following below the License Header, with the fields 22 | * enclosed by brackets [] replaced by your own identifying information: 23 | * "Portions Copyright [year] [name of copyright owner]" 24 | */ 25 | 26 | package com.oracle.bedrock.runtime.coherence.callables; 27 | 28 | import com.oracle.bedrock.runtime.concurrent.RemoteCallable; 29 | import com.tangosol.net.CacheFactory; 30 | 31 | /** 32 | * A {@link RemoteCallable} to remotely determine the name of a Coherence Cluster. 33 | *

34 | * Copyright (c) 2013. All Rights Reserved. Oracle Corporation.
35 | * Oracle is a registered trademark of Oracle Corporation and/or its affiliates. 36 | * 37 | * @author Brian Oliver 38 | */ 39 | public class GetClusterName implements RemoteCallable 40 | { 41 | @Override 42 | public String call() throws Exception 43 | { 44 | // attempt to get the cluster 45 | com.tangosol.net.Cluster cluster = CacheFactory.getCluster(); 46 | 47 | // when there's no cluster or we're not yet a member there's no result 48 | return cluster == null ? null : cluster.getClusterName(); 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /bedrock-coherence/14.1.1/coherence-14.1.1/src/main/java/com/oracle/bedrock/runtime/coherence/callables/GetLocalMemberId.java: -------------------------------------------------------------------------------- 1 | /* 2 | * File: GetLocalMemberId.java 3 | * 4 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 5 | * 6 | * The contents of this file are subject to the terms and conditions of 7 | * the Common Development and Distribution License 1.0 (the "License"). 8 | * 9 | * You may not use this file except in compliance with the License. 10 | * 11 | * You can obtain a copy of the License by consulting the LICENSE.txt file 12 | * distributed with this file, or by consulting https://oss.oracle.com/licenses/CDDL 13 | * 14 | * See the License for the specific language governing permissions 15 | * and limitations under the License. 16 | * 17 | * When distributing the software, include this License Header Notice in each 18 | * file and include the License file LICENSE.txt. 19 | * 20 | * MODIFICATIONS: 21 | * If applicable, add the following below the License Header, with the fields 22 | * enclosed by brackets [] replaced by your own identifying information: 23 | * "Portions Copyright [year] [name of copyright owner]" 24 | */ 25 | 26 | package com.oracle.bedrock.runtime.coherence.callables; 27 | 28 | import com.oracle.bedrock.runtime.concurrent.RemoteCallable; 29 | import com.tangosol.net.CacheFactory; 30 | 31 | /** 32 | * A {@link RemoteCallable} to remotely determine the Coherence Cluster Local Member Id. 33 | *

34 | * Copyright (c) 2013. All Rights Reserved. Oracle Corporation.
35 | * Oracle is a registered trademark of Oracle Corporation and/or its affiliates. 36 | * 37 | * @author Brian Oliver 38 | */ 39 | public class GetLocalMemberId implements RemoteCallable 40 | { 41 | @Override 42 | public Integer call() throws Exception 43 | { 44 | // attempt to get the cluster 45 | com.tangosol.net.Cluster cluster = CacheFactory.getCluster(); 46 | 47 | // when there's no cluster there's no result 48 | return cluster == null ? -1 : cluster.getLocalMember().getId(); 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /bedrock-coherence/14.1.1/coherence-14.1.1/src/main/java/com/oracle/bedrock/runtime/coherence/callables/GetLocalMemberRoleName.java: -------------------------------------------------------------------------------- 1 | /* 2 | * File: GetLocalMemberRoleName.java 3 | * 4 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 5 | * 6 | * The contents of this file are subject to the terms and conditions of 7 | * the Common Development and Distribution License 1.0 (the "License"). 8 | * 9 | * You may not use this file except in compliance with the License. 10 | * 11 | * You can obtain a copy of the License by consulting the LICENSE.txt file 12 | * distributed with this file, or by consulting https://oss.oracle.com/licenses/CDDL 13 | * 14 | * See the License for the specific language governing permissions 15 | * and limitations under the License. 16 | * 17 | * When distributing the software, include this License Header Notice in each 18 | * file and include the License file LICENSE.txt. 19 | * 20 | * MODIFICATIONS: 21 | * If applicable, add the following below the License Header, with the fields 22 | * enclosed by brackets [] replaced by your own identifying information: 23 | * "Portions Copyright [year] [name of copyright owner]" 24 | */ 25 | 26 | package com.oracle.bedrock.runtime.coherence.callables; 27 | 28 | import com.oracle.bedrock.runtime.concurrent.RemoteCallable; 29 | import com.tangosol.net.CacheFactory; 30 | 31 | /** 32 | * A {@link RemoteCallable} to remotely determine the Coherence Cluster Local Member Role Name. 33 | *

34 | * Copyright (c) 2013. All Rights Reserved. Oracle Corporation.
35 | * Oracle is a registered trademark of Oracle Corporation and/or its affiliates. 36 | * 37 | * @author Brian Oliver 38 | */ 39 | public class GetLocalMemberRoleName implements RemoteCallable 40 | { 41 | @Override 42 | public String call() throws Exception 43 | { 44 | // attempt to get the cluster 45 | com.tangosol.net.Cluster cluster = CacheFactory.getCluster(); 46 | 47 | // when there's no cluster there's no result 48 | return cluster == null ? null : cluster.getLocalMember().getRoleName(); 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /bedrock-coherence/14.1.1/coherence-14.1.1/src/main/java/com/oracle/bedrock/runtime/coherence/callables/GetLocalMemberSiteName.java: -------------------------------------------------------------------------------- 1 | /* 2 | * File: GetLocalMemberSiteName.java 3 | * 4 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 5 | * 6 | * The contents of this file are subject to the terms and conditions of 7 | * the Common Development and Distribution License 1.0 (the "License"). 8 | * 9 | * You may not use this file except in compliance with the License. 10 | * 11 | * You can obtain a copy of the License by consulting the LICENSE.txt file 12 | * distributed with this file, or by consulting https://oss.oracle.com/licenses/CDDL 13 | * 14 | * See the License for the specific language governing permissions 15 | * and limitations under the License. 16 | * 17 | * When distributing the software, include this License Header Notice in each 18 | * file and include the License file LICENSE.txt. 19 | * 20 | * MODIFICATIONS: 21 | * If applicable, add the following below the License Header, with the fields 22 | * enclosed by brackets [] replaced by your own identifying information: 23 | * "Portions Copyright [year] [name of copyright owner]" 24 | */ 25 | 26 | package com.oracle.bedrock.runtime.coherence.callables; 27 | 28 | import com.oracle.bedrock.runtime.concurrent.RemoteCallable; 29 | import com.tangosol.net.CacheFactory; 30 | 31 | /** 32 | * A {@link RemoteCallable} to remotely determine the Coherence Cluster Local Member Site Name. 33 | *

34 | * Copyright (c) 2013. All Rights Reserved. Oracle Corporation.
35 | * Oracle is a registered trademark of Oracle Corporation and/or its affiliates. 36 | * 37 | * @author Brian Oliver 38 | */ 39 | public class GetLocalMemberSiteName implements RemoteCallable 40 | { 41 | @Override 42 | public String call() throws Exception 43 | { 44 | // attempt to get the cluster 45 | com.tangosol.net.Cluster cluster = CacheFactory.getCluster(); 46 | 47 | // when there's no cluster there's no result 48 | return cluster == null ? null : cluster.getLocalMember().getSiteName(); 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /bedrock-coherence/14.1.1/coherence-14.1.1/src/main/java/com/oracle/bedrock/runtime/coherence/callables/GetLocalMemberUID.java: -------------------------------------------------------------------------------- 1 | /* 2 | * File: GetLocalMemberUID.java 3 | * 4 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 5 | * 6 | * The contents of this file are subject to the terms and conditions of 7 | * the Common Development and Distribution License 1.0 (the "License"). 8 | * 9 | * You may not use this file except in compliance with the License. 10 | * 11 | * You can obtain a copy of the License by consulting the LICENSE.txt file 12 | * distributed with this file, or by consulting https://oss.oracle.com/licenses/CDDL 13 | * 14 | * See the License for the specific language governing permissions 15 | * and limitations under the License. 16 | * 17 | * When distributing the software, include this License Header Notice in each 18 | * file and include the License file LICENSE.txt. 19 | * 20 | * MODIFICATIONS: 21 | * If applicable, add the following below the License Header, with the fields 22 | * enclosed by brackets [] replaced by your own identifying information: 23 | * "Portions Copyright [year] [name of copyright owner]" 24 | */ 25 | 26 | package com.oracle.bedrock.runtime.coherence.callables; 27 | 28 | import com.oracle.bedrock.runtime.concurrent.RemoteCallable; 29 | import com.tangosol.net.CacheFactory; 30 | import com.tangosol.util.UID; 31 | 32 | /** 33 | * A {@link RemoteCallable} to remotely determine the Coherence Cluster Local Member {@link UID}. 34 | *

35 | * Copyright (c) 2014. All Rights Reserved. Oracle Corporation.
36 | * Oracle is a registered trademark of Oracle Corporation and/or its affiliates. 37 | * 38 | * @author Brian Oliver 39 | */ 40 | public class GetLocalMemberUID implements RemoteCallable 41 | { 42 | @Override 43 | public UID call() throws Exception 44 | { 45 | // attempt to get the cluster 46 | com.tangosol.net.Cluster cluster = CacheFactory.getCluster(); 47 | 48 | // when there's no cluster there's no result 49 | return cluster == null ? null : cluster.getLocalMember().getUid(); 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /bedrock-coherence/14.1.1/coherence-14.1.1/src/test/java/com/oracle/bedrock/runtime/coherence/ContainerBasedCoherenceCacheServerIT.java: -------------------------------------------------------------------------------- 1 | /* 2 | * File: ContainerBasedCoherenceCacheServerTest.java 3 | * 4 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 5 | * 6 | * The contents of this file are subject to the terms and conditions of 7 | * the Common Development and Distribution License 1.0 (the "License"). 8 | * 9 | * You may not use this file except in compliance with the License. 10 | * 11 | * You can obtain a copy of the License by consulting the LICENSE.txt file 12 | * distributed with this file, or by consulting https://oss.oracle.com/licenses/CDDL 13 | * 14 | * See the License for the specific language governing permissions 15 | * and limitations under the License. 16 | * 17 | * When distributing the software, include this License Header Notice in each 18 | * file and include the License file LICENSE.txt. 19 | * 20 | * MODIFICATIONS: 21 | * If applicable, add the following below the License Header, with the fields 22 | * enclosed by brackets [] replaced by your own identifying information: 23 | * "Portions Copyright [year] [name of copyright owner]" 24 | */ 25 | 26 | package com.oracle.bedrock.runtime.coherence; 27 | 28 | import com.oracle.bedrock.runtime.Platform; 29 | import com.oracle.bedrock.runtime.java.ContainerBasedJavaApplicationLauncher; 30 | import com.oracle.bedrock.runtime.java.JavaVirtualMachine; 31 | import org.junit.jupiter.api.Disabled; 32 | 33 | /** 34 | * Functional Test for {@link CoherenceCacheServer}s using a {@link ContainerBasedJavaApplicationLauncher}. 35 | *

36 | * Copyright (c) 2014. All Rights Reserved. Oracle Corporation.
37 | * Oracle is a registered trademark of Oracle Corporation and/or its affiliates. 38 | * 39 | * @author Brian Oliver 40 | */ 41 | @Disabled 42 | public class ContainerBasedCoherenceCacheServerIT extends AbstractCoherenceCacheServerTest 43 | { 44 | @Override 45 | public Platform getPlatform() 46 | { 47 | return JavaVirtualMachine.get(); 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /bedrock-coherence/14.1.1/coherence-14.1.1/src/test/java/com/oracle/bedrock/runtime/coherence/GetProcessor.java: -------------------------------------------------------------------------------- 1 | /* 2 | * File: GetProcessor.java 3 | * 4 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 5 | * 6 | * The contents of this file are subject to the terms and conditions of 7 | * the Common Development and Distribution License 1.0 (the "License"). 8 | * 9 | * You may not use this file except in compliance with the License. 10 | * 11 | * You can obtain a copy of the License by consulting the LICENSE.txt file 12 | * distributed with this file, or by consulting https://oss.oracle.com/licenses/CDDL 13 | * 14 | * See the License for the specific language governing permissions 15 | * and limitations under the License. 16 | * 17 | * When distributing the software, include this License Header Notice in each 18 | * file and include the License file LICENSE.txt. 19 | * 20 | * MODIFICATIONS: 21 | * If applicable, add the following below the License Header, with the fields 22 | * enclosed by brackets [] replaced by your own identifying information: 23 | * "Portions Copyright [year] [name of copyright owner]" 24 | */ 25 | 26 | package com.oracle.bedrock.runtime.coherence; 27 | 28 | import com.tangosol.util.InvocableMap; 29 | import com.tangosol.util.processor.AbstractProcessor; 30 | 31 | /** 32 | * An {@link InvocableMap.EntryProcessor} to return the value of an entry. 33 | *

34 | * Copyright (c) 2014. All Rights Reserved. Oracle Corporation.
35 | * Oracle is a registered trademark of Oracle Corporation and/or its affiliates. 36 | * 37 | * @author Brian Oliver 38 | */ 39 | public class GetProcessor extends AbstractProcessor 40 | { 41 | /** 42 | * Constructs a {@link GetProcessor}. 43 | */ 44 | public GetProcessor() 45 | { 46 | } 47 | 48 | 49 | @Override 50 | public Object process(InvocableMap.Entry entry) 51 | { 52 | return entry.isPresent() ? entry.getValue() : null; 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /bedrock-coherence/14.1.1/coherence-14.1.1/src/test/java/com/oracle/bedrock/runtime/coherence/LocalCoherenceCacheServerIT.java: -------------------------------------------------------------------------------- 1 | /* 2 | * File: LocalCoherenceCacheServerTest.java 3 | * 4 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 5 | * 6 | * The contents of this file are subject to the terms and conditions of 7 | * the Common Development and Distribution License 1.0 (the "License"). 8 | * 9 | * You may not use this file except in compliance with the License. 10 | * 11 | * You can obtain a copy of the License by consulting the LICENSE.txt file 12 | * distributed with this file, or by consulting https://oss.oracle.com/licenses/CDDL 13 | * 14 | * See the License for the specific language governing permissions 15 | * and limitations under the License. 16 | * 17 | * When distributing the software, include this License Header Notice in each 18 | * file and include the License file LICENSE.txt. 19 | * 20 | * MODIFICATIONS: 21 | * If applicable, add the following below the License Header, with the fields 22 | * enclosed by brackets [] replaced by your own identifying information: 23 | * "Portions Copyright [year] [name of copyright owner]" 24 | */ 25 | 26 | package com.oracle.bedrock.runtime.coherence; 27 | 28 | import com.oracle.bedrock.runtime.LocalPlatform; 29 | import com.oracle.bedrock.runtime.Platform; 30 | import com.oracle.bedrock.runtime.java.LocalJavaApplicationLauncher; 31 | 32 | /** 33 | * Functional Test for {@link CoherenceCacheServer}s using a {@link LocalJavaApplicationLauncher}. 34 | *

35 | * Copyright (c) 2014. All Rights Reserved. Oracle Corporation.
36 | * Oracle is a registered trademark of Oracle Corporation and/or its affiliates. 37 | * 38 | * @author Brian Oliver 39 | */ 40 | public class LocalCoherenceCacheServerIT extends AbstractCoherenceCacheServerTest 41 | { 42 | @Override 43 | public Platform getPlatform() 44 | { 45 | return LocalPlatform.get(); 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /bedrock-coherence/14.1.1/coherence-14.1.1/src/test/resources/test-operational-override.xml: -------------------------------------------------------------------------------- 1 | 28 | 31 | 32 | 33 | MyCluster 34 | 35 | 36 | 37 | 1000 38 | 39 | 40 | -------------------------------------------------------------------------------- /bedrock-coherence/14.1.1/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 4.0.0 3 | 4 | 5 | com.oracle.bedrock 6 | bedrock-coherence 7 | 7.0.7-SNAPSHOT 8 | 9 | 10 | com.oracle.bedrock.coherence 11 | 14.1.1 12 | 13 | pom 14 | 15 | Bedrock for Coherence 14.1.1+ Project 16 | 17 | 18 | 19 | 14.1.1-0-20 20 | 21 | 22 | 23 | coherence-14.1.1 24 | coherence-14.1.1-testing-support 25 | coherence-14.1.1-testing-support-tests-junit4 26 | coherence-14.1.1-testing-support-tests-junit5 27 | 28 | -------------------------------------------------------------------------------- /bedrock-coherence/21.06/coherence-21.06-testing-support-tests-junit4/src/test/resources/client-cache-config.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 8 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | dist-* 20 | remote-cache 21 | 22 | 23 | 24 | 25 | 26 | 30 | 31 | remote-cache 32 | RemoteCache 33 | Proxy 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | -------------------------------------------------------------------------------- /bedrock-coherence/21.06/coherence-21.06-testing-support-tests-junit5/src/test/resources/client-cache-config.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 8 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | dist-* 20 | remote-cache 21 | 22 | 23 | 24 | 25 | 26 | 30 | 31 | remote-cache 32 | RemoteCache 33 | Proxy 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | -------------------------------------------------------------------------------- /bedrock-coherence/21.06/coherence-21.06/src/main/java/com/oracle/bedrock/runtime/coherence/callables/GetClusterName.java: -------------------------------------------------------------------------------- 1 | /* 2 | * File: GetClusterName.java 3 | * 4 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 5 | * 6 | * The contents of this file are subject to the terms and conditions of 7 | * the Common Development and Distribution License 1.0 (the "License"). 8 | * 9 | * You may not use this file except in compliance with the License. 10 | * 11 | * You can obtain a copy of the License by consulting the LICENSE.txt file 12 | * distributed with this file, or by consulting https://oss.oracle.com/licenses/CDDL 13 | * 14 | * See the License for the specific language governing permissions 15 | * and limitations under the License. 16 | * 17 | * When distributing the software, include this License Header Notice in each 18 | * file and include the License file LICENSE.txt. 19 | * 20 | * MODIFICATIONS: 21 | * If applicable, add the following below the License Header, with the fields 22 | * enclosed by brackets [] replaced by your own identifying information: 23 | * "Portions Copyright [year] [name of copyright owner]" 24 | */ 25 | 26 | package com.oracle.bedrock.runtime.coherence.callables; 27 | 28 | import com.oracle.bedrock.runtime.concurrent.RemoteCallable; 29 | import com.tangosol.net.CacheFactory; 30 | 31 | /** 32 | * A {@link RemoteCallable} to remotely determine the name of a Coherence Cluster. 33 | *

34 | * Copyright (c) 2021. All Rights Reserved. Oracle Corporation.
35 | * Oracle is a registered trademark of Oracle Corporation and/or its affiliates. 36 | * 37 | * @author Brian Oliver 38 | */ 39 | public class GetClusterName implements RemoteCallable 40 | { 41 | @Override 42 | public String call() throws Exception 43 | { 44 | // attempt to get the cluster 45 | com.tangosol.net.Cluster cluster = CacheFactory.getCluster(); 46 | 47 | // when there's no cluster or we're not yet a member there's no result 48 | return cluster == null ? null : cluster.getClusterName(); 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /bedrock-coherence/21.06/coherence-21.06/src/main/java/com/oracle/bedrock/runtime/coherence/callables/GetLocalMemberId.java: -------------------------------------------------------------------------------- 1 | /* 2 | * File: GetLocalMemberId.java 3 | * 4 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 5 | * 6 | * The contents of this file are subject to the terms and conditions of 7 | * the Common Development and Distribution License 1.0 (the "License"). 8 | * 9 | * You may not use this file except in compliance with the License. 10 | * 11 | * You can obtain a copy of the License by consulting the LICENSE.txt file 12 | * distributed with this file, or by consulting https://oss.oracle.com/licenses/CDDL 13 | * 14 | * See the License for the specific language governing permissions 15 | * and limitations under the License. 16 | * 17 | * When distributing the software, include this License Header Notice in each 18 | * file and include the License file LICENSE.txt. 19 | * 20 | * MODIFICATIONS: 21 | * If applicable, add the following below the License Header, with the fields 22 | * enclosed by brackets [] replaced by your own identifying information: 23 | * "Portions Copyright [year] [name of copyright owner]" 24 | */ 25 | 26 | package com.oracle.bedrock.runtime.coherence.callables; 27 | 28 | import com.oracle.bedrock.runtime.concurrent.RemoteCallable; 29 | import com.tangosol.net.CacheFactory; 30 | 31 | /** 32 | * A {@link RemoteCallable} to remotely determine the Coherence Cluster Local Member Id. 33 | *

34 | * Copyright (c) 2021. All Rights Reserved. Oracle Corporation.
35 | * Oracle is a registered trademark of Oracle Corporation and/or its affiliates. 36 | * 37 | * @author Brian Oliver 38 | */ 39 | public class GetLocalMemberId implements RemoteCallable 40 | { 41 | @Override 42 | public Integer call() throws Exception 43 | { 44 | // attempt to get the cluster 45 | com.tangosol.net.Cluster cluster = CacheFactory.getCluster(); 46 | 47 | // when there's no cluster there's no result 48 | return cluster == null ? -1 : cluster.getLocalMember().getId(); 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /bedrock-coherence/21.06/coherence-21.06/src/main/java/com/oracle/bedrock/runtime/coherence/callables/GetLocalMemberRoleName.java: -------------------------------------------------------------------------------- 1 | /* 2 | * File: GetLocalMemberRoleName.java 3 | * 4 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 5 | * 6 | * The contents of this file are subject to the terms and conditions of 7 | * the Common Development and Distribution License 1.0 (the "License"). 8 | * 9 | * You may not use this file except in compliance with the License. 10 | * 11 | * You can obtain a copy of the License by consulting the LICENSE.txt file 12 | * distributed with this file, or by consulting https://oss.oracle.com/licenses/CDDL 13 | * 14 | * See the License for the specific language governing permissions 15 | * and limitations under the License. 16 | * 17 | * When distributing the software, include this License Header Notice in each 18 | * file and include the License file LICENSE.txt. 19 | * 20 | * MODIFICATIONS: 21 | * If applicable, add the following below the License Header, with the fields 22 | * enclosed by brackets [] replaced by your own identifying information: 23 | * "Portions Copyright [year] [name of copyright owner]" 24 | */ 25 | 26 | package com.oracle.bedrock.runtime.coherence.callables; 27 | 28 | import com.oracle.bedrock.runtime.concurrent.RemoteCallable; 29 | import com.tangosol.net.CacheFactory; 30 | 31 | /** 32 | * A {@link RemoteCallable} to remotely determine the Coherence Cluster Local Member Role Name. 33 | *

34 | * Copyright (c) 2021. All Rights Reserved. Oracle Corporation.
35 | * Oracle is a registered trademark of Oracle Corporation and/or its affiliates. 36 | * 37 | * @author Brian Oliver 38 | */ 39 | public class GetLocalMemberRoleName implements RemoteCallable 40 | { 41 | @Override 42 | public String call() throws Exception 43 | { 44 | // attempt to get the cluster 45 | com.tangosol.net.Cluster cluster = CacheFactory.getCluster(); 46 | 47 | // when there's no cluster there's no result 48 | return cluster == null ? null : cluster.getLocalMember().getRoleName(); 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /bedrock-coherence/21.06/coherence-21.06/src/main/java/com/oracle/bedrock/runtime/coherence/callables/GetLocalMemberSiteName.java: -------------------------------------------------------------------------------- 1 | /* 2 | * File: GetLocalMemberSiteName.java 3 | * 4 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 5 | * 6 | * The contents of this file are subject to the terms and conditions of 7 | * the Common Development and Distribution License 1.0 (the "License"). 8 | * 9 | * You may not use this file except in compliance with the License. 10 | * 11 | * You can obtain a copy of the License by consulting the LICENSE.txt file 12 | * distributed with this file, or by consulting https://oss.oracle.com/licenses/CDDL 13 | * 14 | * See the License for the specific language governing permissions 15 | * and limitations under the License. 16 | * 17 | * When distributing the software, include this License Header Notice in each 18 | * file and include the License file LICENSE.txt. 19 | * 20 | * MODIFICATIONS: 21 | * If applicable, add the following below the License Header, with the fields 22 | * enclosed by brackets [] replaced by your own identifying information: 23 | * "Portions Copyright [year] [name of copyright owner]" 24 | */ 25 | 26 | package com.oracle.bedrock.runtime.coherence.callables; 27 | 28 | import com.oracle.bedrock.runtime.concurrent.RemoteCallable; 29 | import com.tangosol.net.CacheFactory; 30 | 31 | /** 32 | * A {@link RemoteCallable} to remotely determine the Coherence Cluster Local Member Site Name. 33 | *

34 | * Copyright (c) 2021. All Rights Reserved. Oracle Corporation.
35 | * Oracle is a registered trademark of Oracle Corporation and/or its affiliates. 36 | * 37 | * @author Brian Oliver 38 | */ 39 | public class GetLocalMemberSiteName implements RemoteCallable 40 | { 41 | @Override 42 | public String call() throws Exception 43 | { 44 | // attempt to get the cluster 45 | com.tangosol.net.Cluster cluster = CacheFactory.getCluster(); 46 | 47 | // when there's no cluster there's no result 48 | return cluster == null ? null : cluster.getLocalMember().getSiteName(); 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /bedrock-coherence/21.06/coherence-21.06/src/main/java/com/oracle/bedrock/runtime/coherence/callables/GetLocalMemberUID.java: -------------------------------------------------------------------------------- 1 | /* 2 | * File: GetLocalMemberUID.java 3 | * 4 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 5 | * 6 | * The contents of this file are subject to the terms and conditions of 7 | * the Common Development and Distribution License 1.0 (the "License"). 8 | * 9 | * You may not use this file except in compliance with the License. 10 | * 11 | * You can obtain a copy of the License by consulting the LICENSE.txt file 12 | * distributed with this file, or by consulting https://oss.oracle.com/licenses/CDDL 13 | * 14 | * See the License for the specific language governing permissions 15 | * and limitations under the License. 16 | * 17 | * When distributing the software, include this License Header Notice in each 18 | * file and include the License file LICENSE.txt. 19 | * 20 | * MODIFICATIONS: 21 | * If applicable, add the following below the License Header, with the fields 22 | * enclosed by brackets [] replaced by your own identifying information: 23 | * "Portions Copyright [year] [name of copyright owner]" 24 | */ 25 | 26 | package com.oracle.bedrock.runtime.coherence.callables; 27 | 28 | import com.oracle.bedrock.runtime.concurrent.RemoteCallable; 29 | import com.tangosol.net.CacheFactory; 30 | import com.tangosol.util.UID; 31 | 32 | /** 33 | * A {@link RemoteCallable} to remotely determine the Coherence Cluster Local Member {@link UID}. 34 | *

35 | * Copyright (c) 2021. All Rights Reserved. Oracle Corporation.
36 | * Oracle is a registered trademark of Oracle Corporation and/or its affiliates. 37 | * 38 | * @author Brian Oliver 39 | */ 40 | public class GetLocalMemberUID implements RemoteCallable 41 | { 42 | @Override 43 | public UID call() throws Exception 44 | { 45 | // attempt to get the cluster 46 | com.tangosol.net.Cluster cluster = CacheFactory.getCluster(); 47 | 48 | // when there's no cluster there's no result 49 | return cluster == null ? null : cluster.getLocalMember().getUid(); 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /bedrock-coherence/21.06/coherence-21.06/src/test/java/com/oracle/bedrock/runtime/coherence/ContainerBasedCoherenceCacheServerIT.java: -------------------------------------------------------------------------------- 1 | /* 2 | * File: ContainerBasedCoherenceCacheServerTest.java 3 | * 4 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 5 | * 6 | * The contents of this file are subject to the terms and conditions of 7 | * the Common Development and Distribution License 1.0 (the "License"). 8 | * 9 | * You may not use this file except in compliance with the License. 10 | * 11 | * You can obtain a copy of the License by consulting the LICENSE.txt file 12 | * distributed with this file, or by consulting https://oss.oracle.com/licenses/CDDL 13 | * 14 | * See the License for the specific language governing permissions 15 | * and limitations under the License. 16 | * 17 | * When distributing the software, include this License Header Notice in each 18 | * file and include the License file LICENSE.txt. 19 | * 20 | * MODIFICATIONS: 21 | * If applicable, add the following below the License Header, with the fields 22 | * enclosed by brackets [] replaced by your own identifying information: 23 | * "Portions Copyright [year] [name of copyright owner]" 24 | */ 25 | 26 | package com.oracle.bedrock.runtime.coherence; 27 | 28 | import com.oracle.bedrock.runtime.Platform; 29 | import com.oracle.bedrock.runtime.java.ContainerBasedJavaApplicationLauncher; 30 | import com.oracle.bedrock.runtime.java.JavaVirtualMachine; 31 | import org.junit.jupiter.api.Disabled; 32 | 33 | /** 34 | * Functional Test for {@link CoherenceCacheServer}s using a {@link ContainerBasedJavaApplicationLauncher}. 35 | *

36 | * Copyright (c) 2021. All Rights Reserved. Oracle Corporation.
37 | * Oracle is a registered trademark of Oracle Corporation and/or its affiliates. 38 | * 39 | * @author Brian Oliver 40 | */ 41 | @Disabled 42 | public class ContainerBasedCoherenceCacheServerIT extends AbstractCoherenceCacheServerTest 43 | { 44 | @Override 45 | public Platform getPlatform() 46 | { 47 | return JavaVirtualMachine.get(); 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /bedrock-coherence/21.06/coherence-21.06/src/test/java/com/oracle/bedrock/runtime/coherence/GetProcessor.java: -------------------------------------------------------------------------------- 1 | /* 2 | * File: GetProcessor.java 3 | * 4 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 5 | * 6 | * The contents of this file are subject to the terms and conditions of 7 | * the Common Development and Distribution License 1.0 (the "License"). 8 | * 9 | * You may not use this file except in compliance with the License. 10 | * 11 | * You can obtain a copy of the License by consulting the LICENSE.txt file 12 | * distributed with this file, or by consulting https://oss.oracle.com/licenses/CDDL 13 | * 14 | * See the License for the specific language governing permissions 15 | * and limitations under the License. 16 | * 17 | * When distributing the software, include this License Header Notice in each 18 | * file and include the License file LICENSE.txt. 19 | * 20 | * MODIFICATIONS: 21 | * If applicable, add the following below the License Header, with the fields 22 | * enclosed by brackets [] replaced by your own identifying information: 23 | * "Portions Copyright [year] [name of copyright owner]" 24 | */ 25 | 26 | package com.oracle.bedrock.runtime.coherence; 27 | 28 | import com.tangosol.util.InvocableMap; 29 | import com.tangosol.util.processor.AbstractProcessor; 30 | 31 | /** 32 | * An {@link InvocableMap.EntryProcessor} to return the value of an entry. 33 | *

34 | * Copyright (c) 2021. All Rights Reserved. Oracle Corporation.
35 | * Oracle is a registered trademark of Oracle Corporation and/or its affiliates. 36 | * 37 | * @author Brian Oliver 38 | */ 39 | public class GetProcessor extends AbstractProcessor 40 | { 41 | /** 42 | * Constructs a {@link GetProcessor}. 43 | */ 44 | public GetProcessor() 45 | { 46 | } 47 | 48 | 49 | @Override 50 | public Object process(InvocableMap.Entry entry) 51 | { 52 | return entry.isPresent() ? entry.getValue() : null; 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /bedrock-coherence/21.06/coherence-21.06/src/test/java/com/oracle/bedrock/runtime/coherence/LocalCoherenceCacheServerIT.java: -------------------------------------------------------------------------------- 1 | /* 2 | * File: LocalCoherenceCacheServerTest.java 3 | * 4 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 5 | * 6 | * The contents of this file are subject to the terms and conditions of 7 | * the Common Development and Distribution License 1.0 (the "License"). 8 | * 9 | * You may not use this file except in compliance with the License. 10 | * 11 | * You can obtain a copy of the License by consulting the LICENSE.txt file 12 | * distributed with this file, or by consulting https://oss.oracle.com/licenses/CDDL 13 | * 14 | * See the License for the specific language governing permissions 15 | * and limitations under the License. 16 | * 17 | * When distributing the software, include this License Header Notice in each 18 | * file and include the License file LICENSE.txt. 19 | * 20 | * MODIFICATIONS: 21 | * If applicable, add the following below the License Header, with the fields 22 | * enclosed by brackets [] replaced by your own identifying information: 23 | * "Portions Copyright [year] [name of copyright owner]" 24 | */ 25 | 26 | package com.oracle.bedrock.runtime.coherence; 27 | 28 | import com.oracle.bedrock.runtime.LocalPlatform; 29 | import com.oracle.bedrock.runtime.Platform; 30 | import com.oracle.bedrock.runtime.java.LocalJavaApplicationLauncher; 31 | 32 | /** 33 | * Functional Test for {@link CoherenceCacheServer}s using a {@link LocalJavaApplicationLauncher}. 34 | *

35 | * Copyright (c) 2021. All Rights Reserved. Oracle Corporation.
36 | * Oracle is a registered trademark of Oracle Corporation and/or its affiliates. 37 | * 38 | * @author Brian Oliver 39 | */ 40 | public class LocalCoherenceCacheServerIT extends AbstractCoherenceCacheServerTest 41 | { 42 | @Override 43 | public Platform getPlatform() 44 | { 45 | return LocalPlatform.get(); 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /bedrock-coherence/21.06/coherence-21.06/src/test/resources/test-operational-override.xml: -------------------------------------------------------------------------------- 1 | 28 | 31 | 32 | 33 | MyCluster 34 | 35 | 36 | 37 | 1000 38 | 39 | 40 | -------------------------------------------------------------------------------- /bedrock-coherence/21.06/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 4.0.0 3 | 4 | 5 | com.oracle.bedrock 6 | bedrock-coherence 7 | 7.0.7-SNAPSHOT 8 | 9 | 10 | com.oracle.bedrock.coherence 11 | 21.06 12 | 13 | pom 14 | 15 | Bedrock for Coherence 21.06+ Project 16 | 17 | 18 | 19 | 21.12.7 20 | 21 | 22 | 23 | coherence-21.06 24 | coherence-21.06-testing-support 25 | coherence-21.06-testing-support-tests-junit4 26 | coherence-21.06-testing-support-tests-junit5 27 | 28 | -------------------------------------------------------------------------------- /bedrock-coherence/3.7.1/coherence-3.7.1-testing-support/src/test/resources/proxy-cache-config.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 8 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | dist-* 20 | remote-cache 21 | 22 | 23 | 24 | 25 | 26 | 30 | 31 | remote-cache 32 | 33 | 34 | 35 | 36 |

localhost
37 | 9099 38 | 39 | 40 | 41 | 42 | 43 | 44 | -------------------------------------------------------------------------------- /bedrock-coherence/3.7.1/coherence-3.7.1-tests/src/test/java/com/oracle/bedrock/runtime/coherence/GetProcessor.java: -------------------------------------------------------------------------------- 1 | /* 2 | * File: GetProcessor.java 3 | * 4 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 5 | * 6 | * The contents of this file are subject to the terms and conditions of 7 | * the Common Development and Distribution License 1.0 (the "License"). 8 | * 9 | * You may not use this file except in compliance with the License. 10 | * 11 | * You can obtain a copy of the License by consulting the LICENSE.txt file 12 | * distributed with this file, or by consulting https://oss.oracle.com/licenses/CDDL 13 | * 14 | * See the License for the specific language governing permissions 15 | * and limitations under the License. 16 | * 17 | * When distributing the software, include this License Header Notice in each 18 | * file and include the License file LICENSE.txt. 19 | * 20 | * MODIFICATIONS: 21 | * If applicable, add the following below the License Header, with the fields 22 | * enclosed by brackets [] replaced by your own identifying information: 23 | * "Portions Copyright [year] [name of copyright owner]" 24 | */ 25 | 26 | package com.oracle.bedrock.runtime.coherence; 27 | 28 | import com.tangosol.util.InvocableMap; 29 | import com.tangosol.util.processor.AbstractProcessor; 30 | 31 | /** 32 | * An {@link InvocableMap.EntryProcessor} to return the value of an entry. 33 | *

34 | * Copyright (c) 2014. All Rights Reserved. Oracle Corporation.
35 | * Oracle is a registered trademark of Oracle Corporation and/or its affiliates. 36 | * 37 | * @author Brian Oliver 38 | */ 39 | public class GetProcessor extends AbstractProcessor 40 | { 41 | /** 42 | * Constructs a {@link GetProcessor}. 43 | */ 44 | public GetProcessor() 45 | { 46 | } 47 | 48 | 49 | @Override 50 | public Object process(InvocableMap.Entry entry) 51 | { 52 | return entry.isPresent() ? entry.getValue() : null; 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /bedrock-coherence/3.7.1/coherence-3.7.1-tests/src/test/java/com/oracle/bedrock/runtime/coherence/LocalCoherenceCacheServerTest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * File: LocalCoherenceCacheServerTest.java 3 | * 4 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 5 | * 6 | * The contents of this file are subject to the terms and conditions of 7 | * the Common Development and Distribution License 1.0 (the "License"). 8 | * 9 | * You may not use this file except in compliance with the License. 10 | * 11 | * You can obtain a copy of the License by consulting the LICENSE.txt file 12 | * distributed with this file, or by consulting https://oss.oracle.com/licenses/CDDL 13 | * 14 | * See the License for the specific language governing permissions 15 | * and limitations under the License. 16 | * 17 | * When distributing the software, include this License Header Notice in each 18 | * file and include the License file LICENSE.txt. 19 | * 20 | * MODIFICATIONS: 21 | * If applicable, add the following below the License Header, with the fields 22 | * enclosed by brackets [] replaced by your own identifying information: 23 | * "Portions Copyright [year] [name of copyright owner]" 24 | */ 25 | 26 | package com.oracle.bedrock.runtime.coherence; 27 | 28 | import com.oracle.bedrock.runtime.LocalPlatform; 29 | import com.oracle.bedrock.runtime.Platform; 30 | import com.oracle.bedrock.runtime.java.LocalJavaApplicationLauncher; 31 | 32 | /** 33 | * Functional Test for {@link CoherenceCacheServer}s using a {@link LocalJavaApplicationLauncher}. 34 | *

35 | * Copyright (c) 2014. All Rights Reserved. Oracle Corporation.
36 | * Oracle is a registered trademark of Oracle Corporation and/or its affiliates. 37 | * 38 | * @author Brian Oliver 39 | */ 40 | public class LocalCoherenceCacheServerTest extends AbstractCoherenceCacheServerTest 41 | { 42 | @Override 43 | public Platform getPlatform() 44 | { 45 | return LocalPlatform.get(); 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /bedrock-coherence/3.7.1/coherence-3.7.1-tests/src/test/resources/test-operational-override.xml: -------------------------------------------------------------------------------- 1 | 28 | 31 | 32 | 33 | MyCluster 34 | 35 | 36 | 37 | 1000 38 | 39 | 40 | -------------------------------------------------------------------------------- /bedrock-coherence/3.7.1/coherence-3.7.1/src/main/java/com/oracle/bedrock/runtime/coherence/callables/GetClusterName.java: -------------------------------------------------------------------------------- 1 | /* 2 | * File: GetClusterName.java 3 | * 4 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 5 | * 6 | * The contents of this file are subject to the terms and conditions of 7 | * the Common Development and Distribution License 1.0 (the "License"). 8 | * 9 | * You may not use this file except in compliance with the License. 10 | * 11 | * You can obtain a copy of the License by consulting the LICENSE.txt file 12 | * distributed with this file, or by consulting https://oss.oracle.com/licenses/CDDL 13 | * 14 | * See the License for the specific language governing permissions 15 | * and limitations under the License. 16 | * 17 | * When distributing the software, include this License Header Notice in each 18 | * file and include the License file LICENSE.txt. 19 | * 20 | * MODIFICATIONS: 21 | * If applicable, add the following below the License Header, with the fields 22 | * enclosed by brackets [] replaced by your own identifying information: 23 | * "Portions Copyright [year] [name of copyright owner]" 24 | */ 25 | 26 | package com.oracle.bedrock.runtime.coherence.callables; 27 | 28 | import com.oracle.bedrock.runtime.concurrent.RemoteCallable; 29 | import com.tangosol.net.CacheFactory; 30 | 31 | /** 32 | * A {@link RemoteCallable} to remotely determine the name of a Coherence Cluster. 33 | *

34 | * Copyright (c) 2013. All Rights Reserved. Oracle Corporation.
35 | * Oracle is a registered trademark of Oracle Corporation and/or its affiliates. 36 | * 37 | * @author Brian Oliver 38 | */ 39 | public class GetClusterName implements RemoteCallable 40 | { 41 | @Override 42 | public String call() throws Exception 43 | { 44 | // attempt to get the cluster 45 | com.tangosol.net.Cluster cluster = CacheFactory.getCluster(); 46 | 47 | // when there's no cluster or we're not yet a member there's no result 48 | return cluster == null ? null : cluster.getClusterName(); 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /bedrock-coherence/3.7.1/coherence-3.7.1/src/main/java/com/oracle/bedrock/runtime/coherence/callables/GetLocalMemberId.java: -------------------------------------------------------------------------------- 1 | /* 2 | * File: GetLocalMemberId.java 3 | * 4 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 5 | * 6 | * The contents of this file are subject to the terms and conditions of 7 | * the Common Development and Distribution License 1.0 (the "License"). 8 | * 9 | * You may not use this file except in compliance with the License. 10 | * 11 | * You can obtain a copy of the License by consulting the LICENSE.txt file 12 | * distributed with this file, or by consulting https://oss.oracle.com/licenses/CDDL 13 | * 14 | * See the License for the specific language governing permissions 15 | * and limitations under the License. 16 | * 17 | * When distributing the software, include this License Header Notice in each 18 | * file and include the License file LICENSE.txt. 19 | * 20 | * MODIFICATIONS: 21 | * If applicable, add the following below the License Header, with the fields 22 | * enclosed by brackets [] replaced by your own identifying information: 23 | * "Portions Copyright [year] [name of copyright owner]" 24 | */ 25 | 26 | package com.oracle.bedrock.runtime.coherence.callables; 27 | 28 | import com.oracle.bedrock.runtime.concurrent.RemoteCallable; 29 | import com.tangosol.net.CacheFactory; 30 | 31 | /** 32 | * A {@link RemoteCallable} to remotely determine the Coherence Cluster Local Member Id. 33 | *

34 | * Copyright (c) 2013. All Rights Reserved. Oracle Corporation.
35 | * Oracle is a registered trademark of Oracle Corporation and/or its affiliates. 36 | * 37 | * @author Brian Oliver 38 | */ 39 | public class GetLocalMemberId implements RemoteCallable 40 | { 41 | @Override 42 | public Integer call() throws Exception 43 | { 44 | // attempt to get the cluster 45 | com.tangosol.net.Cluster cluster = CacheFactory.getCluster(); 46 | 47 | // when there's no cluster there's no result 48 | return cluster == null ? -1 : cluster.getLocalMember().getId(); 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /bedrock-coherence/3.7.1/coherence-3.7.1/src/main/java/com/oracle/bedrock/runtime/coherence/callables/GetLocalMemberRoleName.java: -------------------------------------------------------------------------------- 1 | /* 2 | * File: GetLocalMemberRoleName.java 3 | * 4 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 5 | * 6 | * The contents of this file are subject to the terms and conditions of 7 | * the Common Development and Distribution License 1.0 (the "License"). 8 | * 9 | * You may not use this file except in compliance with the License. 10 | * 11 | * You can obtain a copy of the License by consulting the LICENSE.txt file 12 | * distributed with this file, or by consulting https://oss.oracle.com/licenses/CDDL 13 | * 14 | * See the License for the specific language governing permissions 15 | * and limitations under the License. 16 | * 17 | * When distributing the software, include this License Header Notice in each 18 | * file and include the License file LICENSE.txt. 19 | * 20 | * MODIFICATIONS: 21 | * If applicable, add the following below the License Header, with the fields 22 | * enclosed by brackets [] replaced by your own identifying information: 23 | * "Portions Copyright [year] [name of copyright owner]" 24 | */ 25 | 26 | package com.oracle.bedrock.runtime.coherence.callables; 27 | 28 | import com.oracle.bedrock.runtime.concurrent.RemoteCallable; 29 | import com.tangosol.net.CacheFactory; 30 | 31 | /** 32 | * A {@link RemoteCallable} to remotely determine the Coherence Cluster Local Member Role Name. 33 | *

34 | * Copyright (c) 2013. All Rights Reserved. Oracle Corporation.
35 | * Oracle is a registered trademark of Oracle Corporation and/or its affiliates. 36 | * 37 | * @author Brian Oliver 38 | */ 39 | public class GetLocalMemberRoleName implements RemoteCallable 40 | { 41 | @Override 42 | public String call() throws Exception 43 | { 44 | // attempt to get the cluster 45 | com.tangosol.net.Cluster cluster = CacheFactory.getCluster(); 46 | 47 | // when there's no cluster there's no result 48 | return cluster == null ? null : cluster.getLocalMember().getRoleName(); 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /bedrock-coherence/3.7.1/coherence-3.7.1/src/main/java/com/oracle/bedrock/runtime/coherence/callables/GetLocalMemberSiteName.java: -------------------------------------------------------------------------------- 1 | /* 2 | * File: GetLocalMemberSiteName.java 3 | * 4 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 5 | * 6 | * The contents of this file are subject to the terms and conditions of 7 | * the Common Development and Distribution License 1.0 (the "License"). 8 | * 9 | * You may not use this file except in compliance with the License. 10 | * 11 | * You can obtain a copy of the License by consulting the LICENSE.txt file 12 | * distributed with this file, or by consulting https://oss.oracle.com/licenses/CDDL 13 | * 14 | * See the License for the specific language governing permissions 15 | * and limitations under the License. 16 | * 17 | * When distributing the software, include this License Header Notice in each 18 | * file and include the License file LICENSE.txt. 19 | * 20 | * MODIFICATIONS: 21 | * If applicable, add the following below the License Header, with the fields 22 | * enclosed by brackets [] replaced by your own identifying information: 23 | * "Portions Copyright [year] [name of copyright owner]" 24 | */ 25 | 26 | package com.oracle.bedrock.runtime.coherence.callables; 27 | 28 | import com.oracle.bedrock.runtime.concurrent.RemoteCallable; 29 | import com.tangosol.net.CacheFactory; 30 | 31 | /** 32 | * A {@link RemoteCallable} to remotely determine the Coherence Cluster Local Member Site Name. 33 | *

34 | * Copyright (c) 2013. All Rights Reserved. Oracle Corporation.
35 | * Oracle is a registered trademark of Oracle Corporation and/or its affiliates. 36 | * 37 | * @author Brian Oliver 38 | */ 39 | public class GetLocalMemberSiteName implements RemoteCallable 40 | { 41 | @Override 42 | public String call() throws Exception 43 | { 44 | // attempt to get the cluster 45 | com.tangosol.net.Cluster cluster = CacheFactory.getCluster(); 46 | 47 | // when there's no cluster there's no result 48 | return cluster == null ? null : cluster.getLocalMember().getSiteName(); 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /bedrock-coherence/3.7.1/coherence-3.7.1/src/main/java/com/oracle/bedrock/runtime/coherence/callables/GetLocalMemberUID.java: -------------------------------------------------------------------------------- 1 | /* 2 | * File: GetLocalMemberUID.java 3 | * 4 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 5 | * 6 | * The contents of this file are subject to the terms and conditions of 7 | * the Common Development and Distribution License 1.0 (the "License"). 8 | * 9 | * You may not use this file except in compliance with the License. 10 | * 11 | * You can obtain a copy of the License by consulting the LICENSE.txt file 12 | * distributed with this file, or by consulting https://oss.oracle.com/licenses/CDDL 13 | * 14 | * See the License for the specific language governing permissions 15 | * and limitations under the License. 16 | * 17 | * When distributing the software, include this License Header Notice in each 18 | * file and include the License file LICENSE.txt. 19 | * 20 | * MODIFICATIONS: 21 | * If applicable, add the following below the License Header, with the fields 22 | * enclosed by brackets [] replaced by your own identifying information: 23 | * "Portions Copyright [year] [name of copyright owner]" 24 | */ 25 | 26 | package com.oracle.bedrock.runtime.coherence.callables; 27 | 28 | import com.oracle.bedrock.runtime.concurrent.RemoteCallable; 29 | import com.tangosol.net.CacheFactory; 30 | import com.tangosol.util.UID; 31 | 32 | /** 33 | * A {@link RemoteCallable} to remotely determine the Coherence Cluster Local Member {@link UID}. 34 | *

35 | * Copyright (c) 2014. All Rights Reserved. Oracle Corporation.
36 | * Oracle is a registered trademark of Oracle Corporation and/or its affiliates. 37 | * 38 | * @author Brian Oliver 39 | */ 40 | public class GetLocalMemberUID implements RemoteCallable 41 | { 42 | @Override 43 | public UID call() throws Exception 44 | { 45 | // attempt to get the cluster 46 | com.tangosol.net.Cluster cluster = CacheFactory.getCluster(); 47 | 48 | // when there's no cluster there's no result 49 | return cluster == null ? null : cluster.getLocalMember().getUid(); 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /bedrock-coherence/3.7.1/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 4.0.0 3 | 4 | 5 | com.oracle.bedrock 6 | bedrock-coherence 7 | 7.0.7-SNAPSHOT 8 | 9 | 10 | com.oracle.bedrock.coherence 11 | 3.7.1 12 | 13 | pom 14 | 15 | Bedrock for Coherence 3.7.1 Project 16 | 17 | 18 | 3.7.1.16 19 | com.oracle.coherence 20 | 21 | 22 | 23 | coherence-3.7.1 24 | coherence-3.7.1-testing-support 25 | coherence-3.7.1-tests 26 | 27 | 28 | 32 | 33 | 34 | coherence-ce 35 | 36 | false 37 | 38 | 39 | 21.06.2 40 | com.oracle.coherence.ce 41 | 42 | 43 | 44 | -------------------------------------------------------------------------------- /bedrock-coherence/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 4.0.0 3 | 4 | 5 | com.oracle.bedrock 6 | project 7 | 7.0.7-SNAPSHOT 8 | 9 | 10 | bedrock-coherence 11 | 12 | pom 13 | 14 | Bedrock for Coherence Project 15 | 16 | 17 | 3.7.1 18 | 12.2.1 19 | 14.1.1 20 | 21.06 21 | 22 | 23 | -------------------------------------------------------------------------------- /bedrock-core/src/main/java/com/oracle/bedrock/ComposableOption.java: -------------------------------------------------------------------------------- 1 | /* 2 | * File: ComposableOption.java 3 | * 4 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 5 | * 6 | * The contents of this file are subject to the terms and conditions of 7 | * the Common Development and Distribution License 1.0 (the "License"). 8 | * 9 | * You may not use this file except in compliance with the License. 10 | * 11 | * You can obtain a copy of the License by consulting the LICENSE.txt file 12 | * distributed with this file, or by consulting https://oss.oracle.com/licenses/CDDL 13 | * 14 | * See the License for the specific language governing permissions 15 | * and limitations under the License. 16 | * 17 | * When distributing the software, include this License Header Notice in each 18 | * file and include the License file LICENSE.txt. 19 | * 20 | * MODIFICATIONS: 21 | * If applicable, add the following below the License Header, with the fields 22 | * enclosed by brackets [] replaced by your own identifying information: 23 | * "Portions Copyright [year] [name of copyright owner]" 24 | */ 25 | 26 | package com.oracle.bedrock; 27 | 28 | /** 29 | * An {@link Option} that may be composed with another {@link Option} 30 | * of the same type to produce a new {@link Option}. 31 | *

32 | * Copyright (c) 2014. All Rights Reserved. Oracle Corporation.
33 | * Oracle is a registered trademark of Oracle Corporation and/or its affiliates. 34 | * 35 | * @author Brian Oliver 36 | */ 37 | public interface ComposableOption> extends Option 38 | { 39 | /** 40 | * Composes an {@link Option} with this {@link Option} to produce a 41 | * new {@link Option} instance of the same type. 42 | * 43 | * @param other the other {@link Option} to compose with this {@link Option} 44 | * 45 | * @return the new composed {@link Option} instance 46 | */ 47 | public T compose(T other); 48 | } 49 | -------------------------------------------------------------------------------- /bedrock-core/src/main/java/com/oracle/bedrock/annotations/Experimental.java: -------------------------------------------------------------------------------- 1 | /* 2 | * File: Experimental.java 3 | * 4 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 5 | * 6 | * The contents of this file are subject to the terms and conditions of 7 | * the Common Development and Distribution License 1.0 (the "License"). 8 | * 9 | * You may not use this file except in compliance with the License. 10 | * 11 | * You can obtain a copy of the License by consulting the LICENSE.txt file 12 | * distributed with this file, or by consulting https://oss.oracle.com/licenses/CDDL 13 | * 14 | * See the License for the specific language governing permissions 15 | * and limitations under the License. 16 | * 17 | * When distributing the software, include this License Header Notice in each 18 | * file and include the License file LICENSE.txt. 19 | * 20 | * MODIFICATIONS: 21 | * If applicable, add the following below the License Header, with the fields 22 | * enclosed by brackets [] replaced by your own identifying information: 23 | * "Portions Copyright [year] [name of copyright owner]" 24 | */ 25 | 26 | package com.oracle.bedrock.annotations; 27 | 28 | import java.lang.annotation.Documented; 29 | import java.lang.annotation.Retention; 30 | import java.lang.annotation.RetentionPolicy; 31 | 32 | /** 33 | * Annotates that a class, interface, enum, method, attribute or parameter is 34 | * considered experimental and may change or be removed at any time. 35 | *

36 | * Copyright (c) 2016. All Rights Reserved. Oracle Corporation.
37 | * Oracle is a registered trademark of Oracle Corporation and/or its affiliates. 38 | * 39 | * @author Brian Oliver 40 | */ 41 | @Documented 42 | @Retention(RetentionPolicy.RUNTIME) 43 | public @interface Experimental 44 | { 45 | } 46 | -------------------------------------------------------------------------------- /bedrock-core/src/main/java/com/oracle/bedrock/annotations/Internal.java: -------------------------------------------------------------------------------- 1 | /* 2 | * File: Internal.java 3 | * 4 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 5 | * 6 | * The contents of this file are subject to the terms and conditions of 7 | * the Common Development and Distribution License 1.0 (the "License"). 8 | * 9 | * You may not use this file except in compliance with the License. 10 | * 11 | * You can obtain a copy of the License by consulting the LICENSE.txt file 12 | * distributed with this file, or by consulting https://oss.oracle.com/licenses/CDDL 13 | * 14 | * See the License for the specific language governing permissions 15 | * and limitations under the License. 16 | * 17 | * When distributing the software, include this License Header Notice in each 18 | * file and include the License file LICENSE.txt. 19 | * 20 | * MODIFICATIONS: 21 | * If applicable, add the following below the License Header, with the fields 22 | * enclosed by brackets [] replaced by your own identifying information: 23 | * "Portions Copyright [year] [name of copyright owner]" 24 | */ 25 | 26 | package com.oracle.bedrock.annotations; 27 | 28 | import java.lang.annotation.Documented; 29 | import java.lang.annotation.Retention; 30 | import java.lang.annotation.RetentionPolicy; 31 | 32 | /** 33 | * Annotates that a class, interface, enum, method, attribute or parameter is 34 | * considered internal and should not be used outside of Oracle Bedrock. 35 | *

36 | * Copyright (c) 2016. All Rights Reserved. Oracle Corporation.
37 | * Oracle is a registered trademark of Oracle Corporation and/or its affiliates. 38 | * 39 | * @author Brian Oliver 40 | */ 41 | @Documented 42 | @Retention(RetentionPolicy.RUNTIME) 43 | public @interface Internal 44 | { 45 | } 46 | -------------------------------------------------------------------------------- /bedrock-core/src/main/java/com/oracle/bedrock/deferred/AbstractDeferred.java: -------------------------------------------------------------------------------- 1 | /* 2 | * File: AbstractDeferred.java 3 | * 4 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 5 | * 6 | * The contents of this file are subject to the terms and conditions of 7 | * the Common Development and Distribution License 1.0 (the "License"). 8 | * 9 | * You may not use this file except in compliance with the License. 10 | * 11 | * You can obtain a copy of the License by consulting the LICENSE.txt file 12 | * distributed with this file, or by consulting https://oss.oracle.com/licenses/CDDL 13 | * 14 | * See the License for the specific language governing permissions 15 | * and limitations under the License. 16 | * 17 | * When distributing the software, include this License Header Notice in each 18 | * file and include the License file LICENSE.txt. 19 | * 20 | * MODIFICATIONS: 21 | * If applicable, add the following below the License Header, with the fields 22 | * enclosed by brackets [] replaced by your own identifying information: 23 | * "Portions Copyright [year] [name of copyright owner]" 24 | */ 25 | 26 | package com.oracle.bedrock.deferred; 27 | 28 | import java.lang.reflect.ParameterizedType; 29 | import java.lang.reflect.Type; 30 | 31 | /** 32 | * A base implementation of a {@link Deferred}. 33 | *

34 | * Copyright (c) 2014. All Rights Reserved. Oracle Corporation.
35 | * Oracle is a registered trademark of Oracle Corporation and/or its affiliates. 36 | * 37 | * @author Brian Oliver 38 | */ 39 | public abstract class AbstractDeferred implements Deferred 40 | { 41 | @Override 42 | public Class getDeferredClass() 43 | { 44 | Class clazz = this.getClass(); 45 | 46 | Type type = clazz.getGenericSuperclass(); 47 | 48 | if (type instanceof ParameterizedType) 49 | { 50 | return (Class) ((ParameterizedType) type).getActualTypeArguments()[0]; 51 | } 52 | else 53 | { 54 | throw new RuntimeException("Can determine the type of the DeferredClass: " + this); 55 | } 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /bedrock-core/src/main/java/com/oracle/bedrock/extensible/Feature.java: -------------------------------------------------------------------------------- 1 | /* 2 | * File: Feature.java 3 | * 4 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 5 | * 6 | * The contents of this file are subject to the terms and conditions of 7 | * the Common Development and Distribution License 1.0 (the "License"). 8 | * 9 | * You may not use this file except in compliance with the License. 10 | * 11 | * You can obtain a copy of the License by consulting the LICENSE.txt file 12 | * distributed with this file, or by consulting https://oss.oracle.com/licenses/CDDL 13 | * 14 | * See the License for the specific language governing permissions 15 | * and limitations under the License. 16 | * 17 | * When distributing the software, include this License Header Notice in each 18 | * file and include the License file LICENSE.txt. 19 | * 20 | * MODIFICATIONS: 21 | * If applicable, add the following below the License Header, with the fields 22 | * enclosed by brackets [] replaced by your own identifying information: 23 | * "Portions Copyright [year] [name of copyright owner]" 24 | */ 25 | 26 | package com.oracle.bedrock.extensible; 27 | 28 | /** 29 | * An optional interface implemented by classes that are expected to become 30 | * features of an {@link Extensible} type. 31 | *

32 | * Copyright (c) 2016. All Rights Reserved. Oracle Corporation.
33 | * Oracle is a registered trademark of Oracle Corporation and/or its affiliates. 34 | * 35 | * @see Extensible 36 | * 37 | * @author Brian Oliver 38 | * @author Aleks Seovic 39 | */ 40 | public interface Feature 41 | { 42 | /** 43 | * Invoked prior to the {@link Feature} being added to the specified {@link Extensible}. 44 | * 45 | * @param extensible the {@link Extensible} 46 | */ 47 | void onAddingTo(Extensible extensible); 48 | 49 | 50 | /** 51 | * Invoked prior to the {@link Feature} being removed from the specified {@link Extensible}. 52 | * 53 | * @param extensible the {@link Extensible} 54 | */ 55 | void onRemovingFrom(Extensible extensible); 56 | } 57 | -------------------------------------------------------------------------------- /bedrock-core/src/main/java/com/oracle/bedrock/predicate/AbstractPredicate.java: -------------------------------------------------------------------------------- 1 | /* 2 | * File: AbstractPredicate.java 3 | * 4 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 5 | * 6 | * The contents of this file are subject to the terms and conditions of 7 | * the Common Development and Distribution License 1.0 (the "License"). 8 | * 9 | * You may not use this file except in compliance with the License. 10 | * 11 | * You can obtain a copy of the License by consulting the LICENSE.txt file 12 | * distributed with this file, or by consulting https://oss.oracle.com/licenses/CDDL 13 | * 14 | * See the License for the specific language governing permissions 15 | * and limitations under the License. 16 | * 17 | * When distributing the software, include this License Header Notice in each 18 | * file and include the License file LICENSE.txt. 19 | * 20 | * MODIFICATIONS: 21 | * If applicable, add the following below the License Header, with the fields 22 | * enclosed by brackets [] replaced by your own identifying information: 23 | * "Portions Copyright [year] [name of copyright owner]" 24 | */ 25 | 26 | package com.oracle.bedrock.predicate; 27 | 28 | import java.util.function.Predicate; 29 | 30 | /** 31 | * An abstract implementation of a {@link Predicate}. 32 | *

33 | * Copyright (c) 2014. All Rights Reserved. Oracle Corporation.
34 | * Oracle is a registered trademark of Oracle Corporation and/or its affiliates. 35 | * 36 | * @author Brian Oliver 37 | */ 38 | public abstract class AbstractPredicate implements Predicate 39 | { 40 | } 41 | -------------------------------------------------------------------------------- /bedrock-core/src/main/java/com/oracle/bedrock/predicate/Always.java: -------------------------------------------------------------------------------- 1 | /* 2 | * File: Always.java 3 | * 4 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 5 | * 6 | * The contents of this file are subject to the terms and conditions of 7 | * the Common Development and Distribution License 1.0 (the "License"). 8 | * 9 | * You may not use this file except in compliance with the License. 10 | * 11 | * You can obtain a copy of the License by consulting the LICENSE.txt file 12 | * distributed with this file, or by consulting https://oss.oracle.com/licenses/CDDL 13 | * 14 | * See the License for the specific language governing permissions 15 | * and limitations under the License. 16 | * 17 | * When distributing the software, include this License Header Notice in each 18 | * file and include the License file LICENSE.txt. 19 | * 20 | * MODIFICATIONS: 21 | * If applicable, add the following below the License Header, with the fields 22 | * enclosed by brackets [] replaced by your own identifying information: 23 | * "Portions Copyright [year] [name of copyright owner]" 24 | */ 25 | 26 | package com.oracle.bedrock.predicate; 27 | 28 | import java.util.function.Predicate; 29 | 30 | /** 31 | * A {@link Predicate} that always succeeds. 32 | *

33 | * Copyright (c) 2014. All Rights Reserved. Oracle Corporation.
34 | * Oracle is a registered trademark of Oracle Corporation and/or its affiliates. 35 | * 36 | * @author Brian Oliver 37 | */ 38 | public class Always implements java.util.function.Predicate 39 | { 40 | @Override 41 | public boolean test(Object value) 42 | { 43 | return true; 44 | } 45 | 46 | 47 | @Override 48 | public String toString() 49 | { 50 | return "Always{}"; 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /bedrock-core/src/main/java/com/oracle/bedrock/predicate/IsNull.java: -------------------------------------------------------------------------------- 1 | /* 2 | * File: IsNull.java 3 | * 4 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 5 | * 6 | * The contents of this file are subject to the terms and conditions of 7 | * the Common Development and Distribution License 1.0 (the "License"). 8 | * 9 | * You may not use this file except in compliance with the License. 10 | * 11 | * You can obtain a copy of the License by consulting the LICENSE.txt file 12 | * distributed with this file, or by consulting https://oss.oracle.com/licenses/CDDL 13 | * 14 | * See the License for the specific language governing permissions 15 | * and limitations under the License. 16 | * 17 | * When distributing the software, include this License Header Notice in each 18 | * file and include the License file LICENSE.txt. 19 | * 20 | * MODIFICATIONS: 21 | * If applicable, add the following below the License Header, with the fields 22 | * enclosed by brackets [] replaced by your own identifying information: 23 | * "Portions Copyright [year] [name of copyright owner]" 24 | */ 25 | 26 | package com.oracle.bedrock.predicate; 27 | 28 | import java.util.function.Predicate; 29 | 30 | /** 31 | * A {@link Predicate} to determine if a value is null. 32 | *

33 | * Copyright (c) 2014. All Rights Reserved. Oracle Corporation.
34 | * Oracle is a registered trademark of Oracle Corporation and/or its affiliates. 35 | * 36 | * @author Brian Oliver 37 | */ 38 | public class IsNull implements Predicate 39 | { 40 | @Override 41 | public boolean test(Object value) 42 | { 43 | return value == null; 44 | } 45 | 46 | 47 | @Override 48 | public String toString() 49 | { 50 | return "IsNull{}"; 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /bedrock-core/src/main/java/com/oracle/bedrock/predicate/Never.java: -------------------------------------------------------------------------------- 1 | /* 2 | * File: Never.java 3 | * 4 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 5 | * 6 | * The contents of this file are subject to the terms and conditions of 7 | * the Common Development and Distribution License 1.0 (the "License"). 8 | * 9 | * You may not use this file except in compliance with the License. 10 | * 11 | * You can obtain a copy of the License by consulting the LICENSE.txt file 12 | * distributed with this file, or by consulting https://oss.oracle.com/licenses/CDDL 13 | * 14 | * See the License for the specific language governing permissions 15 | * and limitations under the License. 16 | * 17 | * When distributing the software, include this License Header Notice in each 18 | * file and include the License file LICENSE.txt. 19 | * 20 | * MODIFICATIONS: 21 | * If applicable, add the following below the License Header, with the fields 22 | * enclosed by brackets [] replaced by your own identifying information: 23 | * "Portions Copyright [year] [name of copyright owner]" 24 | */ 25 | 26 | package com.oracle.bedrock.predicate; 27 | 28 | import java.util.function.Predicate; 29 | 30 | /** 31 | * A {@link Predicate} that always fails (never succeeds). 32 | *

33 | * Copyright (c) 2014. All Rights Reserved. Oracle Corporation.
34 | * Oracle is a registered trademark of Oracle Corporation and/or its affiliates. 35 | * 36 | * @author Brian Oliver 37 | */ 38 | public class Never implements Predicate 39 | { 40 | @Override 41 | public boolean test(Object value) 42 | { 43 | return false; 44 | } 45 | 46 | 47 | @Override 48 | public String toString() 49 | { 50 | return "Never{}"; 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /bedrock-core/src/main/java/com/oracle/bedrock/table/Tabular.java: -------------------------------------------------------------------------------- 1 | /* 2 | * File: Tabular.java 3 | * 4 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 5 | * 6 | * The contents of this file are subject to the terms and conditions of 7 | * the Common Development and Distribution License 1.0 (the "License"). 8 | * 9 | * You may not use this file except in compliance with the License. 10 | * 11 | * You can obtain a copy of the License by consulting the LICENSE.txt file 12 | * distributed with this file, or by consulting https://oss.oracle.com/licenses/CDDL 13 | * 14 | * See the License for the specific language governing permissions 15 | * and limitations under the License. 16 | * 17 | * When distributing the software, include this License Header Notice in each 18 | * file and include the License file LICENSE.txt. 19 | * 20 | * MODIFICATIONS: 21 | * If applicable, add the following below the License Header, with the fields 22 | * enclosed by brackets [] replaced by your own identifying information: 23 | * "Portions Copyright [year] [name of copyright owner]" 24 | */ 25 | 26 | package com.oracle.bedrock.table; 27 | 28 | /** 29 | * A {@link Tabular} type is one that can provide a {@link Table}-based representation of itself. 30 | *

31 | * Copyright (c) 2015. All Rights Reserved. Oracle Corporation.
32 | * Oracle is a registered trademark of Oracle Corporation and/or its affiliates. 33 | * 34 | * @author Brian Oliver 35 | */ 36 | public interface Tabular 37 | { 38 | /** 39 | * Obtains a {@link Table}-based representation of the state of the implementor. 40 | * 41 | * @return a {@link Table} representation of the state 42 | */ 43 | public Table getTable(); 44 | } 45 | -------------------------------------------------------------------------------- /bedrock-core/src/main/java/com/oracle/bedrock/util/ExceptionListener.java: -------------------------------------------------------------------------------- 1 | /* 2 | * File: ExceptionListener.java 3 | * 4 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 5 | * 6 | * The contents of this file are subject to the terms and conditions of 7 | * the Common Development and Distribution License 1.0 (the "License"). 8 | * 9 | * You may not use this file except in compliance with the License. 10 | * 11 | * You can obtain a copy of the License by consulting the LICENSE.txt file 12 | * distributed with this file, or by consulting https://oss.oracle.com/licenses/CDDL 13 | * 14 | * See the License for the specific language governing permissions 15 | * and limitations under the License. 16 | * 17 | * When distributing the software, include this License Header Notice in each 18 | * file and include the License file LICENSE.txt. 19 | * 20 | * MODIFICATIONS: 21 | * If applicable, add the following below the License Header, with the fields 22 | * enclosed by brackets [] replaced by your own identifying information: 23 | * "Portions Copyright [year] [name of copyright owner]" 24 | */ 25 | 26 | package com.oracle.bedrock.util; 27 | 28 | /** 29 | * A listener to be called when an {@link Throwable} occurs during 30 | * some operation. 31 | *

32 | * Copyright (c) 2013. All Rights Reserved. Oracle Corporation.
33 | * Oracle is a registered trademark of Oracle Corporation and/or its affiliates. 34 | * 35 | * @author Brian Oliver 36 | */ 37 | public interface ExceptionListener 38 | { 39 | /** 40 | * Called when an operation failed and raised a {@link Throwable}. 41 | * 42 | * @param throwable the {@link Throwable} 43 | */ 44 | public void onException(Throwable throwable); 45 | } 46 | -------------------------------------------------------------------------------- /bedrock-core/src/main/java/com/oracle/bedrock/util/Tuple.java: -------------------------------------------------------------------------------- 1 | /* 2 | * File: Tuple.java 3 | * 4 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 5 | * 6 | * The contents of this file are subject to the terms and conditions of 7 | * the Common Development and Distribution License 1.0 (the "License"). 8 | * 9 | * You may not use this file except in compliance with the License. 10 | * 11 | * You can obtain a copy of the License by consulting the LICENSE.txt file 12 | * distributed with this file, or by consulting https://oss.oracle.com/licenses/CDDL 13 | * 14 | * See the License for the specific language governing permissions 15 | * and limitations under the License. 16 | * 17 | * When distributing the software, include this License Header Notice in each 18 | * file and include the License file LICENSE.txt. 19 | * 20 | * MODIFICATIONS: 21 | * If applicable, add the following below the License Header, with the fields 22 | * enclosed by brackets [] replaced by your own identifying information: 23 | * "Portions Copyright [year] [name of copyright owner]" 24 | */ 25 | 26 | package com.oracle.bedrock.util; 27 | 28 | /** 29 | * An immutable sequence of values, each potentially of a different type. 30 | *

31 | * Copyright (c) 2008. All Rights Reserved. Oracle Corporation.
32 | * Oracle is a registered trademark of Oracle Corporation and/or its affiliates. 33 | * 34 | * @author Brian Oliver 35 | */ 36 | public interface Tuple 37 | { 38 | /** 39 | * Obtains the number of values in the {@link Tuple}. 40 | * 41 | * @return the number of values in the {@link Tuple} 42 | */ 43 | public int size(); 44 | 45 | 46 | /** 47 | * Obtains the value at the specified index. The first value is at index 0. 48 | * 49 | * @param index the position of the value to obtain 50 | * 51 | * @return the value at the specified position in the {@link Tuple} 52 | * 53 | * @throws IndexOutOfBoundsException when 0 < index <= size() 54 | */ 55 | public Object get(int index) throws IndexOutOfBoundsException; 56 | } 57 | -------------------------------------------------------------------------------- /bedrock-core/src/main/java/module-info.java: -------------------------------------------------------------------------------- 1 | open module com.oracle.bedrock { 2 | requires jakarta.el; 3 | requires java.xml; 4 | requires org.mockito; 5 | requires java.logging; 6 | requires java.management; 7 | exports com.oracle.bedrock; 8 | exports com.oracle.bedrock.annotations; 9 | exports com.oracle.bedrock.deferred; 10 | exports com.oracle.bedrock.deferred.atomic; 11 | exports com.oracle.bedrock.deferred.jmx; 12 | exports com.oracle.bedrock.deferred.options; 13 | exports com.oracle.bedrock.diagnostics; 14 | exports com.oracle.bedrock.extensible; 15 | exports com.oracle.bedrock.io; 16 | exports com.oracle.bedrock.lang; 17 | exports com.oracle.bedrock.options; 18 | exports com.oracle.bedrock.predicate; 19 | exports com.oracle.bedrock.table; 20 | exports com.oracle.bedrock.util; 21 | } 22 | -------------------------------------------------------------------------------- /bedrock-core/src/test/java/com/oracle/bedrock/BedrockTest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * File: BedrockTest.java 3 | * 4 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 5 | * 6 | * The contents of this file are subject to the terms and conditions of 7 | * the Common Development and Distribution License 1.0 (the "License"). 8 | * 9 | * You may not use this file except in compliance with the License. 10 | * 11 | * You can obtain a copy of the License by consulting the LICENSE.txt file 12 | * distributed with this file, or by consulting https://oss.oracle.com/licenses/CDDL 13 | * 14 | * See the License for the specific language governing permissions 15 | * and limitations under the License. 16 | * 17 | * When distributing the software, include this License Header Notice in each 18 | * file and include the License file LICENSE.txt. 19 | * 20 | * MODIFICATIONS: 21 | * If applicable, add the following below the License Header, with the fields 22 | * enclosed by brackets [] replaced by your own identifying information: 23 | * "Portions Copyright [year] [name of copyright owner]" 24 | */ 25 | 26 | package com.oracle.bedrock; 27 | 28 | import org.junit.Test; 29 | 30 | import static org.hamcrest.Matchers.nullValue; 31 | import static org.hamcrest.core.Is.is; 32 | import static org.hamcrest.core.IsNot.not; 33 | import static org.junit.Assert.assertThat; 34 | 35 | /** 36 | * Unit Tests for {@link Bedrock}. 37 | *

38 | * Copyright (c) 2016. All Rights Reserved. Oracle Corporation.
39 | * Oracle is a registered trademark of Oracle Corporation and/or its affiliates. 40 | * 41 | * @author Brian Oliver 42 | */ 43 | public class BedrockTest 44 | { 45 | /** 46 | * Ensure we can determine a version for Oracle Bedrock. 47 | */ 48 | @Test 49 | public void shouldHaveVersion() 50 | { 51 | String version = Bedrock.getVersion(); 52 | 53 | System.out.println("Running Oracle Bedrock: " + version); 54 | 55 | assertThat(version, is(not(nullValue()))); 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /bedrock-core/src/test/java/com/oracle/bedrock/util/ReflectionHelperInterface.java: -------------------------------------------------------------------------------- 1 | /* 2 | * File: ReflectionHelperInterface.java 3 | * 4 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 5 | * 6 | * The contents of this file are subject to the terms and conditions of 7 | * the Common Development and Distribution License 1.0 (the "License"). 8 | * 9 | * You may not use this file except in compliance with the License. 10 | * 11 | * You can obtain a copy of the License by consulting the LICENSE.txt file 12 | * distributed with this file, or by consulting https://oss.oracle.com/licenses/CDDL 13 | * 14 | * See the License for the specific language governing permissions 15 | * and limitations under the License. 16 | * 17 | * When distributing the software, include this License Header Notice in each 18 | * file and include the License file LICENSE.txt. 19 | * 20 | * MODIFICATIONS: 21 | * If applicable, add the following below the License Header, with the fields 22 | * enclosed by brackets [] replaced by your own identifying information: 23 | * "Portions Copyright [year] [name of copyright owner]" 24 | */ 25 | 26 | package com.oracle.bedrock.util; 27 | 28 | /** 29 | * A simple {@link ReflectionHelper} test interface, containing numerous methods 30 | *

31 | * Copyright (c) 2014. All Rights Reserved. Oracle Corporation.
32 | * Oracle is a registered trademark of Oracle Corporation and/or its affiliates. 33 | * 34 | * @author Brian Oliver 35 | */ 36 | public interface ReflectionHelperInterface 37 | { 38 | public void voidMethodWithZeroArguments(); 39 | 40 | 41 | public void voidMethodWithOnePrimitiveArgument(int value); 42 | 43 | 44 | public void voidMethodWithOneWrapperArgument(Long value); 45 | 46 | 47 | public void voidMethodWithOneStringArgument(String value); 48 | } 49 | -------------------------------------------------------------------------------- /bedrock-core/src/test/java/com/oracle/bedrock/util/ReflectionHelperMain.java: -------------------------------------------------------------------------------- 1 | /* 2 | * File: ReflectionHelperMain.java 3 | * 4 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 5 | * 6 | * The contents of this file are subject to the terms and conditions of 7 | * the Common Development and Distribution License 1.0 (the "License"). 8 | * 9 | * You may not use this file except in compliance with the License. 10 | * 11 | * You can obtain a copy of the License by consulting the LICENSE.txt file 12 | * distributed with this file, or by consulting https://oss.oracle.com/licenses/CDDL 13 | * 14 | * See the License for the specific language governing permissions 15 | * and limitations under the License. 16 | * 17 | * When distributing the software, include this License Header Notice in each 18 | * file and include the License file LICENSE.txt. 19 | * 20 | * MODIFICATIONS: 21 | * If applicable, add the following below the License Header, with the fields 22 | * enclosed by brackets [] replaced by your own identifying information: 23 | * "Portions Copyright [year] [name of copyright owner]" 24 | */ 25 | 26 | package com.oracle.bedrock.util; 27 | 28 | /** 29 | * A simple {@link ReflectionHelper} test class containing a main method 30 | *

31 | * Copyright (c) 2014. All Rights Reserved. Oracle Corporation.
32 | * Oracle is a registered trademark of Oracle Corporation and/or its affiliates. 33 | * 34 | * @author Brian Oliver 35 | */ 36 | public class ReflectionHelperMain 37 | { 38 | public static void main(String[] args) 39 | { 40 | // for testing purposes 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /bedrock-runtime-docker-tests/src/test/java/com/oracle/bedrock/runtime/docker/commands/NetworkRemoveTest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * File: NetworkRemoveTest.java 3 | * 4 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 5 | * 6 | * The contents of this file are subject to the terms and conditions of 7 | * the Common Development and Distribution License 1.0 (the "License"). 8 | * 9 | * You may not use this file except in compliance with the License. 10 | * 11 | * You can obtain a copy of the License by consulting the LICENSE.txt file 12 | * distributed with this file, or by consulting https://oss.oracle.com/licenses/CDDL 13 | * 14 | * See the License for the specific language governing permissions 15 | * and limitations under the License. 16 | * 17 | * When distributing the software, include this License Header Notice in each 18 | * file and include the License file LICENSE.txt. 19 | * 20 | * MODIFICATIONS: 21 | * If applicable, add the following below the License Header, with the fields 22 | * enclosed by brackets [] replaced by your own identifying information: 23 | * "Portions Copyright [year] [name of copyright owner]" 24 | */ 25 | 26 | package com.oracle.bedrock.runtime.docker.commands; 27 | 28 | import org.junit.Test; 29 | 30 | import java.util.List; 31 | 32 | import static org.hamcrest.collection.IsIterableContainingInOrder.contains; 33 | import static org.junit.Assert.assertThat; 34 | 35 | /** 36 | * Tests for the {@link Network.Remove} class. 37 | *

38 | * Copyright (c) 2016. All Rights Reserved. Oracle Corporation.
39 | * Oracle is a registered trademark of Oracle Corporation and/or its affiliates. 40 | * 41 | * @author Jonathan Knight 42 | */ 43 | public class NetworkRemoveTest extends AbstractCommandTest 44 | { 45 | @Test 46 | public void shouldInspectNetwork() throws Exception 47 | { 48 | Network.Remove command = Network.remove("foo", "bar"); 49 | List args = resolveArguments(command); 50 | 51 | assertThat(args, contains("network", "rm", "foo", "bar")); 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /bedrock-runtime-docker-tests/src/test/resources/DockerfileTemplate.txt: -------------------------------------------------------------------------------- 1 | FROM oraclelinux:7.1 2 | 3 | ADD something 4 | 5 | RUN something_else -------------------------------------------------------------------------------- /bedrock-runtime-docker-tests/src/test/resources/JavaDockerfile: -------------------------------------------------------------------------------- 1 | FROM oraclelinux:7.1 2 | 3 | RUN yum -y install tar 4 | 5 | COPY jre.tar.gz jre.tar.gz 6 | 7 | RUN mkdir java \ 8 | && tar --strip-components 1 -xf jre.tar.gz -C java \ 9 | && rm jre.tar.gz 10 | 11 | ENV JAVA_HOME=/java 12 | -------------------------------------------------------------------------------- /bedrock-runtime-docker-tests/src/test/resources/TestDockerfile: -------------------------------------------------------------------------------- 1 | FROM oraclelinux:7.1 2 | 3 | ADD test.txt test.txt -------------------------------------------------------------------------------- /bedrock-runtime-jacoco/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | com.oracle.bedrock 6 | project 7 | 7.0.7-SNAPSHOT 8 | 9 | 4.0.0 10 | 11 | bedrock-runtime-jacoco 12 | 13 | Bedrock for Code Coverage (JaCoCo) 14 | 15 | 16 | Interfaces, classes and resources to enable Code Coverage telemetry generation 17 | using JaCoCo 18 | 19 | 20 | 21 | 22 | com.oracle.bedrock 23 | bedrock-runtime 24 | ${project.version} 25 | 26 | 27 | 28 | org.jacoco 29 | org.jacoco.agent 30 | ${jacoco.version} 31 | runtime 32 | 33 | 34 | 35 | junit 36 | junit 37 | ${junit.version} 38 | test 39 | 40 | 41 | 42 | org.hamcrest 43 | hamcrest-core 44 | ${hamcrest.version} 45 | test 46 | 47 | 48 | -------------------------------------------------------------------------------- /bedrock-runtime-jacoco/src/main/java/module-info.java: -------------------------------------------------------------------------------- 1 | open module com.oracle.bedrock.jacoco { 2 | exports com.oracle.bedrock.jacoco; 3 | 4 | requires transitive com.oracle.bedrock.runtime; 5 | 6 | requires org.jacoco.agent.rt; 7 | } -------------------------------------------------------------------------------- /bedrock-runtime-maven/src/main/java/module-info.java: -------------------------------------------------------------------------------- 1 | open module com.oracle.bedrock.maven { 2 | exports com.oracle.bedrock.maven; 3 | 4 | requires transitive com.oracle.bedrock.runtime; 5 | 6 | requires java.logging; 7 | 8 | requires org.apache.maven.resolver; 9 | 10 | requires maven.settings; 11 | requires maven.settings.builder; 12 | requires org.apache.maven.resolver.connector.basic; 13 | requires org.apache.maven.resolver.impl; 14 | requires org.apache.maven.resolver.spi; 15 | requires org.apache.maven.resolver.transport.file; 16 | requires org.apache.maven.resolver.transport.jdk; 17 | requires org.apache.maven.resolver.util; 18 | requires maven.resolver.provider; 19 | requires org.apache.maven.resolver.supplier; 20 | } -------------------------------------------------------------------------------- /bedrock-runtime-maven/src/main/resources/META-INF/services/com.mycila.maven.plugin.license.PropertiesProvider: -------------------------------------------------------------------------------- 1 | com.oracle.bedrock.maven.P4CopyrightRangeProvider -------------------------------------------------------------------------------- /bedrock-runtime-maven/src/test/resources/example-resource.txt: -------------------------------------------------------------------------------- 1 | A simple example resource that we can lookup on the classpath. -------------------------------------------------------------------------------- /bedrock-runtime-remote-tests/src/test/java/com/oracle/bedrock/runtime/remote/java/GetWorkingDirectory.java: -------------------------------------------------------------------------------- 1 | /* 2 | * File: GetWorkingDirectory.java 3 | * 4 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 5 | * 6 | * The contents of this file are subject to the terms and conditions of 7 | * the Common Development and Distribution License 1.0 (the "License"). 8 | * 9 | * You may not use this file except in compliance with the License. 10 | * 11 | * You can obtain a copy of the License by consulting the LICENSE.txt file 12 | * distributed with this file, or by consulting https://oss.oracle.com/licenses/CDDL 13 | * 14 | * See the License for the specific language governing permissions 15 | * and limitations under the License. 16 | * 17 | * When distributing the software, include this License Header Notice in each 18 | * file and include the License file LICENSE.txt. 19 | * 20 | * MODIFICATIONS: 21 | * If applicable, add the following below the License Header, with the fields 22 | * enclosed by brackets [] replaced by your own identifying information: 23 | * "Portions Copyright [year] [name of copyright owner]" 24 | */ 25 | 26 | package com.oracle.bedrock.runtime.remote.java; 27 | 28 | import com.oracle.bedrock.runtime.concurrent.RemoteCallable; 29 | 30 | /** 31 | * A {@link RemoteCallable} that returns the value of the user.dir System property. 32 | *

33 | * Copyright (c) 2016. All Rights Reserved. Oracle Corporation.
34 | * Oracle is a registered trademark of Oracle Corporation and/or its affiliates. 35 | * 36 | * @author Jonathan Knight 37 | */ 38 | public class GetWorkingDirectory implements RemoteCallable 39 | { 40 | @Override 41 | public String call() throws Exception 42 | { 43 | return System.getProperty("user.dir"); 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /bedrock-runtime-remote-tests/src/test/java/com/oracle/bedrock/runtime/remote/java/options/JavaDeploymentTest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * File: JavaDeploymentTest.java 3 | * 4 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 5 | * 6 | * The contents of this file are subject to the terms and conditions of 7 | * the Common Development and Distribution License 1.0 (the "License"). 8 | * 9 | * You may not use this file except in compliance with the License. 10 | * 11 | * You can obtain a copy of the License by consulting the LICENSE.txt file 12 | * distributed with this file, or by consulting https://oss.oracle.com/licenses/CDDL 13 | * 14 | * See the License for the specific language governing permissions 15 | * and limitations under the License. 16 | * 17 | * When distributing the software, include this License Header Notice in each 18 | * file and include the License file LICENSE.txt. 19 | * 20 | * MODIFICATIONS: 21 | * If applicable, add the following below the License Header, with the fields 22 | * enclosed by brackets [] replaced by your own identifying information: 23 | * "Portions Copyright [year] [name of copyright owner]" 24 | */ 25 | 26 | package com.oracle.bedrock.runtime.remote.java.options; 27 | 28 | import com.oracle.bedrock.OptionsByType; 29 | import com.oracle.bedrock.runtime.remote.options.Deployment; 30 | import org.junit.Test; 31 | 32 | import static org.hamcrest.CoreMatchers.is; 33 | import static org.junit.Assert.assertThat; 34 | 35 | /** 36 | * @author jk 2016.02.03 37 | */ 38 | public class JavaDeploymentTest 39 | { 40 | @Test 41 | public void shouldWorkAsAnOption() throws Exception 42 | { 43 | Deployment deployment = JavaDeployment.automatic(); 44 | OptionsByType optionsByType = OptionsByType.of(deployment); 45 | 46 | assertThat(optionsByType.get(Deployment.class), is(deployment)); 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /bedrock-runtime-remote-tests/src/test/resources/test.txt: -------------------------------------------------------------------------------- 1 | This is a simple text file that we can use for deploying an application. -------------------------------------------------------------------------------- /bedrock-runtime-remote/src/main/java/com/oracle/bedrock/runtime/remote/Authentication.java: -------------------------------------------------------------------------------- 1 | /* 2 | * File: Authentication.java 3 | * 4 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 5 | * 6 | * The contents of this file are subject to the terms and conditions of 7 | * the Common Development and Distribution License 1.0 (the "License"). 8 | * 9 | * You may not use this file except in compliance with the License. 10 | * 11 | * You can obtain a copy of the License by consulting the LICENSE.txt file 12 | * distributed with this file, or by consulting https://oss.oracle.com/licenses/CDDL 13 | * 14 | * See the License for the specific language governing permissions 15 | * and limitations under the License. 16 | * 17 | * When distributing the software, include this License Header Notice in each 18 | * file and include the License file LICENSE.txt. 19 | * 20 | * MODIFICATIONS: 21 | * If applicable, add the following below the License Header, with the fields 22 | * enclosed by brackets [] replaced by your own identifying information: 23 | * "Portions Copyright [year] [name of copyright owner]" 24 | */ 25 | 26 | package com.oracle.bedrock.runtime.remote; 27 | 28 | /** 29 | * Provides authentication information for authenticating connections, transferring 30 | * information and making requests for {@link RemoteTerminal}s. 31 | *

32 | * Copyright (c) 2014. All Rights Reserved. Oracle Corporation.
33 | * Oracle is a registered trademark of Oracle Corporation and/or its affiliates. 34 | * 35 | * @author Brian Oliver 36 | */ 37 | public interface Authentication 38 | { 39 | } 40 | -------------------------------------------------------------------------------- /bedrock-runtime-remote/src/main/java/com/oracle/bedrock/runtime/remote/RemoteApplicationProcess.java: -------------------------------------------------------------------------------- 1 | /* 2 | * File: RemoteApplicationProcess.java 3 | * 4 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 5 | * 6 | * The contents of this file are subject to the terms and conditions of 7 | * the Common Development and Distribution License 1.0 (the "License"). 8 | * 9 | * You may not use this file except in compliance with the License. 10 | * 11 | * You can obtain a copy of the License by consulting the LICENSE.txt file 12 | * distributed with this file, or by consulting https://oss.oracle.com/licenses/CDDL 13 | * 14 | * See the License for the specific language governing permissions 15 | * and limitations under the License. 16 | * 17 | * When distributing the software, include this License Header Notice in each 18 | * file and include the License file LICENSE.txt. 19 | * 20 | * MODIFICATIONS: 21 | * If applicable, add the following below the License Header, with the fields 22 | * enclosed by brackets [] replaced by your own identifying information: 23 | * "Portions Copyright [year] [name of copyright owner]" 24 | */ 25 | 26 | package com.oracle.bedrock.runtime.remote; 27 | 28 | import com.oracle.bedrock.annotations.Internal; 29 | import com.oracle.bedrock.runtime.Application; 30 | import com.oracle.bedrock.runtime.ApplicationProcess; 31 | 32 | /** 33 | * An {@link ApplicationProcess} that is executing or executed on 34 | * a {@link RemotePlatform}. 35 | *

36 | * Typically application developers would not use this interface directly as 37 | * the {@link Application} interface provides both higher-level concepts and 38 | * increased functionality over that of which is defined here. 39 | *

40 | * Copyright (c) 2014. All Rights Reserved. Oracle Corporation.
41 | * Oracle is a registered trademark of Oracle Corporation and/or its affiliates. 42 | * 43 | * @author Brian Oliver 44 | */ 45 | @Internal 46 | public interface RemoteApplicationProcess extends ApplicationProcess 47 | { 48 | } 49 | -------------------------------------------------------------------------------- /bedrock-runtime-remote/src/main/java/com/oracle/bedrock/runtime/remote/RemoteTerminalBuilder.java: -------------------------------------------------------------------------------- 1 | /* 2 | * File: RemoteTerminalBuilder.java 3 | * 4 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 5 | * 6 | * The contents of this file are subject to the terms and conditions of 7 | * the Common Development and Distribution License 1.0 (the "License"). 8 | * 9 | * You may not use this file except in compliance with the License. 10 | * 11 | * You can obtain a copy of the License by consulting the LICENSE.txt file 12 | * distributed with this file, or by consulting https://oss.oracle.com/licenses/CDDL 13 | * 14 | * See the License for the specific language governing permissions 15 | * and limitations under the License. 16 | * 17 | * When distributing the software, include this License Header Notice in each 18 | * file and include the License file LICENSE.txt. 19 | * 20 | * MODIFICATIONS: 21 | * If applicable, add the following below the License Header, with the fields 22 | * enclosed by brackets [] replaced by your own identifying information: 23 | * "Portions Copyright [year] [name of copyright owner]" 24 | */ 25 | 26 | package com.oracle.bedrock.runtime.remote; 27 | 28 | import com.oracle.bedrock.Option; 29 | import com.oracle.bedrock.annotations.Internal; 30 | import com.oracle.bedrock.runtime.Platform; 31 | 32 | /** 33 | * A internal mechanism to build {@link RemoteTerminal}s for {@link RemotePlatform}s. 34 | *

35 | * Copyright (c) 2015. All Rights Reserved. Oracle Corporation.
36 | * Oracle is a registered trademark of Oracle Corporation and/or its affiliates. 37 | * 38 | * @author Jonathan Knight 39 | */ 40 | @Internal 41 | public interface RemoteTerminalBuilder extends Option 42 | { 43 | /** 44 | * Builds a {@link RemoteTerminal} that will connect to a {@link Platform}. 45 | * 46 | * @param platform the {@link Platform} 47 | * 48 | * @return a {@link RemoteTerminal} 49 | */ 50 | RemoteTerminal build(Platform platform); 51 | } 52 | -------------------------------------------------------------------------------- /bedrock-runtime-remote/src/main/java/com/oracle/bedrock/runtime/remote/http/HttpAuthenticationType.java: -------------------------------------------------------------------------------- 1 | /* 2 | * File: HttpAuthenticationType.java 3 | * 4 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 5 | * 6 | * The contents of this file are subject to the terms and conditions of 7 | * the Common Development and Distribution License 1.0 (the "License"). 8 | * 9 | * You may not use this file except in compliance with the License. 10 | * 11 | * You can obtain a copy of the License by consulting the LICENSE.txt file 12 | * distributed with this file, or by consulting https://oss.oracle.com/licenses/CDDL 13 | * 14 | * See the License for the specific language governing permissions 15 | * and limitations under the License. 16 | * 17 | * When distributing the software, include this License Header Notice in each 18 | * file and include the License file LICENSE.txt. 19 | * 20 | * MODIFICATIONS: 21 | * If applicable, add the following below the License Header, with the fields 22 | * enclosed by brackets [] replaced by your own identifying information: 23 | * "Portions Copyright [year] [name of copyright owner]" 24 | */ 25 | 26 | package com.oracle.bedrock.runtime.remote.http; 27 | 28 | import com.oracle.bedrock.Option; 29 | 30 | /** 31 | * An enumeration of possible HTTP authentication types. 32 | *

33 | * Copyright (c) 2015. All Rights Reserved. Oracle Corporation.
34 | * Oracle is a registered trademark of Oracle Corporation and/or its affiliates. 35 | * 36 | * @author Jonathan Knight 37 | */ 38 | public enum HttpAuthenticationType implements Option{Basic, 39 | NTLM, 40 | Kerberos} 41 | -------------------------------------------------------------------------------- /bedrock-runtime-remote/src/main/java/com/oracle/bedrock/runtime/remote/ssh/JschLogger.java: -------------------------------------------------------------------------------- 1 | /* 2 | * File: JschLogger.java 3 | * 4 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 5 | * 6 | * The contents of this file are subject to the terms and conditions of 7 | * the Common Development and Distribution License 1.0 (the "License"). 8 | * 9 | * You may not use this file except in compliance with the License. 10 | * 11 | * You can obtain a copy of the License by consulting the LICENSE.txt file 12 | * distributed with this file, or by consulting https://oss.oracle.com/licenses/CDDL 13 | * 14 | * See the License for the specific language governing permissions 15 | * and limitations under the License. 16 | * 17 | * When distributing the software, include this License Header Notice in each 18 | * file and include the License file LICENSE.txt. 19 | * 20 | * MODIFICATIONS: 21 | * If applicable, add the following below the License Header, with the fields 22 | * enclosed by brackets [] replaced by your own identifying information: 23 | * "Portions Copyright [year] [name of copyright owner]" 24 | */ 25 | 26 | package com.oracle.bedrock.runtime.remote.ssh; 27 | 28 | /** 29 | * A logger for Jsch. 30 | *

31 | * Copyright (c) 2018. All Rights Reserved. Oracle Corporation.
32 | * Oracle is a registered trademark of Oracle Corporation and/or its affiliates. 33 | * 34 | * @author Jonathan Knight 35 | */ 36 | public class JschLogger implements com.jcraft.jsch.Logger 37 | { 38 | @Override 39 | public boolean isEnabled(int level) 40 | { 41 | return true; 42 | } 43 | 44 | @Override 45 | public void log(int level, String message) 46 | { 47 | System.err.println("JSCH <" + level + "> " + message); 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /bedrock-runtime-remote/src/main/java/module-info.java: -------------------------------------------------------------------------------- 1 | open module com.oracle.bedrock.runtime.remote { 2 | exports com.oracle.bedrock.runtime.remote; 3 | exports com.oracle.bedrock.runtime.remote.http; 4 | exports com.oracle.bedrock.runtime.remote.java; 5 | exports com.oracle.bedrock.runtime.remote.java.options; 6 | exports com.oracle.bedrock.runtime.remote.options; 7 | exports com.oracle.bedrock.runtime.remote.ssh; 8 | 9 | requires transitive com.oracle.bedrock.runtime; 10 | 11 | requires java.logging; 12 | 13 | requires jdk.httpserver; 14 | requires com.jcraft.jsch; 15 | } -------------------------------------------------------------------------------- /bedrock-runtime-tests/src/test/java/classloader/applications/SimpleTester.java: -------------------------------------------------------------------------------- 1 | /* 2 | * File: SimpleTester.java 3 | * 4 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 5 | * 6 | * The contents of this file are subject to the terms and conditions of 7 | * the Common Development and Distribution License 1.0 (the "License"). 8 | * 9 | * You may not use this file except in compliance with the License. 10 | * 11 | * You can obtain a copy of the License by consulting the LICENSE.txt file 12 | * distributed with this file, or by consulting https://oss.oracle.com/licenses/CDDL 13 | * 14 | * See the License for the specific language governing permissions 15 | * and limitations under the License. 16 | * 17 | * When distributing the software, include this License Header Notice in each 18 | * file and include the License file LICENSE.txt. 19 | * 20 | * MODIFICATIONS: 21 | * If applicable, add the following below the License Header, with the fields 22 | * enclosed by brackets [] replaced by your own identifying information: 23 | * "Portions Copyright [year] [name of copyright owner]" 24 | */ 25 | 26 | package classloader.applications; 27 | 28 | /** 29 | * A simple implementation of a {@link Tester}. 30 | *

31 | * Copyright (c) 2014. All Rights Reserved. Oracle Corporation.
32 | * Oracle is a registered trademark of Oracle Corporation and/or its affiliates. 33 | * 34 | * @author Brian Oliver 35 | */ 36 | public class SimpleTester implements Tester 37 | { 38 | @Override 39 | public void doNothing() 40 | { 41 | // skip 42 | } 43 | 44 | 45 | @Override 46 | public String getMeaningOfLife() 47 | { 48 | return "42"; 49 | } 50 | 51 | 52 | @Override 53 | public int identity(int value) 54 | { 55 | return value; 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /bedrock-runtime-tests/src/test/java/classloader/applications/Tester.java: -------------------------------------------------------------------------------- 1 | /* 2 | * File: Tester.java 3 | * 4 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 5 | * 6 | * The contents of this file are subject to the terms and conditions of 7 | * the Common Development and Distribution License 1.0 (the "License"). 8 | * 9 | * You may not use this file except in compliance with the License. 10 | * 11 | * You can obtain a copy of the License by consulting the LICENSE.txt file 12 | * distributed with this file, or by consulting https://oss.oracle.com/licenses/CDDL 13 | * 14 | * See the License for the specific language governing permissions 15 | * and limitations under the License. 16 | * 17 | * When distributing the software, include this License Header Notice in each 18 | * file and include the License file LICENSE.txt. 19 | * 20 | * MODIFICATIONS: 21 | * If applicable, add the following below the License Header, with the fields 22 | * enclosed by brackets [] replaced by your own identifying information: 23 | * "Portions Copyright [year] [name of copyright owner]" 24 | */ 25 | 26 | package classloader.applications; 27 | 28 | /** 29 | * A simple class that returns values passed to it. 30 | *

31 | * Copyright (c) 2014. All Rights Reserved. Oracle Corporation.
32 | * Oracle is a registered trademark of Oracle Corporation and/or its affiliates. 33 | * 34 | * @author Brian Oliver 35 | */ 36 | public interface Tester 37 | { 38 | /** 39 | * Does nothing and returns nothing. 40 | */ 41 | public void doNothing(); 42 | 43 | 44 | /** 45 | * Obtain the meaning of life. 46 | * 47 | * @return the meaning of life (42) 48 | */ 49 | public String getMeaningOfLife(); 50 | 51 | 52 | /** 53 | * An identity function for integers. 54 | * 55 | * @param value the value to be returned 56 | * @return the value passed to the method 57 | */ 58 | public int identity(int value); 59 | } 60 | -------------------------------------------------------------------------------- /bedrock-runtime-tests/src/test/java/classloader/applications/TesterProducer.java: -------------------------------------------------------------------------------- 1 | /* 2 | * File: TesterProducer.java 3 | * 4 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 5 | * 6 | * The contents of this file are subject to the terms and conditions of 7 | * the Common Development and Distribution License 1.0 (the "License"). 8 | * 9 | * You may not use this file except in compliance with the License. 10 | * 11 | * You can obtain a copy of the License by consulting the LICENSE.txt file 12 | * distributed with this file, or by consulting https://oss.oracle.com/licenses/CDDL 13 | * 14 | * See the License for the specific language governing permissions 15 | * and limitations under the License. 16 | * 17 | * When distributing the software, include this License Header Notice in each 18 | * file and include the License file LICENSE.txt. 19 | * 20 | * MODIFICATIONS: 21 | * If applicable, add the following below the License Header, with the fields 22 | * enclosed by brackets [] replaced by your own identifying information: 23 | * "Portions Copyright [year] [name of copyright owner]" 24 | */ 25 | 26 | package classloader.applications; 27 | 28 | import com.oracle.bedrock.runtime.concurrent.RemoteCallable; 29 | 30 | /** 31 | * A {@link RemoteCallable} for testing purposes, that returns the 32 | * {@link Tester} of a {@link TesterApplication}. 33 | *

34 | * Copyright (c) 2014. All Rights Reserved. Oracle Corporation.
35 | * Oracle is a registered trademark of Oracle Corporation and/or its affiliates. 36 | * 37 | * @author Brian Oliver 38 | */ 39 | public class TesterProducer implements RemoteCallable 40 | { 41 | @Override 42 | public Tester call() throws Exception 43 | { 44 | return TesterApplication.getTester(); 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /bedrock-runtime-tests/src/test/java/com/oracle/bedrock/runtime/java/FaultyApplication.java: -------------------------------------------------------------------------------- 1 | /* 2 | * File: FaultyApplication.java 3 | * 4 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 5 | * 6 | * The contents of this file are subject to the terms and conditions of 7 | * the Common Development and Distribution License 1.0 (the "License"). 8 | * 9 | * You may not use this file except in compliance with the License. 10 | * 11 | * You can obtain a copy of the License by consulting the LICENSE.txt file 12 | * distributed with this file, or by consulting https://oss.oracle.com/licenses/CDDL 13 | * 14 | * See the License for the specific language governing permissions 15 | * and limitations under the License. 16 | * 17 | * When distributing the software, include this License Header Notice in each 18 | * file and include the License file LICENSE.txt. 19 | * 20 | * MODIFICATIONS: 21 | * If applicable, add the following below the License Header, with the fields 22 | * enclosed by brackets [] replaced by your own identifying information: 23 | * "Portions Copyright [year] [name of copyright owner]" 24 | */ 25 | 26 | package com.oracle.bedrock.runtime.java; 27 | 28 | import java.io.IOException; 29 | 30 | /** 31 | * A simple application that will always throw a RuntimeException 32 | *

33 | * Copyright (c) 2014. All Rights Reserved. Oracle Corporation.
34 | * Oracle is a registered trademark of Oracle Corporation and/or its affiliates. 35 | * 36 | * @author Brian Oliver 37 | */ 38 | public class FaultyApplication 39 | { 40 | /** 41 | * The main for the application 42 | * 43 | * @param args the arguments for the application 44 | */ 45 | public static void main(String[] args) throws IOException 46 | { 47 | throw new RuntimeException("This application is faulty."); 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /bedrock-runtime-tests/src/test/java/com/oracle/bedrock/runtime/java/GetProgramArgs.java: -------------------------------------------------------------------------------- 1 | /* 2 | * File: GetProgramArgs.java 3 | * 4 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 5 | * 6 | * The contents of this file are subject to the terms and conditions of 7 | * the Common Development and Distribution License 1.0 (the "License"). 8 | * 9 | * You may not use this file except in compliance with the License. 10 | * 11 | * You can obtain a copy of the License by consulting the LICENSE.txt file 12 | * distributed with this file, or by consulting https://oss.oracle.com/licenses/CDDL 13 | * 14 | * See the License for the specific language governing permissions 15 | * and limitations under the License. 16 | * 17 | * When distributing the software, include this License Header Notice in each 18 | * file and include the License file LICENSE.txt. 19 | * 20 | * MODIFICATIONS: 21 | * If applicable, add the following below the License Header, with the fields 22 | * enclosed by brackets [] replaced by your own identifying information: 23 | * "Portions Copyright [year] [name of copyright owner]" 24 | */ 25 | 26 | package com.oracle.bedrock.runtime.java; 27 | 28 | import com.oracle.bedrock.runtime.concurrent.RemoteCallable; 29 | 30 | import java.lang.management.ManagementFactory; 31 | import java.util.List; 32 | 33 | /** 34 | * A {@link RemoteCallable} implementation that get all of the arguments 35 | * used to start the process. 36 | *

37 | * Copyright (c) 2014. All Rights Reserved. Oracle Corporation.
38 | * Oracle is a registered trademark of Oracle Corporation and/or its affiliates. 39 | * 40 | * @author Jonathan Knight 41 | */ 42 | public class GetProgramArgs implements RemoteCallable> 43 | { 44 | /** 45 | * Obtain the arguments used to start this process. 46 | * 47 | * @return the arguments used to start this process 48 | * 49 | * @throws Exception 50 | */ 51 | @Override 52 | public List call() throws Exception 53 | { 54 | return ManagementFactory.getRuntimeMXBean().getInputArguments(); 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /bedrock-runtime-tests/src/test/java/com/oracle/bedrock/runtime/java/GetWorkingDirectory.java: -------------------------------------------------------------------------------- 1 | /* 2 | * File: GetWorkingDirectory.java 3 | * 4 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 5 | * 6 | * The contents of this file are subject to the terms and conditions of 7 | * the Common Development and Distribution License 1.0 (the "License"). 8 | * 9 | * You may not use this file except in compliance with the License. 10 | * 11 | * You can obtain a copy of the License by consulting the LICENSE.txt file 12 | * distributed with this file, or by consulting https://oss.oracle.com/licenses/CDDL 13 | * 14 | * See the License for the specific language governing permissions 15 | * and limitations under the License. 16 | * 17 | * When distributing the software, include this License Header Notice in each 18 | * file and include the License file LICENSE.txt. 19 | * 20 | * MODIFICATIONS: 21 | * If applicable, add the following below the License Header, with the fields 22 | * enclosed by brackets [] replaced by your own identifying information: 23 | * "Portions Copyright [year] [name of copyright owner]" 24 | */ 25 | 26 | package com.oracle.bedrock.runtime.java; 27 | 28 | import com.oracle.bedrock.runtime.concurrent.RemoteCallable; 29 | 30 | /** 31 | * A {@link RemoteCallable} that returns the value of the user.dir System property. 32 | *

33 | * Copyright (c) 2016. All Rights Reserved. Oracle Corporation.
34 | * Oracle is a registered trademark of Oracle Corporation and/or its affiliates. 35 | * 36 | * @author Jonathan Knight 37 | */ 38 | public class GetWorkingDirectory implements RemoteCallable 39 | { 40 | @Override 41 | public String call() throws Exception 42 | { 43 | return System.getProperty("user.dir"); 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /bedrock-runtime-tests/src/test/java/com/oracle/bedrock/runtime/java/container/Dummy.java: -------------------------------------------------------------------------------- 1 | /* 2 | * File: Dummy.java 3 | * 4 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 5 | * 6 | * The contents of this file are subject to the terms and conditions of 7 | * the Common Development and Distribution License 1.0 (the "License"). 8 | * 9 | * You may not use this file except in compliance with the License. 10 | * 11 | * You can obtain a copy of the License by consulting the LICENSE.txt file 12 | * distributed with this file, or by consulting https://oss.oracle.com/licenses/CDDL 13 | * 14 | * See the License for the specific language governing permissions 15 | * and limitations under the License. 16 | * 17 | * When distributing the software, include this License Header Notice in each 18 | * file and include the License file LICENSE.txt. 19 | * 20 | * MODIFICATIONS: 21 | * If applicable, add the following below the License Header, with the fields 22 | * enclosed by brackets [] replaced by your own identifying information: 23 | * "Portions Copyright [year] [name of copyright owner]" 24 | */ 25 | 26 | package com.oracle.bedrock.runtime.java.container; 27 | 28 | /** 29 | * A dummy MBean class used in functional tests 30 | *

31 | * Copyright (c) 2011. All Rights Reserved. Oracle Corporation.
32 | * Oracle is a registered trademark of Oracle Corporation and/or its affiliates. 33 | * 34 | * @author Jonathan Knight 35 | */ 36 | public class Dummy implements DummyMBean 37 | { 38 | private int attributeOne; 39 | 40 | 41 | /** 42 | * Return Attribute One. 43 | * 44 | * @return 45 | */ 46 | public int getAttributeOne() 47 | { 48 | return attributeOne; 49 | } 50 | 51 | 52 | /** 53 | * Set Attribute One. 54 | * 55 | * @param attributeOne 56 | */ 57 | public void setAttributeOne(int attributeOne) 58 | { 59 | this.attributeOne = attributeOne; 60 | } 61 | } 62 | -------------------------------------------------------------------------------- /bedrock-runtime-tests/src/test/java/com/oracle/bedrock/runtime/java/container/DummyMBean.java: -------------------------------------------------------------------------------- 1 | /* 2 | * File: DummyMBean.java 3 | * 4 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 5 | * 6 | * The contents of this file are subject to the terms and conditions of 7 | * the Common Development and Distribution License 1.0 (the "License"). 8 | * 9 | * You may not use this file except in compliance with the License. 10 | * 11 | * You can obtain a copy of the License by consulting the LICENSE.txt file 12 | * distributed with this file, or by consulting https://oss.oracle.com/licenses/CDDL 13 | * 14 | * See the License for the specific language governing permissions 15 | * and limitations under the License. 16 | * 17 | * When distributing the software, include this License Header Notice in each 18 | * file and include the License file LICENSE.txt. 19 | * 20 | * MODIFICATIONS: 21 | * If applicable, add the following below the License Header, with the fields 22 | * enclosed by brackets [] replaced by your own identifying information: 23 | * "Portions Copyright [year] [name of copyright owner]" 24 | */ 25 | 26 | package com.oracle.bedrock.runtime.java.container; 27 | 28 | /** 29 | * A dummy MBean interface used in tests. 30 | *

31 | * Copyright (c) 2011. All Rights Reserved. Oracle Corporation.
32 | * Oracle is a registered trademark of Oracle Corporation and/or its affiliates. 33 | * 34 | * @author Jonathan Knight 35 | */ 36 | public interface DummyMBean 37 | { 38 | int getAttributeOne(); 39 | } 40 | -------------------------------------------------------------------------------- /bedrock-runtime-vagrant-tests/src/test/resources/Single-VM-Vagrantfile.rb: -------------------------------------------------------------------------------- 1 | # -*- mode: ruby -*- 2 | # vi: set ft=ruby : 3 | 4 | # Vagrantfile API/syntax version. Don't touch unless you know what you're doing! 5 | VAGRANTFILE_API_VERSION = "2" 6 | 7 | Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| 8 | config.vm.box = 'oracle/java8' 9 | config.vm.box_check_update=false 10 | config.vm.network 'private_network', ip: '192.168.56.210' 11 | end 12 | -------------------------------------------------------------------------------- /bedrock-runtime-vagrant/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 4.0.0 3 | 4 | 5 | com.oracle.bedrock 6 | project 7 | 7.0.7-SNAPSHOT 8 | 9 | 10 | bedrock-runtime-vagrant 11 | 12 | Bedrock for Vagrant Runtime Management 13 | 14 | 15 | Interfaces, classes and resources to construct, inspect and securely 16 | manage Vagrant based runtime processes. 17 | 18 | 19 | 20 | 21 | com.oracle.bedrock 22 | bedrock-runtime-virtual 23 | ${project.version} 24 | 25 | 26 | 27 | 28 | 29 | 30 | org.apache.maven.plugins 31 | maven-jar-plugin 32 | 33 | 34 | 35 | com.oracle.bedrock.runtime.vagrant 36 | 37 | 38 | 39 | 40 | 41 | 42 | -------------------------------------------------------------------------------- /bedrock-runtime-vagrant/src/main/java/module-info.java: -------------------------------------------------------------------------------- 1 | open module com.oracle.bedrock.runtime.virtual.vagrant { 2 | exports com.oracle.bedrock.runtime.virtual.vagrant; 3 | exports com.oracle.bedrock.runtime.virtual.vagrant.options; 4 | 5 | requires transitive com.oracle.bedrock.runtime.virtual; 6 | } 7 | -------------------------------------------------------------------------------- /bedrock-runtime-virtual/src/main/java/module-info.java: -------------------------------------------------------------------------------- 1 | open module com.oracle.bedrock.runtime.virtual { 2 | exports com.oracle.bedrock.runtime.virtual; 3 | 4 | requires transitive com.oracle.bedrock.runtime.remote; 5 | } -------------------------------------------------------------------------------- /bedrock-runtime-windows/src/main/resources/ws-man.properties: -------------------------------------------------------------------------------- 1 | ws-man.packages=com.microsoft.wsman.cim.interactive:com.microsoft.wsman.config:com.microsoft.wsman.config.plugin:com.microsoft.wsman.config.service.certmapping:com.microsoft.wsman.fault:com.microsoft.wsman.shell:org.dmtf.cim.common:org.dmtf.wsman:org.dmtf.wsman.cimbinding:org.w3c.soap.envelope:org.w3c.ws.addressing:org.xmlsoap.ws.addressing:org.xmlsoap.ws.enumeration:org.xmlsoap.ws.eventing:org.xmlsoap.ws.transfer 2 | -------------------------------------------------------------------------------- /bedrock-runtime-windows/src/main/resources/xsd/ms-wsman-cert.xsd: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /bedrock-runtime-windows/src/main/resources/xsd/ms-wsman-fault.xsd: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /bedrock-runtime/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 4.0.0 3 | 4 | 5 | com.oracle.bedrock 6 | project 7 | 7.0.7-SNAPSHOT 8 | 9 | 10 | bedrock-runtime 11 | 12 | Bedrock for Runtime Management 13 | 14 | 15 | Interfaces, classes and resources to construct, inspect and manage 16 | runtime processes. 17 | 18 | 19 | 20 | 21 | com.oracle.bedrock 22 | bedrock-core 23 | ${project.version} 24 | 25 | 26 | 27 | org.hamcrest 28 | hamcrest-core 29 | test 30 | 31 | 32 | 33 | junit 34 | junit 35 | test 36 | 37 | 38 | 39 | org.mockito 40 | mockito-core 41 | test 42 | 43 | 44 | -------------------------------------------------------------------------------- /bedrock-runtime/src/main/java/com/oracle/bedrock/runtime/ApplicationConsoleBuilder.java: -------------------------------------------------------------------------------- 1 | /* 2 | * File: ApplicationConsoleBuilder.java 3 | * 4 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 5 | * 6 | * The contents of this file are subject to the terms and conditions of 7 | * the Common Development and Distribution License 1.0 (the "License"). 8 | * 9 | * You may not use this file except in compliance with the License. 10 | * 11 | * You can obtain a copy of the License by consulting the LICENSE.txt file 12 | * distributed with this file, or by consulting https://oss.oracle.com/licenses/CDDL 13 | * 14 | * See the License for the specific language governing permissions 15 | * and limitations under the License. 16 | * 17 | * When distributing the software, include this License Header Notice in each 18 | * file and include the License file LICENSE.txt. 19 | * 20 | * MODIFICATIONS: 21 | * If applicable, add the following below the License Header, with the fields 22 | * enclosed by brackets [] replaced by your own identifying information: 23 | * "Portions Copyright [year] [name of copyright owner]" 24 | */ 25 | 26 | package com.oracle.bedrock.runtime; 27 | 28 | import com.oracle.bedrock.Option; 29 | 30 | /** 31 | * A builder for {@link ApplicationConsole}s. 32 | *

33 | * Copyright (c) 2013. All Rights Reserved. Oracle Corporation.
34 | * Oracle is a registered trademark of Oracle Corporation and/or its affiliates. 35 | * 36 | * @author Brian Oliver 37 | */ 38 | public interface ApplicationConsoleBuilder extends Option 39 | { 40 | /** 41 | * Realizes an {@link ApplicationConsole} for the specified application name. 42 | * 43 | * @param applicationName the name of the application that will use the 44 | * returned {@link ApplicationConsole} 45 | * 46 | * @return an {@link ApplicationConsole} for the specified application name 47 | */ 48 | ApplicationConsole build(String applicationName); 49 | } 50 | -------------------------------------------------------------------------------- /bedrock-runtime/src/main/java/com/oracle/bedrock/runtime/SimpleAssembly.java: -------------------------------------------------------------------------------- 1 | /* 2 | * File: SimpleAssembly.java 3 | * 4 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 5 | * 6 | * The contents of this file are subject to the terms and conditions of 7 | * the Common Development and Distribution License 1.0 (the "License"). 8 | * 9 | * You may not use this file except in compliance with the License. 10 | * 11 | * You can obtain a copy of the License by consulting the LICENSE.txt file 12 | * distributed with this file, or by consulting https://oss.oracle.com/licenses/CDDL 13 | * 14 | * See the License for the specific language governing permissions 15 | * and limitations under the License. 16 | * 17 | * When distributing the software, include this License Header Notice in each 18 | * file and include the License file LICENSE.txt. 19 | * 20 | * MODIFICATIONS: 21 | * If applicable, add the following below the License Header, with the fields 22 | * enclosed by brackets [] replaced by your own identifying information: 23 | * "Portions Copyright [year] [name of copyright owner]" 24 | */ 25 | 26 | package com.oracle.bedrock.runtime; 27 | 28 | import com.oracle.bedrock.OptionsByType; 29 | import com.oracle.bedrock.annotations.Internal; 30 | 31 | /** 32 | * A simple implementation of an {@link Assembly} 33 | *

34 | * Copyright (c) 2014. All Rights Reserved. Oracle Corporation.
35 | * Oracle is a registered trademark of Oracle Corporation and/or its affiliates. 36 | * 37 | * @author Jonathan Knight 38 | * 39 | * @param the type of {@link Application} contained within this {@link SimpleAssembly} 40 | */ 41 | @Internal 42 | public class SimpleAssembly extends AbstractAssembly 43 | { 44 | /** 45 | * Constructs a {@link SimpleAssembly}. 46 | * 47 | * @param optionsByType the {@link OptionsByType} for the {@link Assembly} 48 | */ 49 | public SimpleAssembly(OptionsByType optionsByType) 50 | { 51 | super(optionsByType); 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /bedrock-runtime/src/main/java/com/oracle/bedrock/runtime/concurrent/RemoteCallable.java: -------------------------------------------------------------------------------- 1 | /* 2 | * File: RemoteCallable.java 3 | * 4 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 5 | * 6 | * The contents of this file are subject to the terms and conditions of 7 | * the Common Development and Distribution License 1.0 (the "License"). 8 | * 9 | * You may not use this file except in compliance with the License. 10 | * 11 | * You can obtain a copy of the License by consulting the LICENSE.txt file 12 | * distributed with this file, or by consulting https://oss.oracle.com/licenses/CDDL 13 | * 14 | * See the License for the specific language governing permissions 15 | * and limitations under the License. 16 | * 17 | * When distributing the software, include this License Header Notice in each 18 | * file and include the License file LICENSE.txt. 19 | * 20 | * MODIFICATIONS: 21 | * If applicable, add the following below the License Header, with the fields 22 | * enclosed by brackets [] replaced by your own identifying information: 23 | * "Portions Copyright [year] [name of copyright owner]" 24 | */ 25 | 26 | package com.oracle.bedrock.runtime.concurrent; 27 | 28 | import java.io.Serializable; 29 | import java.util.concurrent.Callable; 30 | 31 | /** 32 | * A {@link Callable} that may be executed remotely. 33 | *

34 | * Copyright (c) 2014. All Rights Reserved. Oracle Corporation.
35 | * Oracle is a registered trademark of Oracle Corporation and/or its affiliates. 36 | * 37 | * @author Brian Oliver 38 | * 39 | * @see RemoteChannel 40 | */ 41 | public interface RemoteCallable extends Callable, Serializable 42 | { 43 | } 44 | -------------------------------------------------------------------------------- /bedrock-runtime/src/main/java/com/oracle/bedrock/runtime/concurrent/RemoteChannelListener.java: -------------------------------------------------------------------------------- 1 | /* 2 | * File: RemoteChannelListener.java 3 | * 4 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 5 | * 6 | * The contents of this file are subject to the terms and conditions of 7 | * the Common Development and Distribution License 1.0 (the "License"). 8 | * 9 | * You may not use this file except in compliance with the License. 10 | * 11 | * You can obtain a copy of the License by consulting the LICENSE.txt file 12 | * distributed with this file, or by consulting https://oss.oracle.com/licenses/CDDL 13 | * 14 | * See the License for the specific language governing permissions 15 | * and limitations under the License. 16 | * 17 | * When distributing the software, include this License Header Notice in each 18 | * file and include the License file LICENSE.txt. 19 | * 20 | * MODIFICATIONS: 21 | * If applicable, add the following below the License Header, with the fields 22 | * enclosed by brackets [] replaced by your own identifying information: 23 | * "Portions Copyright [year] [name of copyright owner]" 24 | */ 25 | 26 | package com.oracle.bedrock.runtime.concurrent; 27 | 28 | import com.oracle.bedrock.annotations.Internal; 29 | 30 | /** 31 | * Provides the ability to receive callbacks when certain events 32 | * occur on a {@link RemoteChannel}. 33 | *

34 | * Copyright (c) 2013. All Rights Reserved. Oracle Corporation.
35 | * Oracle is a registered trademark of Oracle Corporation and/or its affiliates. 36 | * 37 | * @author Brian Oliver 38 | */ 39 | @Internal 40 | public interface RemoteChannelListener 41 | { 42 | /** 43 | * Called when a {@link RemoteChannel} is opened. 44 | * 45 | * @param channel the {@link RemoteChannel} 46 | */ 47 | public void onOpened(RemoteChannel channel); 48 | 49 | 50 | /** 51 | * Called when a {@link RemoteChannel} is closed. 52 | * 53 | * @param channel the {@link RemoteChannel} 54 | */ 55 | public void onClosed(RemoteChannel channel); 56 | } 57 | -------------------------------------------------------------------------------- /bedrock-runtime/src/main/java/com/oracle/bedrock/runtime/concurrent/RemoteEvent.java: -------------------------------------------------------------------------------- 1 | /* 2 | * File: RemoteEvent.java 3 | * 4 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 5 | * 6 | * The contents of this file are subject to the terms and conditions of 7 | * the Common Development and Distribution License 1.0 (the "License"). 8 | * 9 | * You may not use this file except in compliance with the License. 10 | * 11 | * You can obtain a copy of the License by consulting the LICENSE.txt file 12 | * distributed with this file, or by consulting https://oss.oracle.com/licenses/CDDL 13 | * 14 | * See the License for the specific language governing permissions 15 | * and limitations under the License. 16 | * 17 | * When distributing the software, include this License Header Notice in each 18 | * file and include the License file LICENSE.txt. 19 | * 20 | * MODIFICATIONS: 21 | * If applicable, add the following below the License Header, with the fields 22 | * enclosed by brackets [] replaced by your own identifying information: 23 | * "Portions Copyright [year] [name of copyright owner]" 24 | */ 25 | 26 | package com.oracle.bedrock.runtime.concurrent; 27 | 28 | import java.io.Serializable; 29 | 30 | /** 31 | * Represents an arbitrary event that may fired by one process and received 32 | * by a different process. 33 | *

34 | * Copyright (c) 2016. All Rights Reserved. Oracle Corporation.
35 | * Oracle is a registered trademark of Oracle Corporation and/or its affiliates. 36 | * 37 | * @author Jonathan Knight 38 | */ 39 | public interface RemoteEvent extends Serializable 40 | { 41 | } 42 | -------------------------------------------------------------------------------- /bedrock-runtime/src/main/java/com/oracle/bedrock/runtime/concurrent/RemoteEventListener.java: -------------------------------------------------------------------------------- 1 | /* 2 | * File: RemoteEventListener.java 3 | * 4 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 5 | * 6 | * The contents of this file are subject to the terms and conditions of 7 | * the Common Development and Distribution License 1.0 (the "License"). 8 | * 9 | * You may not use this file except in compliance with the License. 10 | * 11 | * You can obtain a copy of the License by consulting the LICENSE.txt file 12 | * distributed with this file, or by consulting https://oss.oracle.com/licenses/CDDL 13 | * 14 | * See the License for the specific language governing permissions 15 | * and limitations under the License. 16 | * 17 | * When distributing the software, include this License Header Notice in each 18 | * file and include the License file LICENSE.txt. 19 | * 20 | * MODIFICATIONS: 21 | * If applicable, add the following below the License Header, with the fields 22 | * enclosed by brackets [] replaced by your own identifying information: 23 | * "Portions Copyright [year] [name of copyright owner]" 24 | */ 25 | 26 | package com.oracle.bedrock.runtime.concurrent; 27 | 28 | import java.util.EventListener; 29 | 30 | /** 31 | * A {@link EventListener} that receives {@link RemoteEvent}s. 32 | *

33 | * Copyright (c) 2016. All Rights Reserved. Oracle Corporation.
34 | * Oracle is a registered trademark of Oracle Corporation and/or its affiliates. 35 | * 36 | * @author Jonathan Knight 37 | */ 38 | public interface RemoteEventListener extends EventListener 39 | { 40 | /** 41 | * Process the specified {@link RemoteEvent}. 42 | * 43 | * @param event the {@link RemoteEvent} that has been fired 44 | */ 45 | void onEvent(RemoteEvent event); 46 | } 47 | -------------------------------------------------------------------------------- /bedrock-runtime/src/main/java/com/oracle/bedrock/runtime/concurrent/RemoteRunnable.java: -------------------------------------------------------------------------------- 1 | /* 2 | * File: RemoteRunnable.java 3 | * 4 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 5 | * 6 | * The contents of this file are subject to the terms and conditions of 7 | * the Common Development and Distribution License 1.0 (the "License"). 8 | * 9 | * You may not use this file except in compliance with the License. 10 | * 11 | * You can obtain a copy of the License by consulting the LICENSE.txt file 12 | * distributed with this file, or by consulting https://oss.oracle.com/licenses/CDDL 13 | * 14 | * See the License for the specific language governing permissions 15 | * and limitations under the License. 16 | * 17 | * When distributing the software, include this License Header Notice in each 18 | * file and include the License file LICENSE.txt. 19 | * 20 | * MODIFICATIONS: 21 | * If applicable, add the following below the License Header, with the fields 22 | * enclosed by brackets [] replaced by your own identifying information: 23 | * "Portions Copyright [year] [name of copyright owner]" 24 | */ 25 | 26 | package com.oracle.bedrock.runtime.concurrent; 27 | 28 | import java.io.Serializable; 29 | 30 | /** 31 | * A {@link Runnable} that may be executed remotely. 32 | *

33 | * Copyright (c) 2014. All Rights Reserved. Oracle Corporation.
34 | * Oracle is a registered trademark of Oracle Corporation and/or its affiliates. 35 | * 36 | * @author Brian Oliver 37 | * 38 | * @see RemoteChannel 39 | */ 40 | public interface RemoteRunnable extends Runnable, Serializable 41 | { 42 | } 43 | -------------------------------------------------------------------------------- /bedrock-runtime/src/main/java/com/oracle/bedrock/runtime/console/StdErrRedirector.java: -------------------------------------------------------------------------------- 1 | /* 2 | * File: StdErrRedirector.java 3 | * 4 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 5 | * 6 | * The contents of this file are subject to the terms and conditions of 7 | * the Common Development and Distribution License 1.0 (the "License"). 8 | * 9 | * You may not use this file except in compliance with the License. 10 | * 11 | * You can obtain a copy of the License by consulting the LICENSE.txt file 12 | * distributed with this file, or by consulting https://oss.oracle.com/licenses/CDDL 13 | * 14 | * See the License for the specific language governing permissions 15 | * and limitations under the License. 16 | * 17 | * When distributing the software, include this License Header Notice in each 18 | * file and include the License file LICENSE.txt. 19 | * 20 | * MODIFICATIONS: 21 | * If applicable, add the following below the License Header, with the fields 22 | * enclosed by brackets [] replaced by your own identifying information: 23 | * "Portions Copyright [year] [name of copyright owner]" 24 | */ 25 | 26 | package com.oracle.bedrock.runtime.console; 27 | 28 | import java.io.PrintWriter; 29 | 30 | /** 31 | * An {@link OutputRedirector} that redirects output 32 | * to an {@link com.oracle.bedrock.runtime.ApplicationConsole}'s 33 | * error writer. 34 | *

35 | * Copyright (c) 2019. All Rights Reserved. Oracle Corporation.
36 | * Oracle is a registered trademark of Oracle Corporation and/or its affiliates. 37 | * 38 | * @author Jonathan Knight 39 | */ 40 | public class StdErrRedirector 41 | extends DefaultOutputRedirector 42 | { 43 | @Override 44 | protected PrintWriter ensurePrintWriter() 45 | { 46 | return getConsole().getErrorWriter(); 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /bedrock-runtime/src/main/java/com/oracle/bedrock/runtime/console/StdOutRedirector.java: -------------------------------------------------------------------------------- 1 | /* 2 | * File: StdOutRedirector.java 3 | * 4 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 5 | * 6 | * The contents of this file are subject to the terms and conditions of 7 | * the Common Development and Distribution License 1.0 (the "License"). 8 | * 9 | * You may not use this file except in compliance with the License. 10 | * 11 | * You can obtain a copy of the License by consulting the LICENSE.txt file 12 | * distributed with this file, or by consulting https://oss.oracle.com/licenses/CDDL 13 | * 14 | * See the License for the specific language governing permissions 15 | * and limitations under the License. 16 | * 17 | * When distributing the software, include this License Header Notice in each 18 | * file and include the License file LICENSE.txt. 19 | * 20 | * MODIFICATIONS: 21 | * If applicable, add the following below the License Header, with the fields 22 | * enclosed by brackets [] replaced by your own identifying information: 23 | * "Portions Copyright [year] [name of copyright owner]" 24 | */ 25 | 26 | package com.oracle.bedrock.runtime.console; 27 | 28 | import java.io.PrintWriter; 29 | 30 | /** 31 | * A {@link OutputRedirector} that redirects output 32 | * to an {@link com.oracle.bedrock.runtime.ApplicationConsole}'s 33 | * output writer. 34 | *

35 | * Copyright (c) 2019. All Rights Reserved. Oracle Corporation.
36 | * Oracle is a registered trademark of Oracle Corporation and/or its affiliates. 37 | * 38 | * @author Jonathan Knight 39 | */ 40 | public class StdOutRedirector 41 | extends DefaultOutputRedirector 42 | { 43 | @Override 44 | protected PrintWriter ensurePrintWriter() 45 | { 46 | return getConsole().getOutputWriter(); 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /bedrock-runtime/src/main/java/com/oracle/bedrock/runtime/java/JavaApplicationProcess.java: -------------------------------------------------------------------------------- 1 | /* 2 | * File: JavaApplicationProcess.java 3 | * 4 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 5 | * 6 | * The contents of this file are subject to the terms and conditions of 7 | * the Common Development and Distribution License 1.0 (the "License"). 8 | * 9 | * You may not use this file except in compliance with the License. 10 | * 11 | * You can obtain a copy of the License by consulting the LICENSE.txt file 12 | * distributed with this file, or by consulting https://oss.oracle.com/licenses/CDDL 13 | * 14 | * See the License for the specific language governing permissions 15 | * and limitations under the License. 16 | * 17 | * When distributing the software, include this License Header Notice in each 18 | * file and include the License file LICENSE.txt. 19 | * 20 | * MODIFICATIONS: 21 | * If applicable, add the following below the License Header, with the fields 22 | * enclosed by brackets [] replaced by your own identifying information: 23 | * "Portions Copyright [year] [name of copyright owner]" 24 | */ 25 | 26 | package com.oracle.bedrock.runtime.java; 27 | 28 | import com.oracle.bedrock.annotations.Internal; 29 | import com.oracle.bedrock.runtime.ApplicationProcess; 30 | import com.oracle.bedrock.runtime.concurrent.RemoteChannel; 31 | 32 | import java.util.Properties; 33 | 34 | /** 35 | * A {@link ApplicationProcess} specifically for managing Java-based 36 | * Applications at runtime. 37 | *

38 | * Copyright (c) 2013. All Rights Reserved. Oracle Corporation.
39 | * Oracle is a registered trademark of Oracle Corporation and/or its affiliates. 40 | * 41 | * @author Brian Oliver 42 | */ 43 | @Internal 44 | public interface JavaApplicationProcess extends ApplicationProcess, RemoteChannel 45 | { 46 | /** 47 | * Obtains the resolved System {@link Properties} provided to the {@link JavaApplicationProcess} 48 | * when it was launched. 49 | * 50 | * @return the resolved System {@link Properties} 51 | */ 52 | Properties getSystemProperties(); 53 | } 54 | -------------------------------------------------------------------------------- /bedrock-runtime/src/main/java/com/oracle/bedrock/runtime/java/SimpleLocalProcessBuilder.java: -------------------------------------------------------------------------------- 1 | package com.oracle.bedrock.runtime.java; 2 | 3 | import com.oracle.bedrock.OptionsByType; 4 | 5 | import java.io.File; 6 | import java.io.IOException; 7 | import java.util.List; 8 | import java.util.Map; 9 | 10 | /** 11 | * A simple {@link LocalProcessBuilder} implementation that 12 | * wraps a Java {@link ProcessBuilder}. 13 | */ 14 | public class SimpleLocalProcessBuilder 15 | implements LocalProcessBuilder 16 | { 17 | private final ProcessBuilder processBuilder; 18 | 19 | public SimpleLocalProcessBuilder(String executable) { 20 | processBuilder = new ProcessBuilder(executable); 21 | } 22 | 23 | @Override 24 | public LocalProcessBuilder command(String... command) { 25 | processBuilder.command(command); 26 | return this; 27 | } 28 | 29 | @Override 30 | public List command() { 31 | return processBuilder.command(); 32 | } 33 | 34 | @Override 35 | public LocalProcessBuilder directory(File directory) { 36 | processBuilder.directory(directory); 37 | return this; 38 | } 39 | 40 | @Override 41 | public File directory() { 42 | return processBuilder.directory(); 43 | } 44 | 45 | @Override 46 | public Map environment() { 47 | return processBuilder.environment(); 48 | } 49 | 50 | @Override 51 | public Process start(OptionsByType options) throws IOException { 52 | return processBuilder.start(); 53 | } 54 | 55 | @Override 56 | public LocalProcessBuilder redirectErrorStream(boolean redirectErrorStream) { 57 | processBuilder.redirectErrorStream(redirectErrorStream); 58 | return this; 59 | } 60 | } 61 | -------------------------------------------------------------------------------- /bedrock-runtime/src/main/java/com/oracle/bedrock/runtime/java/options/JvmOption.java: -------------------------------------------------------------------------------- 1 | /* 2 | * File: JvmOption.java 3 | * 4 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 5 | * 6 | * The contents of this file are subject to the terms and conditions of 7 | * the Common Development and Distribution License 1.0 (the "License"). 8 | * 9 | * You may not use this file except in compliance with the License. 10 | * 11 | * You can obtain a copy of the License by consulting the LICENSE.txt file 12 | * distributed with this file, or by consulting https://oss.oracle.com/licenses/CDDL 13 | * 14 | * See the License for the specific language governing permissions 15 | * and limitations under the License. 16 | * 17 | * When distributing the software, include this License Header Notice in each 18 | * file and include the License file LICENSE.txt. 19 | * 20 | * MODIFICATIONS: 21 | * If applicable, add the following below the License Header, with the fields 22 | * enclosed by brackets [] replaced by your own identifying information: 23 | * "Portions Copyright [year] [name of copyright owner]" 24 | */ 25 | 26 | package com.oracle.bedrock.runtime.java.options; 27 | 28 | import com.oracle.bedrock.Option; 29 | import com.oracle.bedrock.OptionsByType; 30 | 31 | /** 32 | * Represents a Java Virtual Machine specific {@link Option}. 33 | *

34 | * Copyright (c) 2014. All Rights Reserved. Oracle Corporation.
35 | * Oracle is a registered trademark of Oracle Corporation and/or its affiliates. 36 | * 37 | * @author Brian Oliver 38 | */ 39 | public interface JvmOption extends Option 40 | { 41 | /** 42 | * Obtains the values for the {@link JvmOption}. 43 | * 44 | * @param optionsByType {@link OptionsByType} to be used for resolving the values. 45 | * 46 | * @return the values for the {@link JvmOption} 47 | */ 48 | Iterable resolve(OptionsByType optionsByType); 49 | } 50 | -------------------------------------------------------------------------------- /bedrock-runtime/src/main/java/com/oracle/bedrock/runtime/java/options/JvmOptions.java: -------------------------------------------------------------------------------- 1 | /* 2 | * File: JvmOptions.java 3 | * 4 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 5 | * 6 | * The contents of this file are subject to the terms and conditions of 7 | * the Common Development and Distribution License 1.0 (the "License"). 8 | * 9 | * You may not use this file except in compliance with the License. 10 | * 11 | * You can obtain a copy of the License by consulting the LICENSE.txt file 12 | * distributed with this file, or by consulting https://oss.oracle.com/licenses/CDDL 13 | * 14 | * See the License for the specific language governing permissions 15 | * and limitations under the License. 16 | * 17 | * When distributing the software, include this License Header Notice in each 18 | * file and include the License file LICENSE.txt. 19 | * 20 | * MODIFICATIONS: 21 | * If applicable, add the following below the License Header, with the fields 22 | * enclosed by brackets [] replaced by your own identifying information: 23 | * "Portions Copyright [year] [name of copyright owner]" 24 | */ 25 | 26 | package com.oracle.bedrock.runtime.java.options; 27 | 28 | import com.oracle.bedrock.Option; 29 | 30 | /** 31 | * A help to create {@link Freeform} {@link JvmOption}s. 32 | *

33 | * Copyright (c) 2016. All Rights Reserved. Oracle Corporation.
34 | * Oracle is a registered trademark of Oracle Corporation and/or its affiliates. 35 | * 36 | * @author Brian Oliver 37 | */ 38 | public class JvmOptions 39 | { 40 | /** 41 | * Creates an {@link Option} representing a set of strings 42 | * representing Java Virtual Machine options. 43 | * 44 | * @param options the options 45 | * 46 | * @return the {@link JvmOptions} 47 | */ 48 | public static Freeforms include(String... options) 49 | { 50 | return new Freeforms(options); 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /bedrock-runtime/src/main/java/com/oracle/bedrock/runtime/options/ApplicationClosingBehavior.java: -------------------------------------------------------------------------------- 1 | /* 2 | * File: ApplicationClosingBehavior.java 3 | * 4 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 5 | * 6 | * The contents of this file are subject to the terms and conditions of 7 | * the Common Development and Distribution License 1.0 (the "License"). 8 | * 9 | * You may not use this file except in compliance with the License. 10 | * 11 | * You can obtain a copy of the License by consulting the LICENSE.txt file 12 | * distributed with this file, or by consulting https://oss.oracle.com/licenses/CDDL 13 | * 14 | * See the License for the specific language governing permissions 15 | * and limitations under the License. 16 | * 17 | * When distributing the software, include this License Header Notice in each 18 | * file and include the License file LICENSE.txt. 19 | * 20 | * MODIFICATIONS: 21 | * If applicable, add the following below the License Header, with the fields 22 | * enclosed by brackets [] replaced by your own identifying information: 23 | * "Portions Copyright [year] [name of copyright owner]" 24 | */ 25 | 26 | package com.oracle.bedrock.runtime.options; 27 | 28 | import com.oracle.bedrock.Option; 29 | import com.oracle.bedrock.runtime.Application; 30 | 31 | /** 32 | * An {@link Option} defining custom closing behavior for an {@link Application}. 33 | *

34 | * Copyright (c) 2014. All Rights Reserved. Oracle Corporation.
35 | * Oracle is a registered trademark of Oracle Corporation and/or its affiliates. 36 | * 37 | * @author Brian Oliver 38 | * 39 | * @param
the type of {@link Application} 40 | */ 41 | public interface ApplicationClosingBehavior extends Option 42 | { 43 | /** 44 | * Called prior to the {@link Application} being closed. 45 | * 46 | * @param application the {@link Application} being closed 47 | * @param options the {@link Option}s for closing the application 48 | */ 49 | public void onBeforeClosing(A application, 50 | Option... options); 51 | } 52 | -------------------------------------------------------------------------------- /bedrock-runtime/src/main/java/module-info.java: -------------------------------------------------------------------------------- 1 | open module com.oracle.bedrock.runtime { 2 | exports com.oracle.bedrock.runtime; 3 | exports com.oracle.bedrock.runtime.concurrent; 4 | exports com.oracle.bedrock.runtime.concurrent.callable; 5 | exports com.oracle.bedrock.runtime.concurrent.options; 6 | exports com.oracle.bedrock.runtime.concurrent.runnable; 7 | exports com.oracle.bedrock.runtime.concurrent.socket; 8 | exports com.oracle.bedrock.runtime.console; 9 | exports com.oracle.bedrock.runtime.java; 10 | exports com.oracle.bedrock.runtime.java.container; 11 | exports com.oracle.bedrock.runtime.java.features; 12 | exports com.oracle.bedrock.runtime.java.io; 13 | exports com.oracle.bedrock.runtime.java.options; 14 | exports com.oracle.bedrock.runtime.java.profiles; 15 | exports com.oracle.bedrock.runtime.network; 16 | exports com.oracle.bedrock.runtime.options; 17 | 18 | requires transitive com.oracle.bedrock; 19 | 20 | requires java.logging; 21 | requires java.management; 22 | requires java.rmi; 23 | 24 | uses com.oracle.bedrock.runtime.Profile; 25 | } 26 | -------------------------------------------------------------------------------- /bedrock-runtime/src/test/java/classloader/parent/DummyParentLoadedClass.java: -------------------------------------------------------------------------------- 1 | /* 2 | * File: DummyParentLoadedClass.java 3 | * 4 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 5 | * 6 | * The contents of this file are subject to the terms and conditions of 7 | * the Common Development and Distribution License 1.0 (the "License"). 8 | * 9 | * You may not use this file except in compliance with the License. 10 | * 11 | * You can obtain a copy of the License by consulting the LICENSE.txt file 12 | * distributed with this file, or by consulting https://oss.oracle.com/licenses/CDDL 13 | * 14 | * See the License for the specific language governing permissions 15 | * and limitations under the License. 16 | * 17 | * When distributing the software, include this License Header Notice in each 18 | * file and include the License file LICENSE.txt. 19 | * 20 | * MODIFICATIONS: 21 | * If applicable, add the following below the License Header, with the fields 22 | * enclosed by brackets [] replaced by your own identifying information: 23 | * "Portions Copyright [year] [name of copyright owner]" 24 | */ 25 | 26 | package classloader.parent; 27 | 28 | /** 29 | * A simple test class that will be used for tests that want a parent loaded class. 30 | *

31 | * Copyright (c) 2013. All Rights Reserved. Oracle Corporation.
32 | * Oracle is a registered trademark of Oracle Corporation and/or its affiliates. 33 | * 34 | * @author Brian Oliver 35 | */ 36 | public class DummyParentLoadedClass 37 | { 38 | /** 39 | * Sets the a System property. 40 | * 41 | * @param key 42 | * @param value 43 | */ 44 | public static void setProperty(String key, 45 | String value) 46 | { 47 | System.setProperty(key, value); 48 | } 49 | 50 | 51 | /** 52 | * Obtains a System property. 53 | * 54 | * @param key 55 | * 56 | * @return 57 | */ 58 | public static String getProperty(String key) 59 | { 60 | return System.getProperty(key); 61 | } 62 | } 63 | -------------------------------------------------------------------------------- /bedrock-runtime/src/test/java/com/oracle/bedrock/runtime/LocalPlatformTest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * File: LocalPlatformTest.java 3 | * 4 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 5 | * 6 | * The contents of this file are subject to the terms and conditions of 7 | * the Common Development and Distribution License 1.0 (the "License"). 8 | * 9 | * You may not use this file except in compliance with the License. 10 | * 11 | * You can obtain a copy of the License by consulting the LICENSE.txt file 12 | * distributed with this file, or by consulting https://oss.oracle.com/licenses/CDDL 13 | * 14 | * See the License for the specific language governing permissions 15 | * and limitations under the License. 16 | * 17 | * When distributing the software, include this License Header Notice in each 18 | * file and include the License file LICENSE.txt. 19 | * 20 | * MODIFICATIONS: 21 | * If applicable, add the following below the License Header, with the fields 22 | * enclosed by brackets [] replaced by your own identifying information: 23 | * "Portions Copyright [year] [name of copyright owner]" 24 | */ 25 | 26 | package com.oracle.bedrock.runtime; 27 | 28 | import com.oracle.bedrock.io.NetworkHelper; 29 | 30 | import org.junit.Test; 31 | 32 | import static org.hamcrest.CoreMatchers.is; 33 | 34 | import static org.hamcrest.MatcherAssert.assertThat; 35 | 36 | import java.net.InetAddress; 37 | 38 | /** 39 | * Unit tests for {@link LocalPlatform}s. 40 | *

41 | * Copyright (c) 2014. All Rights Reserved. Oracle Corporation.
42 | * Oracle is a registered trademark of Oracle Corporation and/or its affiliates. 43 | * 44 | * @author Jonathan Knight 45 | * @author Brian Oliver 46 | */ 47 | public class LocalPlatformTest 48 | { 49 | @Test 50 | public void shouldReturnFeasibleLocalHost() throws Exception 51 | { 52 | InetAddress address = LocalPlatform.get().getAddress(); 53 | 54 | assertThat(address, is(NetworkHelper.getFeasibleLocalHost())); 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /bedrock-runtime/src/test/java/com/oracle/bedrock/runtime/console/NullApplicationConsoleTest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * File: NullApplicationConsoleTest.java 3 | * 4 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 5 | * 6 | * The contents of this file are subject to the terms and conditions of 7 | * the Common Development and Distribution License 1.0 (the "License"). 8 | * 9 | * You may not use this file except in compliance with the License. 10 | * 11 | * You can obtain a copy of the License by consulting the LICENSE.txt file 12 | * distributed with this file, or by consulting https://oss.oracle.com/licenses/CDDL 13 | * 14 | * See the License for the specific language governing permissions 15 | * and limitations under the License. 16 | * 17 | * When distributing the software, include this License Header Notice in each 18 | * file and include the License file LICENSE.txt. 19 | * 20 | * MODIFICATIONS: 21 | * If applicable, add the following below the License Header, with the fields 22 | * enclosed by brackets [] replaced by your own identifying information: 23 | * "Portions Copyright [year] [name of copyright owner]" 24 | */ 25 | 26 | package com.oracle.bedrock.runtime.console; 27 | 28 | import org.junit.Test; 29 | 30 | import static org.hamcrest.CoreMatchers.is; 31 | import static org.hamcrest.MatcherAssert.assertThat; 32 | 33 | /** 34 | * @author Jonathan Knight 35 | */ 36 | public class NullApplicationConsoleTest 37 | { 38 | /** 39 | * A {@link NullApplicationConsole} should always return false 40 | * from {@link NullApplicationConsole#isDiagnosticsEnabled()} 41 | */ 42 | @Test 43 | public void shouldNotBeDiagnosticMode() throws Exception 44 | { 45 | NullApplicationConsole console = new NullApplicationConsole(); 46 | 47 | assertThat(console.isDiagnosticsEnabled(), is(false)); 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /bedrock-runtime/src/test/java/com/oracle/bedrock/runtime/console/SimpleApp.java: -------------------------------------------------------------------------------- 1 | /* 2 | * File: SimpleApp.java 3 | * 4 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 5 | * 6 | * The contents of this file are subject to the terms and conditions of 7 | * the Common Development and Distribution License 1.0 (the "License"). 8 | * 9 | * You may not use this file except in compliance with the License. 10 | * 11 | * You can obtain a copy of the License by consulting the LICENSE.txt file 12 | * distributed with this file, or by consulting https://oss.oracle.com/licenses/CDDL 13 | * 14 | * See the License for the specific language governing permissions 15 | * and limitations under the License. 16 | * 17 | * When distributing the software, include this License Header Notice in each 18 | * file and include the License file LICENSE.txt. 19 | * 20 | * MODIFICATIONS: 21 | * If applicable, add the following below the License Header, with the fields 22 | * enclosed by brackets [] replaced by your own identifying information: 23 | * "Portions Copyright [year] [name of copyright owner]" 24 | */ 25 | 26 | package com.oracle.bedrock.runtime.console; 27 | 28 | import com.oracle.bedrock.runtime.ApplicationConsole; 29 | 30 | /** 31 | * A simple application to use to test 32 | * {@link ApplicationConsole} 33 | * implementations. 34 | * 35 | * @author Jonathan Knight 36 | */ 37 | public class SimpleApp 38 | { 39 | public static void main(String[] args) 40 | { 41 | for (String arg : args) 42 | { 43 | System.out.println("Out: " + arg); 44 | System.err.println("Err: " + arg); 45 | } 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /bedrock-runtime/src/test/resources/META-INF/services/com.oracle.bedrock.runtime.Profile: -------------------------------------------------------------------------------- 1 | 2 | com.oracle.bedrock.runtime.ProfilesTest$CustomProfile 3 | com.oracle.bedrock.runtime.ProfilesTest$NonOptionCustomProfile -------------------------------------------------------------------------------- /bedrock-runtime/src/test/resources/propertiesbuilder-test.properties: -------------------------------------------------------------------------------- 1 | Key-1=Value-1 2 | Key-2=Value-2 3 | -------------------------------------------------------------------------------- /bedrock-testing-support-tests/src/main/java/com/oracle/bedrock/testsupport/junit/AbstractJUnit3Suite.java: -------------------------------------------------------------------------------- 1 | /* 2 | * File: AbstractJUnit3Suite.java 3 | * 4 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 5 | * 6 | * The contents of this file are subject to the terms and conditions of 7 | * the Common Development and Distribution License 1.0 (the "License"). 8 | * 9 | * You may not use this file except in compliance with the License. 10 | * 11 | * You can obtain a copy of the License by consulting the LICENSE.txt file 12 | * distributed with this file, or by consulting https://oss.oracle.com/licenses/CDDL 13 | * 14 | * See the License for the specific language governing permissions 15 | * and limitations under the License. 16 | * 17 | * When distributing the software, include this License Header Notice in each 18 | * file and include the License file LICENSE.txt. 19 | * 20 | * MODIFICATIONS: 21 | * If applicable, add the following below the License Header, with the fields 22 | * enclosed by brackets [] replaced by your own identifying information: 23 | * "Portions Copyright [year] [name of copyright owner]" 24 | */ 25 | 26 | package com.oracle.bedrock.testsupport.junit; 27 | 28 | import junit.framework.Test; 29 | import junit.framework.TestSuite; 30 | 31 | /** 32 | * A test class that has a JUnit 3 suite() method. 33 | *

34 | * Copyright (c) 2016. All Rights Reserved. Oracle Corporation.
35 | * Oracle is a registered trademark of Oracle Corporation and/or its affiliates. 36 | * 37 | * @author Jonathan Knight 38 | */ 39 | public abstract class AbstractJUnit3Suite 40 | { 41 | public static Test suite() 42 | { 43 | return new TestSuite(JUnit3Test.class); 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /bedrock-testing-support-tests/src/main/java/com/oracle/bedrock/testsupport/junit/AbstractJUnit3Test.java: -------------------------------------------------------------------------------- 1 | /* 2 | * File: AbstractJUnit3Test.java 3 | * 4 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 5 | * 6 | * The contents of this file are subject to the terms and conditions of 7 | * the Common Development and Distribution License 1.0 (the "License"). 8 | * 9 | * You may not use this file except in compliance with the License. 10 | * 11 | * You can obtain a copy of the License by consulting the LICENSE.txt file 12 | * distributed with this file, or by consulting https://oss.oracle.com/licenses/CDDL 13 | * 14 | * See the License for the specific language governing permissions 15 | * and limitations under the License. 16 | * 17 | * When distributing the software, include this License Header Notice in each 18 | * file and include the License file LICENSE.txt. 19 | * 20 | * MODIFICATIONS: 21 | * If applicable, add the following below the License Header, with the fields 22 | * enclosed by brackets [] replaced by your own identifying information: 23 | * "Portions Copyright [year] [name of copyright owner]" 24 | */ 25 | 26 | package com.oracle.bedrock.testsupport.junit; 27 | 28 | import junit.framework.TestCase; 29 | 30 | /** 31 | * A JUnit 3 test class 32 | *

33 | * Copyright (c) 2016. All Rights Reserved. Oracle Corporation.
34 | * Oracle is a registered trademark of Oracle Corporation and/or its affiliates. 35 | * 36 | * @author Jonathan Knight 37 | */ 38 | public abstract class AbstractJUnit3Test extends TestCase 39 | { 40 | public void testSomething() 41 | { 42 | 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /bedrock-testing-support-tests/src/main/java/com/oracle/bedrock/testsupport/junit/AbstractJUnit4Test.java: -------------------------------------------------------------------------------- 1 | /* 2 | * File: AbstractJUnit4Test.java 3 | * 4 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 5 | * 6 | * The contents of this file are subject to the terms and conditions of 7 | * the Common Development and Distribution License 1.0 (the "License"). 8 | * 9 | * You may not use this file except in compliance with the License. 10 | * 11 | * You can obtain a copy of the License by consulting the LICENSE.txt file 12 | * distributed with this file, or by consulting https://oss.oracle.com/licenses/CDDL 13 | * 14 | * See the License for the specific language governing permissions 15 | * and limitations under the License. 16 | * 17 | * When distributing the software, include this License Header Notice in each 18 | * file and include the License file LICENSE.txt. 19 | * 20 | * MODIFICATIONS: 21 | * If applicable, add the following below the License Header, with the fields 22 | * enclosed by brackets [] replaced by your own identifying information: 23 | * "Portions Copyright [year] [name of copyright owner]" 24 | */ 25 | 26 | package com.oracle.bedrock.testsupport.junit; 27 | 28 | import org.junit.Before; 29 | import org.junit.Test; 30 | 31 | /** 32 | * An abstract JUnit 4 test class 33 | *

34 | * Copyright (c) 2016. All Rights Reserved. Oracle Corporation.
35 | * Oracle is a registered trademark of Oracle Corporation and/or its affiliates. 36 | * 37 | * @author Jonathan Knight 38 | */ 39 | public abstract class AbstractJUnit4Test 40 | { 41 | @Before 42 | public void setup() throws Exception 43 | { 44 | } 45 | 46 | @Test 47 | public void shouldPass() throws Exception 48 | { 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /bedrock-testing-support-tests/src/main/java/com/oracle/bedrock/testsupport/junit/AbstractRunWithAnnotatedTest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * File: AbstractRunWithAnnotatedTest.java 3 | * 4 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 5 | * 6 | * The contents of this file are subject to the terms and conditions of 7 | * the Common Development and Distribution License 1.0 (the "License"). 8 | * 9 | * You may not use this file except in compliance with the License. 10 | * 11 | * You can obtain a copy of the License by consulting the LICENSE.txt file 12 | * distributed with this file, or by consulting https://oss.oracle.com/licenses/CDDL 13 | * 14 | * See the License for the specific language governing permissions 15 | * and limitations under the License. 16 | * 17 | * When distributing the software, include this License Header Notice in each 18 | * file and include the License file LICENSE.txt. 19 | * 20 | * MODIFICATIONS: 21 | * If applicable, add the following below the License Header, with the fields 22 | * enclosed by brackets [] replaced by your own identifying information: 23 | * "Portions Copyright [year] [name of copyright owner]" 24 | */ 25 | 26 | package com.oracle.bedrock.testsupport.junit; 27 | 28 | import org.junit.Test; 29 | import org.junit.runner.RunWith; 30 | import org.junit.runners.Parameterized; 31 | 32 | /** 33 | * A test class using the {@link RunWith} annotation. 34 | *

35 | * Copyright (c) 2016. All Rights Reserved. Oracle Corporation.
36 | * Oracle is a registered trademark of Oracle Corporation and/or its affiliates. 37 | * 38 | * @author Jonathan Knight 39 | */ 40 | @RunWith(Parameterized.class) 41 | public abstract class AbstractRunWithAnnotatedTest 42 | { 43 | @Test 44 | public void shouldTestThings() throws Exception 45 | { 46 | } 47 | 48 | } 49 | -------------------------------------------------------------------------------- /bedrock-testing-support-tests/src/main/java/com/oracle/bedrock/testsupport/junit/AbstractRunWithEnclosedTest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * File: AbstractRunWithEnclosedTest.java 3 | * 4 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 5 | * 6 | * The contents of this file are subject to the terms and conditions of 7 | * the Common Development and Distribution License 1.0 (the "License"). 8 | * 9 | * You may not use this file except in compliance with the License. 10 | * 11 | * You can obtain a copy of the License by consulting the LICENSE.txt file 12 | * distributed with this file, or by consulting https://oss.oracle.com/licenses/CDDL 13 | * 14 | * See the License for the specific language governing permissions 15 | * and limitations under the License. 16 | * 17 | * When distributing the software, include this License Header Notice in each 18 | * file and include the License file LICENSE.txt. 19 | * 20 | * MODIFICATIONS: 21 | * If applicable, add the following below the License Header, with the fields 22 | * enclosed by brackets [] replaced by your own identifying information: 23 | * "Portions Copyright [year] [name of copyright owner]" 24 | */ 25 | 26 | package com.oracle.bedrock.testsupport.junit; 27 | 28 | import org.junit.Test; 29 | import org.junit.experimental.runners.Enclosed; 30 | import org.junit.runner.RunWith; 31 | 32 | /** 33 | * An abstract test class using the {@link Enclosed} runner. 34 | *

35 | * Copyright (c) 2016. All Rights Reserved. Oracle Corporation.
36 | * Oracle is a registered trademark of Oracle Corporation and/or its affiliates. 37 | * 38 | * @author Jonathan Knight 39 | */ 40 | @RunWith(Enclosed.class) 41 | public abstract class AbstractRunWithEnclosedTest 42 | { 43 | @Test 44 | public void shouldTestSomethingAbstract() throws Exception 45 | { 46 | 47 | } 48 | 49 | } 50 | -------------------------------------------------------------------------------- /bedrock-testing-support-tests/src/main/java/com/oracle/bedrock/testsupport/junit/EmptyTest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * File: EmptyTest.java 3 | * 4 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 5 | * 6 | * The contents of this file are subject to the terms and conditions of 7 | * the Common Development and Distribution License 1.0 (the "License"). 8 | * 9 | * You may not use this file except in compliance with the License. 10 | * 11 | * You can obtain a copy of the License by consulting the LICENSE.txt file 12 | * distributed with this file, or by consulting https://oss.oracle.com/licenses/CDDL 13 | * 14 | * See the License for the specific language governing permissions 15 | * and limitations under the License. 16 | * 17 | * When distributing the software, include this License Header Notice in each 18 | * file and include the License file LICENSE.txt. 19 | * 20 | * MODIFICATIONS: 21 | * If applicable, add the following below the License Header, with the fields 22 | * enclosed by brackets [] replaced by your own identifying information: 23 | * "Portions Copyright [year] [name of copyright owner]" 24 | */ 25 | 26 | package com.oracle.bedrock.testsupport.junit; 27 | 28 | /** 29 | * A test class with no tests. 30 | *

31 | * Copyright (c) 2016. All Rights Reserved. Oracle Corporation.
32 | * Oracle is a registered trademark of Oracle Corporation and/or its affiliates. 33 | * 34 | * @author Jonathan Knight 35 | */ 36 | public class EmptyTest 37 | { 38 | } 39 | -------------------------------------------------------------------------------- /bedrock-testing-support-tests/src/main/java/com/oracle/bedrock/testsupport/junit/EnumTest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * File: EnumTest.java 3 | * 4 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 5 | * 6 | * The contents of this file are subject to the terms and conditions of 7 | * the Common Development and Distribution License 1.0 (the "License"). 8 | * 9 | * You may not use this file except in compliance with the License. 10 | * 11 | * You can obtain a copy of the License by consulting the LICENSE.txt file 12 | * distributed with this file, or by consulting https://oss.oracle.com/licenses/CDDL 13 | * 14 | * See the License for the specific language governing permissions 15 | * and limitations under the License. 16 | * 17 | * When distributing the software, include this License Header Notice in each 18 | * file and include the License file LICENSE.txt. 19 | * 20 | * MODIFICATIONS: 21 | * If applicable, add the following below the License Header, with the fields 22 | * enclosed by brackets [] replaced by your own identifying information: 23 | * "Portions Copyright [year] [name of copyright owner]" 24 | */ 25 | 26 | package com.oracle.bedrock.testsupport.junit; 27 | 28 | import org.junit.Test; 29 | 30 | /** 31 | * A test class that is an Enum 32 | *

33 | * Copyright (c) 2016. All Rights Reserved. Oracle Corporation.
34 | * Oracle is a registered trademark of Oracle Corporation and/or its affiliates. 35 | * 36 | * @author Jonathan Knight 37 | */ 38 | public enum EnumTest 39 | { 40 | Foo,Bar; 41 | 42 | @Test 43 | public void shouldDoStuff() throws Exception 44 | { 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /bedrock-testing-support-tests/src/main/java/com/oracle/bedrock/testsupport/junit/GoodTest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * File: GoodTest.java 3 | * 4 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 5 | * 6 | * The contents of this file are subject to the terms and conditions of 7 | * the Common Development and Distribution License 1.0 (the "License"). 8 | * 9 | * You may not use this file except in compliance with the License. 10 | * 11 | * You can obtain a copy of the License by consulting the LICENSE.txt file 12 | * distributed with this file, or by consulting https://oss.oracle.com/licenses/CDDL 13 | * 14 | * See the License for the specific language governing permissions 15 | * and limitations under the License. 16 | * 17 | * When distributing the software, include this License Header Notice in each 18 | * file and include the License file LICENSE.txt. 19 | * 20 | * MODIFICATIONS: 21 | * If applicable, add the following below the License Header, with the fields 22 | * enclosed by brackets [] replaced by your own identifying information: 23 | * "Portions Copyright [year] [name of copyright owner]" 24 | */ 25 | 26 | package com.oracle.bedrock.testsupport.junit; 27 | 28 | import org.junit.Test; 29 | 30 | /** 31 | * A JUnit passing test class 32 | *

33 | * Copyright (c) 2016. All Rights Reserved. Oracle Corporation.
34 | * Oracle is a registered trademark of Oracle Corporation and/or its affiliates. 35 | * 36 | * @author Jonathan Knight 37 | */ 38 | public class GoodTest 39 | { 40 | @Test 41 | public void shouldPass() throws Exception 42 | { 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /bedrock-testing-support-tests/src/main/java/com/oracle/bedrock/testsupport/junit/InterfaceTest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * File: InterfaceTest.java 3 | * 4 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 5 | * 6 | * The contents of this file are subject to the terms and conditions of 7 | * the Common Development and Distribution License 1.0 (the "License"). 8 | * 9 | * You may not use this file except in compliance with the License. 10 | * 11 | * You can obtain a copy of the License by consulting the LICENSE.txt file 12 | * distributed with this file, or by consulting https://oss.oracle.com/licenses/CDDL 13 | * 14 | * See the License for the specific language governing permissions 15 | * and limitations under the License. 16 | * 17 | * When distributing the software, include this License Header Notice in each 18 | * file and include the License file LICENSE.txt. 19 | * 20 | * MODIFICATIONS: 21 | * If applicable, add the following below the License Header, with the fields 22 | * enclosed by brackets [] replaced by your own identifying information: 23 | * "Portions Copyright [year] [name of copyright owner]" 24 | */ 25 | 26 | package com.oracle.bedrock.testsupport.junit; 27 | 28 | import org.junit.Test; 29 | 30 | /** 31 | * A test class that is an interface 32 | *

33 | * Copyright (c) 2016. All Rights Reserved. Oracle Corporation.
34 | * Oracle is a registered trademark of Oracle Corporation and/or its affiliates. 35 | * 36 | * @author Jonathan Knight 37 | */ 38 | public interface InterfaceTest 39 | { 40 | @Test 41 | public void shouldDoStuff() throws Exception; 42 | } 43 | -------------------------------------------------------------------------------- /bedrock-testing-support-tests/src/main/java/com/oracle/bedrock/testsupport/junit/JUnit3Suite.java: -------------------------------------------------------------------------------- 1 | /* 2 | * File: JUnit3Suite.java 3 | * 4 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 5 | * 6 | * The contents of this file are subject to the terms and conditions of 7 | * the Common Development and Distribution License 1.0 (the "License"). 8 | * 9 | * You may not use this file except in compliance with the License. 10 | * 11 | * You can obtain a copy of the License by consulting the LICENSE.txt file 12 | * distributed with this file, or by consulting https://oss.oracle.com/licenses/CDDL 13 | * 14 | * See the License for the specific language governing permissions 15 | * and limitations under the License. 16 | * 17 | * When distributing the software, include this License Header Notice in each 18 | * file and include the License file LICENSE.txt. 19 | * 20 | * MODIFICATIONS: 21 | * If applicable, add the following below the License Header, with the fields 22 | * enclosed by brackets [] replaced by your own identifying information: 23 | * "Portions Copyright [year] [name of copyright owner]" 24 | */ 25 | 26 | package com.oracle.bedrock.testsupport.junit; 27 | 28 | import junit.framework.Test; 29 | import junit.framework.TestSuite; 30 | 31 | /** 32 | * A test class that has a JUnit 3 suite() method. 33 | *

34 | * Copyright (c) 2016. All Rights Reserved. Oracle Corporation.
35 | * Oracle is a registered trademark of Oracle Corporation and/or its affiliates. 36 | * 37 | * @author Jonathan Knight 38 | */ 39 | public class JUnit3Suite 40 | { 41 | public static Test suite() 42 | { 43 | return new TestSuite(JUnit3Test.class); 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /bedrock-testing-support-tests/src/main/java/com/oracle/bedrock/testsupport/junit/JUnit3Test.java: -------------------------------------------------------------------------------- 1 | /* 2 | * File: JUnit3Test.java 3 | * 4 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 5 | * 6 | * The contents of this file are subject to the terms and conditions of 7 | * the Common Development and Distribution License 1.0 (the "License"). 8 | * 9 | * You may not use this file except in compliance with the License. 10 | * 11 | * You can obtain a copy of the License by consulting the LICENSE.txt file 12 | * distributed with this file, or by consulting https://oss.oracle.com/licenses/CDDL 13 | * 14 | * See the License for the specific language governing permissions 15 | * and limitations under the License. 16 | * 17 | * When distributing the software, include this License Header Notice in each 18 | * file and include the License file LICENSE.txt. 19 | * 20 | * MODIFICATIONS: 21 | * If applicable, add the following below the License Header, with the fields 22 | * enclosed by brackets [] replaced by your own identifying information: 23 | * "Portions Copyright [year] [name of copyright owner]" 24 | */ 25 | 26 | package com.oracle.bedrock.testsupport.junit; 27 | 28 | import junit.framework.TestCase; 29 | 30 | /** 31 | * A JUnit 3 test class 32 | *

33 | * Copyright (c) 2016. All Rights Reserved. Oracle Corporation.
34 | * Oracle is a registered trademark of Oracle Corporation and/or its affiliates. 35 | * 36 | * @author Jonathan Knight 37 | */ 38 | public class JUnit3Test extends TestCase 39 | { 40 | public void testSomething() 41 | { 42 | 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /bedrock-testing-support-tests/src/main/java/com/oracle/bedrock/testsupport/junit/MyBadTest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * File: MyBadTest.java 3 | * 4 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 5 | * 6 | * The contents of this file are subject to the terms and conditions of 7 | * the Common Development and Distribution License 1.0 (the "License"). 8 | * 9 | * You may not use this file except in compliance with the License. 10 | * 11 | * You can obtain a copy of the License by consulting the LICENSE.txt file 12 | * distributed with this file, or by consulting https://oss.oracle.com/licenses/CDDL 13 | * 14 | * See the License for the specific language governing permissions 15 | * and limitations under the License. 16 | * 17 | * When distributing the software, include this License Header Notice in each 18 | * file and include the License file LICENSE.txt. 19 | * 20 | * MODIFICATIONS: 21 | * If applicable, add the following below the License Header, with the fields 22 | * enclosed by brackets [] replaced by your own identifying information: 23 | * "Portions Copyright [year] [name of copyright owner]" 24 | */ 25 | 26 | package com.oracle.bedrock.testsupport.junit; 27 | 28 | import org.junit.Before; 29 | import org.junit.Test; 30 | 31 | /** 32 | * A class of dummy unit tests. 33 | *

34 | * Copyright (c) 2016. All Rights Reserved. Oracle Corporation.
35 | * Oracle is a registered trademark of Oracle Corporation and/or its affiliates. 36 | * 37 | * @author Jonathan Knight 38 | */ 39 | public class MyBadTest 40 | { 41 | @Before 42 | public void setup() throws Exception 43 | { 44 | throw new RuntimeException("Oops!"); 45 | } 46 | 47 | @Test 48 | public void shouldPass() throws Exception 49 | { 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /bedrock-testing-support-tests/src/main/java/com/oracle/bedrock/testsupport/junit/RunWithAnnotatedTest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * File: RunWithAnnotatedTest.java 3 | * 4 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 5 | * 6 | * The contents of this file are subject to the terms and conditions of 7 | * the Common Development and Distribution License 1.0 (the "License"). 8 | * 9 | * You may not use this file except in compliance with the License. 10 | * 11 | * You can obtain a copy of the License by consulting the LICENSE.txt file 12 | * distributed with this file, or by consulting https://oss.oracle.com/licenses/CDDL 13 | * 14 | * See the License for the specific language governing permissions 15 | * and limitations under the License. 16 | * 17 | * When distributing the software, include this License Header Notice in each 18 | * file and include the License file LICENSE.txt. 19 | * 20 | * MODIFICATIONS: 21 | * If applicable, add the following below the License Header, with the fields 22 | * enclosed by brackets [] replaced by your own identifying information: 23 | * "Portions Copyright [year] [name of copyright owner]" 24 | */ 25 | 26 | package com.oracle.bedrock.testsupport.junit; 27 | 28 | import org.junit.Test; 29 | import org.junit.runner.RunWith; 30 | import org.junit.runners.Parameterized; 31 | 32 | /** 33 | * A test class using the {@link RunWith} annotation. 34 | *

35 | * Copyright (c) 2016. All Rights Reserved. Oracle Corporation.
36 | * Oracle is a registered trademark of Oracle Corporation and/or its affiliates. 37 | * 38 | * @author Jonathan Knight 39 | */ 40 | @RunWith(Parameterized.class) 41 | public class RunWithAnnotatedTest 42 | { 43 | @Test 44 | public void shouldTestThings() throws Exception 45 | { 46 | } 47 | 48 | } 49 | -------------------------------------------------------------------------------- /bedrock-testing-support/src/main/java/com/oracle/bedrock/testsupport/junit/CheckJDK.java: -------------------------------------------------------------------------------- 1 | /* 2 | * File: CheckJDK.java 3 | * 4 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 5 | * 6 | * The contents of this file are subject to the terms and conditions of 7 | * the Common Development and Distribution License 1.0 (the "License"). 8 | * 9 | * You may not use this file except in compliance with the License. 10 | * 11 | * You can obtain a copy of the License by consulting the LICENSE.txt file 12 | * distributed with this file, or by consulting https://oss.oracle.com/licenses/CDDL 13 | * 14 | * See the License for the specific language governing permissions 15 | * and limitations under the License. 16 | * 17 | * When distributing the software, include this License Header Notice in each 18 | * file and include the License file LICENSE.txt. 19 | * 20 | * MODIFICATIONS: 21 | * If applicable, add the following below the License Header, with the fields 22 | * enclosed by brackets [] replaced by your own identifying information: 23 | * "Portions Copyright [year] [name of copyright owner]" 24 | */ 25 | 26 | package com.oracle.bedrock.testsupport.junit; 27 | 28 | import org.junit.Assume; 29 | 30 | import static org.hamcrest.CoreMatchers.is; 31 | 32 | /** 33 | * A utility to assert information about the test JDK. 34 | * 35 | * @author Jonathan Knight 2020.07.22 36 | */ 37 | public class CheckJDK 38 | { 39 | public static final String JDK_VENDOR_ORACLE = "Oracle Corporation"; 40 | 41 | public static void assumeOracleJDK() 42 | { 43 | String sVendor = System.getProperty("java.vm.vendor"); 44 | Assume.assumeThat("Skipping test - JVM vendor is not Oracle", sVendor, is(JDK_VENDOR_ORACLE)); 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /bedrock-testing-support/src/main/java/module-info.java: -------------------------------------------------------------------------------- 1 | open module com.oracle.bedrock.testsupport { 2 | exports com.oracle.bedrock.testsupport; 3 | exports com.oracle.bedrock.testsupport.deferred; 4 | exports com.oracle.bedrock.testsupport.deferred.options; 5 | exports com.oracle.bedrock.testsupport.junit; 6 | exports com.oracle.bedrock.testsupport.junit.options; 7 | exports com.oracle.bedrock.testsupport.matchers; 8 | 9 | requires transitive com.oracle.bedrock.runtime; 10 | requires static junit; 11 | requires static org.junit.jupiter.api; 12 | requires org.hamcrest; 13 | requires java.logging; 14 | } -------------------------------------------------------------------------------- /bedrock-testing-support/src/test/java/com/oracle/bedrock/testsupport/deferred/TimeoutTest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2000, 2022, Oracle and/or its affiliates. 3 | * 4 | * Licensed under the Universal Permissive License v 1.0 as shown at 5 | * https://oss.oracle.com/licenses/upl. 6 | */ 7 | package com.oracle.bedrock.testsupport.deferred; 8 | 9 | import org.junit.Before; 10 | import org.junit.Test; 11 | 12 | import java.util.concurrent.TimeUnit; 13 | 14 | import static com.oracle.bedrock.deferred.DeferredHelper.invoking; 15 | import static org.hamcrest.CoreMatchers.is; 16 | import static org.junit.Assert.assertThrows; 17 | 18 | public class TimeoutTest 19 | { 20 | private int count = 0; 21 | 22 | @Before 23 | public void setup() 24 | { 25 | count = 0; 26 | } 27 | 28 | @Test 29 | public void shouldTimeout() 30 | { 31 | assertThrows(AssertionError.class, 32 | () -> Eventually.assertThat(invoking(this).getCount(1000), is(10), Eventually.within(5, TimeUnit.SECONDS))); 33 | } 34 | 35 | @Test 36 | public void shouldNotTimeout() 37 | { 38 | Eventually.assertThat(invoking(this).getCount(1000), is(3), Eventually.within(10, TimeUnit.SECONDS)); 39 | } 40 | 41 | public int getCount(long cMillis) 42 | { 43 | try 44 | { 45 | count++; 46 | Thread.sleep(cMillis); 47 | return count; 48 | } 49 | catch (InterruptedException e) 50 | { 51 | throw new RuntimeException(e); 52 | } 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /documents/java-license-header.txt: -------------------------------------------------------------------------------- 1 | /* 2 | * File: $fileName$ 3 | * 4 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 5 | * 6 | * The contents of this file are subject to the terms and conditions of 7 | * the Common Development and Distribution License 1.0 (the "License"). 8 | * 9 | * You may not use this file except in compliance with the License. 10 | * 11 | * You can obtain a copy of the License by consulting the LICENSE.txt file 12 | * distributed with this file, or by consulting https://oss.oracle.com/licenses/CDDL 13 | * 14 | * See the License for the specific language governing permissions 15 | * and limitations under the License. 16 | * 17 | * When distributing the software, include this License Header Notice in each 18 | * file and include the License file LICENSE.txt. 19 | * 20 | * MODIFICATIONS: 21 | * If applicable, add the following below the License Header, with the fields 22 | * enclosed by brackets [] replaced by your own identifying information: 23 | * "Portions Copyright [year] [name of copyright owner]" 24 | */ 25 | -------------------------------------------------------------------------------- /documents/properties-license-header.txt: -------------------------------------------------------------------------------- 1 | # 2 | # File: $fileName$ 3 | # 4 | # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 5 | # 6 | # The contents of this file are subject to the terms and conditions of 7 | # the Common Development and Distribution License 1.0 (the "License"). 8 | # 9 | # You may not use this file except in compliance with the License. 10 | # 11 | # You can obtain a copy of the License by consulting the LICENSE.txt file 12 | # distributed with this file, or by consulting https://oss.oracle.com/licenses/CDDL 13 | # 14 | # See the License for the specific language governing permissions 15 | # and limitations under the License. 16 | # 17 | # When distributing the software, include this License Header Notice in each 18 | # file and include the License file LICENSE.txt. 19 | # 20 | # MODIFICATIONS: 21 | # If applicable, add the following below the License Header, with the fields 22 | # enclosed by brackets [] replaced by your own identifying information: 23 | # "Portions Copyright [year] [name of copyright owner]" 24 | # -------------------------------------------------------------------------------- /documents/xml-license-header.txt: -------------------------------------------------------------------------------- 1 | 25 | -------------------------------------------------------------------------------- /etc/dependency-check.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash -e 2 | 3 | on_error(){ 4 | CODE="${?}" && \ 5 | set +x && \ 6 | printf "[ERROR] Error(code=%s) occurred at %s:%s command: %s\n" \ 7 | "${CODE}" "${BASH_SOURCE}" "${LINENO}" "${BASH_COMMAND}" 8 | } 9 | trap on_error ERR 10 | 11 | # Path to this script 12 | if [ -h "${0}" ] ; then 13 | readonly SCRIPT_PATH="$(readlink "${0}")" 14 | else 15 | readonly SCRIPT_PATH="${0}" 16 | fi 17 | 18 | # Path to the root of the workspace 19 | # shellcheck disable=SC2046 20 | readonly WS_DIR=$(cd $(dirname -- "${SCRIPT_PATH}") ; cd .. ; pwd -P) 21 | 22 | readonly RESULT_DIR="${WS_DIR}/target" 23 | readonly RESULT_FILE="${RESULT_DIR}/dependency-check-result.txt" 24 | mkdir -p "${RESULT_DIR}" || true 25 | 26 | die(){ cat "${RESULT_FILE}" ; echo "Dependency report in ${WS_DIR}/target" ; echo "${1}" ; exit 1 ;} 27 | 28 | echo "Running CVE check - results: ${RESULT_FILE}" 29 | mvn ${MAVEN_ARGS} -Dorg.slf4j.simpleLogger.defaultLogLevel=WARN org.owasp:dependency-check-maven:aggregate \ 30 | -Dtop.parent.basedir="${WS_DIR}" -nsu \ 31 | > "${RESULT_FILE}" || die "Error running the Maven command" 32 | 33 | grep -i "One or more dependencies were identified with known vulnerabilities" "${RESULT_FILE}" \ 34 | && die "CVE SCAN ERROR" || echo "CVE SCAN OK" 35 | -------------------------------------------------------------------------------- /etc/deploy-snapshots.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | set -e 3 | 4 | CURRENT_VERSION=$(mvn org.apache.maven.plugins:maven-help-plugin:3.4.0:evaluate -Dexpression=project.version -nsu | grep -e '^[[:digit:]]') 5 | 6 | if [ "${CURRENT_VERSION}" = "" ]; then 7 | echo "Could not find current version from Maven" 8 | exit 1 9 | fi 10 | 11 | if [ -z $(echo "${CURRENT_VERSION}" | grep SNAPSHOT) ]; then 12 | echo "This job only deploys SNAPSHOT versions, skipping version ${CURRENT_VERSION}" 13 | exit 0 14 | fi 15 | 16 | echo "Building version ${CURRENT_VERSION}" 17 | mvn -s ./.mvn/settings.xml -B clean deploy -DskipTests -Pcoherence-ce -Dgithub.build=true 18 | --------------------------------------------------------------------------------