Commit Graph

151 Commits

Author SHA1 Message Date
9b5a099302 ENT-2105: Remove unnecessary sourceSets from integration tests. (#1029)
The database scripts are already available from the test-utils JAR via the classpath and so don't need
to be included as additional source sets.
2018-06-20 15:38:48 +01:00
f99f483f0d Merge remote-tracking branch 'remotes/open/master' into merges/os-2018-06-19-2dded2a 2018-06-19 11:18:28 +01:00
41776ed374 CORDA-1407 Node Explorer - fix total column (#3395) 2018-06-19 09:19:19 +01:00
5a6af7f8ce Merge remote-tracking branch 'open/master' into kostas-merge-14_06_2018 2018-06-14 14:43:44 +01:00
8f4973cd00 [CORDA-1617] Fix explorer login error handling. (#3365)
When specifying incorrect connection details for the nodes (e.g.,
  wrong port), an RPCException would be thrown which was not
  handled correctly, resulting in busy waiting on the UI thread.

  Ideally the login should not block the UI thread anyways, but
  for now this fix is the most pragmatic solution.
2018-06-14 13:09:03 +01:00
a612ca234a Merge remote-tracking branch 'open/master' into tlil-os-merge-20180613 2018-06-13 21:45:00 +01:00
fe313951ea CORDA-1609 - Don't use reserved keyword as method name
As reported in [CORDA-1609](https://r3-cev.atlassian.net/browse/CORDA-1609),
`CordaRPCClientConfiguration.default` is not accessible from Java since
`default` is a reserved keyword.

As part of the refactor made in #2831, `CordaRPCClientConfiguration` went
from being a data class to an interface with a backing implementation of
type `CordaRPCClientConfigurationImpl`.

This resulted in Java users having to rewrite code that was on the form:

```java
final CordaRPCClient client = new CordaRPCClient(
    nodeAddress, CordaRPCClientConfiguration.DEFAULT
);
```

to something like this:

```java
final CordaRPCClient client = new CordaRPCClient(
    nodeAddress, CordaRPCClientConfiguration.Companion.default()
);
```

However, this does not work. The user would get a compilation error because
`default` is a reserved keyword in Java.

Since `CordaRPCClientConfiguration` has been made an interface, there is no
easy way of introducing a static final field on the interface from Kotlin.

Consequently, I've changed this back to using a `class` with a static field
named `DEFAULT` instead of the static method `default()`.

It should be noted that `default()` / `DEFAULT` is currently only used
internally to pass in default values in `CordaRPCClient.kt` and
`CordaRPCClientUtils.kt`. That said, it is exposed as part of our API
surface and consequently shouldn't be broken.

The latter means that in the above example, the user would actually not
have to provide the parameter at all:

```java
final CordaRPCClient client = new CordaRPCClient(nodeAddress);
```

As can be seen from the definition of `CordaRPCClient`:

```kotlin
class CordaRPCClient private constructor(...) {
    @JvmOverloads
    constructor(
        hostAndPort: NetworkHostAndPort,
        configuration: CordaRPCClientConfiguration = CordaRPCClientConfiguration.DEFAULT
    ) : this(hostAndPort, configuration, null)
```

The mentioned [refactor](7a077e76f0 (diff-0948c125db93a22263eb81eaf3161c17R65))
did not make it into the 3.1 release, so from an API-stability perspective,
this change can be applied without affecting our commitment to a
backwards compatible API..
2018-06-13 15:39:03 +01:00
11fd70a1f7 Merge remote-tracking branch 'open/master' into os-merge-d620e71
# Conflicts:
#	node/src/main/kotlin/net/corda/node/serialization/kryo/Kryo.kt
2018-06-06 09:51:29 +01:00
d620e71bb6 Replaced all uses of assert with require (#3309)
JVM assertions have to be enabled with the -ea flag so it's possible for these checks to be ignored.
2018-06-06 00:31:41 +01:00
de0c69a888 Merge remote-tracking branch 'remotes/open/master' into merges/may-29-16-48
# Conflicts:
#	node/src/integration-test/kotlin/net/corda/node/services/RaftNotaryServiceTests.kt
#	node/src/integration-test/kotlin/net/corda/node/services/network/PersistentNetworkMapCacheTest.kt
#	node/src/main/kotlin/net/corda/node/internal/AbstractNode.kt
#	node/src/main/kotlin/net/corda/node/internal/Node.kt
#	node/src/main/kotlin/net/corda/node/services/identity/PersistentIdentityService.kt
#	node/src/main/kotlin/net/corda/node/services/persistence/DBTransactionMappingStorage.kt
#	node/src/main/kotlin/net/corda/node/services/persistence/DBTransactionStorage.kt
#	node/src/main/kotlin/net/corda/node/services/vault/NodeVaultService.kt
#	node/src/test/kotlin/net/corda/node/internal/NodeTest.kt
#	node/src/test/kotlin/net/corda/node/services/identity/PersistentIdentityServiceTests.kt
#	node/src/test/kotlin/net/corda/node/services/messaging/ArtemisMessagingTest.kt
#	node/src/test/kotlin/net/corda/node/services/persistence/DBCheckpointStorageTests.kt
#	node/src/test/kotlin/net/corda/node/services/persistence/DBTransactionStorageTests.kt
#	node/src/test/kotlin/net/corda/node/services/persistence/HibernateConfigurationTest.kt
#	node/src/test/kotlin/net/corda/node/services/persistence/NodeAttachmentStorageTest.kt
#	node/src/test/kotlin/net/corda/node/services/schema/HibernateObserverTests.kt
#	node/src/test/kotlin/net/corda/node/services/transactions/PersistentUniquenessProviderTests.kt
#	node/src/test/kotlin/net/corda/node/services/transactions/RaftTransactionCommitLogTests.kt
#	node/src/test/kotlin/net/corda/node/services/vault/VaultQueryTests.kt
#	node/src/test/kotlin/net/corda/node/utilities/ObservablesTests.kt
#	samples/irs-demo/cordapp/src/test/kotlin/net/corda/irs/api/NodeInterestRatesTest.kt
#	testing/node-driver/src/main/kotlin/net/corda/testing/node/MockServices.kt
2018-05-29 17:17:08 +01:00
8a5978e881 CORDA-1536: Fix client infinitely re-trying when incorrect endpoint specified. (#3243)
Apparently, if incorrect endpoint provided, ActiveMQNotConnectedException is thrown
which is different to ActiveMQSecurityException. Extend catch block to: ActiveMQException
to cater for all such cases.
2018-05-29 14:05:51 +01:00
152848730d Merge remote-tracking branch 'open/master' into os-merge-2907250
# Conflicts:
#	build.gradle
#	client/rpc/src/main/kotlin/net/corda/client/rpc/CordaRPCClient.kt
#	node-api/build.gradle
#	node-api/src/main/kotlin/net/corda/nodeapi/internal/serialization/amqp/custom/StringBufferSerializer.kt
#	serialization/src/main/kotlin/net/corda/serialization/internal/AllButBlacklisted.kt
#	serialization/src/main/kotlin/net/corda/serialization/internal/AttachmentsClassLoader.kt
#	serialization/src/main/kotlin/net/corda/serialization/internal/DefaultWhitelist.kt
#	serialization/src/main/kotlin/net/corda/serialization/internal/GeneratedAttachment.kt
#	serialization/src/main/kotlin/net/corda/serialization/internal/OrdinalIO.kt
#	serialization/src/main/kotlin/net/corda/serialization/internal/SerializationFormat.kt
#	serialization/src/main/kotlin/net/corda/serialization/internal/SerializationScheme.kt
#	serialization/src/main/kotlin/net/corda/serialization/internal/SerializeAsTokenContextImpl.kt
#	serialization/src/main/kotlin/net/corda/serialization/internal/SharedContexts.kt
#	serialization/src/main/kotlin/net/corda/serialization/internal/UseCaseAwareness.kt
#	serialization/src/main/kotlin/net/corda/serialization/internal/amqp/AMQPDescriptorRegistry.kt
#	serialization/src/main/kotlin/net/corda/serialization/internal/amqp/AMQPPrimitiveSerializer.kt
#	serialization/src/main/kotlin/net/corda/serialization/internal/amqp/AMQPSerializer.kt
#	serialization/src/main/kotlin/net/corda/serialization/internal/amqp/AMQPSerializerFactories.kt
#	serialization/src/main/kotlin/net/corda/serialization/internal/amqp/ArraySerializer.kt
#	serialization/src/main/kotlin/net/corda/serialization/internal/amqp/CollectionSerializer.kt
#	serialization/src/main/kotlin/net/corda/serialization/internal/amqp/CorDappCustomSerializer.kt
#	serialization/src/main/kotlin/net/corda/serialization/internal/amqp/CustomSerializer.kt
#	serialization/src/main/kotlin/net/corda/serialization/internal/amqp/DeserializationInput.kt
#	serialization/src/main/kotlin/net/corda/serialization/internal/amqp/DeserializedGenericArrayType.kt
#	serialization/src/main/kotlin/net/corda/serialization/internal/amqp/DeserializedParameterizedType.kt
#	serialization/src/main/kotlin/net/corda/serialization/internal/amqp/EnumEvolutionSerializer.kt
#	serialization/src/main/kotlin/net/corda/serialization/internal/amqp/EnumSerializer.kt
#	serialization/src/main/kotlin/net/corda/serialization/internal/amqp/Envelope.kt
#	serialization/src/main/kotlin/net/corda/serialization/internal/amqp/EvolutionSerializer.kt
#	serialization/src/main/kotlin/net/corda/serialization/internal/amqp/FingerPrinter.kt
#	serialization/src/main/kotlin/net/corda/serialization/internal/amqp/MapSerializer.kt
#	serialization/src/main/kotlin/net/corda/serialization/internal/amqp/ObjectSerializer.kt
#	serialization/src/main/kotlin/net/corda/serialization/internal/amqp/PropertySerializer.kt
#	serialization/src/main/kotlin/net/corda/serialization/internal/amqp/PropertySerializers.kt
#	serialization/src/main/kotlin/net/corda/serialization/internal/amqp/Schema.kt
#	serialization/src/main/kotlin/net/corda/serialization/internal/amqp/SerializationHelper.kt
#	serialization/src/main/kotlin/net/corda/serialization/internal/amqp/SerializationOutput.kt
#	serialization/src/main/kotlin/net/corda/serialization/internal/amqp/SerializerFactory.kt
#	serialization/src/main/kotlin/net/corda/serialization/internal/amqp/SingletonSerializer.kt
#	serialization/src/main/kotlin/net/corda/serialization/internal/amqp/SupportedTransforms.kt
#	serialization/src/main/kotlin/net/corda/serialization/internal/amqp/TransformTypes.kt
#	serialization/src/main/kotlin/net/corda/serialization/internal/amqp/TransformsSchema.kt
#	serialization/src/main/kotlin/net/corda/serialization/internal/amqp/custom/BigDecimalSerializer.kt
#	serialization/src/main/kotlin/net/corda/serialization/internal/amqp/custom/BigIntegerSerializer.kt
#	serialization/src/main/kotlin/net/corda/serialization/internal/amqp/custom/BitSetSerializer.kt
#	serialization/src/main/kotlin/net/corda/serialization/internal/amqp/custom/CertPathSerializer.kt
#	serialization/src/main/kotlin/net/corda/serialization/internal/amqp/custom/ClassSerializer.kt
#	serialization/src/main/kotlin/net/corda/serialization/internal/amqp/custom/ContractAttachmentSerializer.kt
#	serialization/src/main/kotlin/net/corda/serialization/internal/amqp/custom/CurrencySerializer.kt
#	serialization/src/main/kotlin/net/corda/serialization/internal/amqp/custom/DurationSerializer.kt
#	serialization/src/main/kotlin/net/corda/serialization/internal/amqp/custom/EnumSetSerializer.kt
#	serialization/src/main/kotlin/net/corda/serialization/internal/amqp/custom/InputStreamSerializer.kt
#	serialization/src/main/kotlin/net/corda/serialization/internal/amqp/custom/InstantSerializer.kt
#	serialization/src/main/kotlin/net/corda/serialization/internal/amqp/custom/LocalDateSerializer.kt
#	serialization/src/main/kotlin/net/corda/serialization/internal/amqp/custom/LocalDateTimeSerializer.kt
#	serialization/src/main/kotlin/net/corda/serialization/internal/amqp/custom/LocalTimeSerializer.kt
#	serialization/src/main/kotlin/net/corda/serialization/internal/amqp/custom/MonthDaySerializer.kt
#	serialization/src/main/kotlin/net/corda/serialization/internal/amqp/custom/OffsetDateTimeSerializer.kt
#	serialization/src/main/kotlin/net/corda/serialization/internal/amqp/custom/OffsetTimeSerializer.kt
#	serialization/src/main/kotlin/net/corda/serialization/internal/amqp/custom/OpaqueBytesSubSequenceSerializer.kt
#	serialization/src/main/kotlin/net/corda/serialization/internal/amqp/custom/PeriodSerializer.kt
#	serialization/src/main/kotlin/net/corda/serialization/internal/amqp/custom/PrivateKeySerializer.kt
#	serialization/src/main/kotlin/net/corda/serialization/internal/amqp/custom/PublicKeySerializer.kt
#	serialization/src/main/kotlin/net/corda/serialization/internal/amqp/custom/SimpleStringSerializer.kt
#	serialization/src/main/kotlin/net/corda/serialization/internal/amqp/custom/ThrowableSerializer.kt
#	serialization/src/main/kotlin/net/corda/serialization/internal/amqp/custom/X509CRLSerializer.kt
#	serialization/src/main/kotlin/net/corda/serialization/internal/amqp/custom/X509CertificateSerializer.kt
#	serialization/src/main/kotlin/net/corda/serialization/internal/amqp/custom/YearMonthSerializer.kt
#	serialization/src/main/kotlin/net/corda/serialization/internal/amqp/custom/YearSerializer.kt
#	serialization/src/main/kotlin/net/corda/serialization/internal/amqp/custom/ZoneIdSerializer.kt
#	serialization/src/main/kotlin/net/corda/serialization/internal/amqp/custom/ZonedDateTimeSerializer.kt
#	serialization/src/main/kotlin/net/corda/serialization/internal/carpenter/ClassCarpenter.kt
#	serialization/src/main/kotlin/net/corda/serialization/internal/carpenter/Exceptions.kt
#	serialization/src/main/kotlin/net/corda/serialization/internal/carpenter/MetaCarpenter.kt
#	serialization/src/main/kotlin/net/corda/serialization/internal/carpenter/Schema.kt
#	serialization/src/main/kotlin/net/corda/serialization/internal/carpenter/SchemaFields.kt
#	serialization/src/main/kotlin/net/corda/serialization/internal/kryo/CordaClassResolver.kt
#	serialization/src/main/kotlin/net/corda/serialization/internal/kryo/CordaClosureSerializer.kt
#	serialization/src/main/kotlin/net/corda/serialization/internal/kryo/DefaultKryoCustomizer.kt
#	serialization/src/main/kotlin/net/corda/serialization/internal/kryo/Kryo.kt
#	serialization/src/main/kotlin/net/corda/serialization/internal/kryo/KryoSerializationScheme.kt
#	serialization/src/main/kotlin/net/corda/serialization/internal/kryo/SerializeAsTokenSerializer.kt
#	serialization/src/test/java/net/corda/serialization/internal/ForbiddenLambdaSerializationTests.java
#	serialization/src/test/java/net/corda/serialization/internal/LambdaCheckpointSerializationTest.java
#	serialization/src/test/java/net/corda/serialization/internal/amqp/ErrorMessageTests.java
#	serialization/src/test/java/net/corda/serialization/internal/amqp/JavaGenericsTest.java
#	serialization/src/test/java/net/corda/serialization/internal/amqp/JavaPrivatePropertyTests.java
#	serialization/src/test/java/net/corda/serialization/internal/amqp/JavaSerialiseEnumTests.java
#	serialization/src/test/java/net/corda/serialization/internal/amqp/JavaSerializationOutputTests.java
#	serialization/src/test/java/net/corda/serialization/internal/amqp/ListsSerializationJavaTest.java
#	serialization/src/test/java/net/corda/serialization/internal/amqp/SetterConstructorTests.java
#	serialization/src/test/kotlin/net/corda/serialization/internal/AttachmentsClassLoaderTests.kt
#	serialization/src/test/kotlin/net/corda/serialization/internal/ContractAttachmentSerializerTest.kt
#	serialization/src/test/kotlin/net/corda/serialization/internal/CordaClassResolverTests.kt
#	serialization/src/test/kotlin/net/corda/serialization/internal/ListsSerializationTest.kt
#	serialization/src/test/kotlin/net/corda/serialization/internal/MapsSerializationTest.kt
#	serialization/src/test/kotlin/net/corda/serialization/internal/PrivateKeySerializationTest.kt
#	serialization/src/test/kotlin/net/corda/serialization/internal/SerializationTokenTest.kt
#	serialization/src/test/kotlin/net/corda/serialization/internal/SetsSerializationTest.kt
#	serialization/src/test/kotlin/net/corda/serialization/internal/amqp/CorDappSerializerTests.kt
#	serialization/src/test/kotlin/net/corda/serialization/internal/amqp/DeserializeAndReturnEnvelopeTests.kt
#	serialization/src/test/kotlin/net/corda/serialization/internal/amqp/DeserializeMapTests.kt
#	serialization/src/test/kotlin/net/corda/serialization/internal/amqp/DeserializeNeedingCarpentryOfEnumsTest.kt
#	serialization/src/test/kotlin/net/corda/serialization/internal/amqp/DeserializeNeedingCarpentrySimpleTypesTest.kt
#	serialization/src/test/kotlin/net/corda/serialization/internal/amqp/DeserializeNeedingCarpentryTests.kt
#	serialization/src/test/kotlin/net/corda/serialization/internal/amqp/DeserializeSimpleTypesTests.kt
#	serialization/src/test/kotlin/net/corda/serialization/internal/amqp/DeserializedParameterizedTypeTests.kt
#	serialization/src/test/kotlin/net/corda/serialization/internal/amqp/EnumEvolvabilityTests.kt
#	serialization/src/test/kotlin/net/corda/serialization/internal/amqp/EnumEvolveTests.kt
#	serialization/src/test/kotlin/net/corda/serialization/internal/amqp/EnumTests.kt
#	serialization/src/test/kotlin/net/corda/serialization/internal/amqp/ErrorMessagesTests.kt
#	serialization/src/test/kotlin/net/corda/serialization/internal/amqp/EvolutionSerializerGetterTesting.kt
#	serialization/src/test/kotlin/net/corda/serialization/internal/amqp/EvolvabilityTests.kt
#	serialization/src/test/kotlin/net/corda/serialization/internal/amqp/FingerPrinterTesting.kt
#	serialization/src/test/kotlin/net/corda/serialization/internal/amqp/GenericsTests.kt
#	serialization/src/test/kotlin/net/corda/serialization/internal/amqp/OverridePKSerializerTest.kt
#	serialization/src/test/kotlin/net/corda/serialization/internal/amqp/PrivatePropertyTests.kt
#	serialization/src/test/kotlin/net/corda/serialization/internal/amqp/SerializationPropertyOrdering.kt
#	serialization/src/test/kotlin/net/corda/serialization/internal/amqp/SerializeAndReturnSchemaTest.kt
#	serialization/src/test/kotlin/net/corda/serialization/internal/amqp/StaticInitialisationOfSerializedObjectTest.kt
#	serialization/src/test/kotlin/net/corda/serialization/internal/carpenter/ClassCarpenterTest.kt
#	serialization/src/test/kotlin/net/corda/serialization/internal/carpenter/ClassCarpenterTestUtils.kt
#	serialization/src/test/kotlin/net/corda/serialization/internal/carpenter/ClassCarpenterWhitelistTest.kt
#	serialization/src/test/kotlin/net/corda/serialization/internal/carpenter/CompositeMemberCompositeSchemaToClassCarpenterTests.kt
#	serialization/src/test/kotlin/net/corda/serialization/internal/carpenter/EnumClassTests.kt
#	serialization/src/test/kotlin/net/corda/serialization/internal/carpenter/InheritanceSchemaToClassCarpenterTests.kt
#	serialization/src/test/kotlin/net/corda/serialization/internal/carpenter/MultiMemberCompositeSchemaToClassCarpenterTests.kt
#	serialization/src/test/kotlin/net/corda/serialization/internal/carpenter/SingleMemberCompositeSchemaToClassCarpenterTests.kt
#	serialization/src/test/kotlin/net/corda/serialization/internal/kryo/KryoStreamsTest.kt
#	serialization/src/test/kotlin/net/corda/serialization/internal/kryo/KryoTests.kt
#	settings.gradle
2018-05-21 10:31:57 +01:00
215e54f1ab ENT-1902: If we are already in the JavaFX thread - perform direct invocation without postponing it. (#3177)
Or else if we are operating in JavaFX thread the sequence of invocations will change.
2018-05-18 11:09:02 +01:00
9a69a36904 Merge remote-tracking branch 'remotes/open/master' into merges/may-14-15-21
# Conflicts:
#	.idea/compiler.xml
#	constants.properties
#	experimental/behave/src/main/kotlin/net/corda/behave/network/Network.kt
#	experimental/behave/src/main/kotlin/net/corda/behave/node/Distribution.kt
#	experimental/behave/src/test/kotlin/net/corda/behave/service/PostreSQLServiceTests.kt
#	node-api/src/main/kotlin/net/corda/nodeapi/internal/bridging/AMQPBridgeManager.kt
#	node-api/src/main/kotlin/net/corda/nodeapi/internal/persistence/CordaPersistence.kt
#	node-api/src/main/kotlin/net/corda/nodeapi/internal/persistence/HibernateConfiguration.kt
#	node-api/src/main/kotlin/net/corda/nodeapi/internal/protonwrapper/netty/AMQPChannelHandler.kt
#	node-api/src/main/kotlin/net/corda/nodeapi/internal/protonwrapper/netty/AMQPClient.kt
#	node/src/integration-test/kotlin/net/corda/node/AuthDBTests.kt
#	node/src/main/kotlin/net/corda/node/internal/AbstractNode.kt
#	node/src/main/kotlin/net/corda/node/internal/NodeStartup.kt
#	node/src/main/kotlin/net/corda/node/services/config/ConfigUtilities.kt
#	node/src/main/kotlin/net/corda/node/services/messaging/MessagingExecutor.kt
#	node/src/main/kotlin/net/corda/node/services/persistence/AbstractPartyToX500NameAsStringConverter.kt
#	node/src/main/kotlin/net/corda/node/services/persistence/DBTransactionMappingStorage.kt
#	node/src/main/kotlin/net/corda/node/utilities/AddOrRemove.kt
#	node/src/test/kotlin/net/corda/node/services/config/NodeConfigurationImplTest.kt
#	samples/attachment-demo/src/integration-test/kotlin/net/corda/attachmentdemo/AttachmentDemoTest.kt
#	samples/irs-demo/web/src/test/kotlin/net/corda/irs/web/IrsDemoWebApplicationTests.kt
#	samples/simm-valuation-demo/src/integration-test/kotlin/net/corda/vega/SimmValuationTest.kt
#	testing/node-driver/src/main/kotlin/net/corda/testing/driver/Driver.kt
#	testing/node-driver/src/main/kotlin/net/corda/testing/node/internal/InternalTestUtils.kt
#	testing/node-driver/src/main/kotlin/net/corda/testing/node/internal/RPCDriver.kt
#	testing/smoke-test-utils/src/main/kotlin/net/corda/smoketesting/NodeConfig.kt
#	webserver/src/integration-test/kotlin/net/corda/webserver/WebserverDriverTests.kt
2018-05-14 15:56:43 +01:00
d027b5b8f2 [CORDA-1472]: Crackdown on warnings. (#3136) 2018-05-14 21:15:52 +07:00
355c65ad62 Merge remote-tracking branch 'remotes/open/master' into feature/vkolomeyko/os-merge
# Conflicts:
#	node-api/src/main/kotlin/net/corda/nodeapi/internal/serialization/SharedContexts.kt
#	node/src/integration-test/kotlin/net/corda/node/services/RaftNotaryServiceTests.kt
#	tools/explorer/src/main/kotlin/net/corda/explorer/views/SearchField.kt
#	tools/explorer/src/main/kotlin/net/corda/explorer/views/TransactionViewer.kt
2018-05-10 15:36:07 +01:00
15e87050c7 CORDA-1393: Make Explorer GUI recover on RPC connection loss. (#3093)
* CORDA-1393: Install `onError()` handler for folding action
or else `ErrorNotImplementedAction` will be invoked which is never a good thing

* CORDA-1335: Improve exception handling in `cleanUpOnConnectionLoss()`

* CORDA-1335: Try to trick the logic to pretend we are running in HA mode to have a chance of re-connecting.

* CORDA-1416: Make `NodeMonitorModel` code react to proxy changing.

* CORDA-1416: Workaround `CordaRPCOps.equals()` calls when listener dispatching change.

* CORDA-1416: Increase re-try interval to allow enough time for server to come back online.

* CORDA-1355: Properly close RPC connection we are moving away from.

* CORDA-1355: Unsubscribe on Error to prevent propagation of it downstream.

* CORDA-1355: For downstream subscribers ignore errors properly. Thanka to @exfalso for the hint.

This fixes: Transaction Updates do not flow after re-connect

* CORDA-1355: Bugfix eliminate duplicating items on "Transactions" blotter after re-connect.

* CORDA-1355: Bugfix eliminate double counting on dashboards.

* CORDA-1355: Bugfix eliminate same parties in dropdowns.

* CORDA-1355: Stop using `SecureHash.randomSHA256()` for painting widget icon.
Instead use combined SHA hash such that icon represents the whole population of trades.
That way two transactions blotters can be compared by a single glimpse at corresponding icons.

Also minor refactoring.

* CORDA-1416: Make RPC re-connection faster/more robust.

* CORDA-1416: Properly announce thet Proxy may not be available during re-connect and prevent UI crashing.

* CORDA-1416: Disable UI until RPC proxy is available.

* CORDA-1416: Correct typo.

* CORDA-1416: Unit test fix.

* CORDA-1416: GUI cosmetic changes.

* CORDA-1416: Correct spaces.

* CORDA-1416: Remove un-necessary overrides in CordaRPCOpsWrapper.

* CORDA-1416: Switch from using `doOnError` to installing an error handler upon subscription.
2018-05-10 15:20:41 +01:00
99129c1141 Merge pull request #3010 from corda/pat/explorer-networkview-bugfix
[Bug fix] - explorer doesn't remove node from network view.
2018-04-26 16:52:21 +01:00
1b31574512 [Bug fix] - explorer doesn't remove node from network view. (#779)
(cherry picked from commit eb5b03e)
2018-04-26 13:23:16 +01:00
eb5b03e2f5 [Bug fix] - explorer doesn't remove node from network view. (#779) 2018-04-26 13:19:06 +01:00
e135cf062c Merge commit '5f70b6e04954a6dc64a1a56089eeccb2966bb0ae' into chrisr3-os-merge 2018-04-24 18:09:41 +01:00
8e507d0b88 CORDA-1263: Replace deprecated kotlin-stdlib-jre8 with kotlin-stdlib-jdk8. (#2992) 2018-04-24 14:03:41 +01:00
8a561cddbf Merge remote-tracking branch 'remotes/open/master' into merges/march-19-14-41
# Conflicts:
#	client/rpc/src/test/kotlin/net/corda/client/rpc/RPCPerformanceTests.kt
#	node-api/src/main/kotlin/net/corda/nodeapi/internal/persistence/CordaPersistence.kt
#	node/src/integration-test/kotlin/net/corda/node/modes/draining/P2PFlowsDrainingModeTest.kt
#	node/src/main/java/CordaCaplet.java
#	node/src/main/kotlin/net/corda/node/internal/AbstractNode.kt
#	testing/node-driver/src/main/kotlin/net/corda/testing/node/MockServices.kt
2018-03-19 15:17:49 +00:00
7a077e76f0 CORDA-1099: Orchestrated clean shutdown from Shell (#2831) 2018-03-19 14:20:10 +00:00
d0efe85a44 Merge commit 'a64474181971e79638d6c23cb677a91a6c0f1bb5' into chrisr3-os-merge 2018-03-15 09:04:57 +00:00
f454b949e8 CORDA-1142: Fix explorer to support all transaction types 2018-03-14 18:22:52 +00:00
0a0c8538c4 Merge from Corda/OS 2018-03-14 17:24:47 +00:00
a24a2105b1 CORDA-1217 Replace Guava caches with Caffeine (#2818) 2018-03-14 16:07:31 +00:00
b86071c5c5 ENT-1566 Fixes for db integration tests + ENT-1575 db migrations for db attachment changes (#521)
ENT-1575 Add db migrations for db attachment changes,

ENT-1566 Fixes for db integration tests -following changes in CORDA-926 (obligatory node properties), upgrade db schema setup in draining mode/RPC tests, set runMigration=true in properties files for db tests, add new tables for deletion in SQL setup scrips
Updated db integration tests description in testing.rst
2018-03-09 09:52:44 +00:00
da1afd9c55 Introduced copyright in all source files. (#519) 2018-03-06 17:29:21 +00:00
c72b3ad4fa Merge remote-tracking branch 'open/master' into anthony-os-merge-2
# Conflicts:
#	.ci/api-current.txt
#	client/jfx/src/integration-test/kotlin/net/corda/client/jfx/NodeMonitorModelTest.kt
#	client/rpc/src/integration-test/kotlin/net/corda/client/rpc/FlowsExecutionModeRpcTest.kt
#	docs/source/example-code/src/integration-test/kotlin/net/corda/docs/IntegrationTestingTutorial.kt
#	docs/source/example-code/src/main/kotlin/net/corda/docs/tutorial/mocknetwork/TutorialMockNetwork.kt
#	finance/src/test/kotlin/net/corda/finance/flows/CashPaymentFlowTests.kt
#	node/src/integration-test/kotlin/net/corda/node/CordappScanningDriverTest.kt
#	node/src/integration-test/kotlin/net/corda/node/NodePerformanceTests.kt
#	node/src/integration-test/kotlin/net/corda/node/services/BFTNotaryServiceTests.kt
#	node/src/integration-test/kotlin/net/corda/node/services/RaftNotaryServiceTests.kt
#	node/src/integration-test/kotlin/net/corda/node/services/network/NetworkMapTest.kt
#	node/src/integration-test/kotlin/net/corda/node/services/rpc/RpcSslTest.kt
#	node/src/integration-test/kotlin/net/corda/node/services/statemachine/FlowVersioningTest.kt
#	node/src/integration-test/kotlin/net/corda/node/services/statemachine/LargeTransactionsTest.kt
#	node/src/integration-test/kotlin/net/corda/services/messaging/MQSecurityTest.kt
#	node/src/integration-test/kotlin/net/corda/services/messaging/P2PMessagingTest.kt
#	node/src/integration-test/kotlin/net/corda/test/node/NodeStatePersistenceTests.kt
#	node/src/test/kotlin/net/corda/node/CordaRPCOpsImplTest.kt
#	node/src/test/kotlin/net/corda/node/modes/draining/ScheduledFlowsDrainingModeTest.kt
#	node/src/test/kotlin/net/corda/node/services/messaging/ArtemisMessagingTest.kt
#	node/src/test/kotlin/net/corda/node/services/statemachine/FlowFrameworkTests.kt
#	node/src/test/kotlin/net/corda/node/services/transactions/MaxTransactionSizeTests.kt
#	samples/trader-demo/src/integration-test/kotlin/net/corda/traderdemo/TraderDemoTest.kt
#	testing/node-driver/src/main/kotlin/net/corda/testing/node/InMemoryMessagingNetwork.kt
#	testing/node-driver/src/main/kotlin/net/corda/testing/node/MockServices.kt
#	testing/node-driver/src/main/kotlin/net/corda/testing/node/internal/NodeBasedTest.kt
#	verifier/src/integration-test/kotlin/net/corda/verifier/VerifierTests.kt
2018-02-28 16:55:15 +00:00
577033441a [CORDA-1035] Testing api KDoc Updates (#2584)
* Testing api KDoc Updates

* Update after code review

* Update api-current

* Revert changes to compiler.xml

* Made comment changes from review

* Fixing merge conflict

* Don't expose net.corda.node through test API (first pass)

* Fixing merge conflicts

* Update api-current

* Addressing review commits

* Fix exposure of internal implementation of MessageHandlerRegistration

* Make InProcess expose ServiceHub instead of internal StartedNodeServices

* Move InternalMockMessaginService interface to internal namespace

* Move MOCK_VERSION_INFO to internal namespace to avoid exposing VersionInfo

* Don't expose WritableTransactionStorage via testing api

* Create public VerifierType enum

* Update api-current and modify check-api-changes to check for net.corda.node exposures

* Fix merge conflicts

* Fixing another merge conflict

* Fix accidentally broken unit tests

* Make getInternalServices a property

* Fix failing unit tests

* Add todo to check-api-changes

* Fix rpc sender thread busy looping

* Fix tests

* Fixing tests

* Address mike's comments

* Fixing tests

* Make random port allocation internal

* Update api
2018-02-28 13:26:49 +00:00
6b2b7b6a3c Merge commit 'fa4b5d16ba6249f85b50851c2f52dc697eebdee6' into aslemmer-merge-19-Feb 2018-02-20 13:26:31 +00:00
1d7b0fc499 Merge commit '86fb1ed852c69121f989c9eeea92cfb4c27f9d13' into aslemmer-merge-19-Feb 2018-02-19 16:14:43 +00:00
b91dd43a83 Test driver default parameters removal (#2519)
* Removed long parameter list in test driver, replaced with DriverParameters object
2018-02-13 13:15:05 +00:00
7b65b7971a CORDA-939 - Don't expose StartedNode and AbstractNode as part of public test api (#2472)
* Don't expose StartedNode via Node Driver

* Dont expose StartedNode/Abstract Node via MockNetwork

* Remove internal var from constructor as it doesn't hide from public api and change to internal initialisation method

* Update api

* Rename MockNode to StartedMockNode to avoid confusion
Update documentation
Update api-current.txt

* Fix typo

* Fix test failure

* Modify flow tests to use internal mock network and remove additional internal exposures from StartedMockNode

* Fix api-current

* Change InProcess and OutOfProcess to interfaces

* Explicitly declare MockNetwork parameters
Dont expose StateMachineManager
Move affected tests to use internal mock network

* Fix api-current

* Changes requested via review

* Fix IRS Demo address

* Fix api

* Remove internal attribute from classes in internal package

* Remove accidentally added code

* Move useHttps into NodeHandleInternal

* Remove duplicated code

* Update api-current

* Make webAddress internal on NodeHandle

* Make sure parameters in public api are explicitly specified

* Use correct address in IRS Demo

* Get webaddress from webserver handle

* Update api-current
2018-02-12 10:09:59 +00:00
82ece34ac8 Tweak the way invocation context is integrated to reduce the pain for devs using the old API (#2447)
Minor tweaks to the invocation context code.

1) Un-deprecate FlowInitiator, move the deprecation to the field. This
   eliminates large numbers of warnings and means developers are warned
   only once in the place where they obtain one.

2) Add documentation for StateMachineInfo and create a type alias to give
   it a better name in an ABI compatible way.

3) Improve markup on InvocationContext

4) Rename field from just "context" to "invocationContext" (Context is vague)
2018-02-02 17:09:08 +01:00
1ecf646f7e Oracle 11xe and 12c database compatibility (#206)
* Sql setup scripts for Oracle and datasource configuration.
* CashSelection for Oracle.
* Workaround of forbidden distinct for BLOBs.
* ojdbc8.jar driver dependency from Oracle Maven repository, ojdbc6.jar from lib (it's not in Maven repo).
* allow to use random Port in node names and trim it from schema name, remove schema with port numbers from db setup (to cater for new test, non Oracle specific change) 
* Removed unnecessary code from ConfigUtilities (non Oracle specific change) 
* Removed db integration tests setup for RPCStabilityTest as it doesn't start any nodes
2018-01-29 18:35:58 +00:00
4b86362391 Merge remote-tracking branch 'open/master' into shams-os-merge-250118
# Conflicts:
#	client/rpc/src/integration-test/kotlin/net/corda/client/rpc/BlacklistKotlinClosureTest.kt
#	client/rpc/src/integration-test/kotlin/net/corda/client/rpc/RPCStabilityTests.kt
#	core/src/test/java/net/corda/core/flows/FlowsInJavaTest.java
#	docs/source/changelog.rst
#	docs/source/corda-configuration-file.rst
#	docs/source/upgrade-notes.rst
#	finance/src/test/kotlin/net/corda/finance/contracts/CommercialPaperTests.kt
#	finance/src/test/kotlin/net/corda/finance/contracts/asset/CashTests.kt
#	gradle/wrapper/gradle-wrapper.properties
#	node-api/src/main/kotlin/net/corda/nodeapi/internal/KeyStoreConfigHelpers.kt
#	node-api/src/test/kotlin/net/corda/nodeapi/internal/serialization/SetsSerializationTest.kt
#	node/src/integration-test/kotlin/net/corda/node/AuthDBTests.kt
#	node/src/integration-test/kotlin/net/corda/node/BootTests.kt
#	node/src/integration-test/kotlin/net/corda/node/NodeKeystoreCheckTest.kt
#	node/src/integration-test/kotlin/net/corda/node/NodePerformanceTests.kt
#	node/src/integration-test/kotlin/net/corda/node/SSHServerTest.kt
#	node/src/integration-test/kotlin/net/corda/node/services/AttachmentLoadingTests.kt
#	node/src/integration-test/kotlin/net/corda/node/services/BFTNotaryServiceTests.kt
#	node/src/integration-test/kotlin/net/corda/node/services/RaftNotaryServiceTests.kt
#	node/src/integration-test/kotlin/net/corda/node/services/network/NetworkMapTest.kt
#	node/src/integration-test/kotlin/net/corda/node/services/network/PersistentNetworkMapCacheTest.kt
#	node/src/integration-test/kotlin/net/corda/node/services/statemachine/FlowVersioningTest.kt
#	node/src/integration-test/kotlin/net/corda/node/utilities/registration/NodeRegistrationTest.kt
#	node/src/integration-test/kotlin/net/corda/services/messaging/MQSecurityTest.kt
#	node/src/integration-test/kotlin/net/corda/services/messaging/P2PMessagingTest.kt
#	node/src/integration-test/kotlin/net/corda/test/node/NodeStatePersistenceTests.kt
#	node/src/main/kotlin/net/corda/node/internal/AbstractNode.kt
#	node/src/main/kotlin/net/corda/node/services/config/NodeConfiguration.kt
#	node/src/main/resources/reference.conf
#	node/src/test/java/net/corda/node/services/vault/VaultQueryJavaTests.java
#	node/src/test/kotlin/net/corda/node/CordaRPCOpsImplTest.kt
#	node/src/test/kotlin/net/corda/node/services/config/NodeConfigurationImplTest.kt
#	node/src/test/kotlin/net/corda/node/services/network/NetworkMapCacheTest.kt
#	node/src/test/kotlin/net/corda/node/services/persistence/DBCheckpointStorageTests.kt
#	samples/attachment-demo/src/integration-test/kotlin/net/corda/attachmentdemo/AttachmentDemoTest.kt
#	samples/network-visualiser/src/main/kotlin/net/corda/netmap/NetworkMapVisualiser.kt
#	samples/notary-demo/src/main/kotlin/net/corda/notarydemo/RaftNotaryCordform.kt
#	samples/simm-valuation-demo/src/integration-test/kotlin/net/corda/vega/SimmValuationTest.kt
#	testing/node-driver/src/integration-test/kotlin/net/corda/testing/driver/DriverTests.kt
#	testing/node-driver/src/main/kotlin/net/corda/testing/node/InMemoryMessagingNetwork.kt
#	testing/node-driver/src/main/kotlin/net/corda/testing/node/MockNode.kt
#	testing/node-driver/src/main/kotlin/net/corda/testing/node/MockServices.kt
#	testing/node-driver/src/main/kotlin/net/corda/testing/node/NodeTestUtils.kt
#	testing/node-driver/src/main/kotlin/net/corda/testing/node/internal/NodeBasedTest.kt
#	testing/smoke-test-utils/src/main/kotlin/net/corda/smoketesting/NodeProcess.kt
#	testing/test-utils/src/main/kotlin/net/corda/testing/internal/TestNodeInfoBuilder.kt
#	tools/explorer/src/main/kotlin/net/corda/explorer/ExplorerSimulation.kt
#	verifier/src/integration-test/kotlin/net/corda/verifier/VerifierTests.kt
#	webserver/src/integration-test/kotlin/net/corda/webserver/WebserverDriverTests.kt
2018-01-25 17:51:13 +00:00
142f52fa82 [CORDA:936]: Enable RPC layer to work with SSL 2018-01-23 16:23:37 +00:00
1fc646cfa8 CORDA-716 Move test-utils and node-driver to stable API section in docs (#2335)
* Move test-utils and node-driver to stable section.

* Move FlowStackSnapshotFactory to testing.services package & update docs

* Move SerializationTestHelpers to testing.core package

* Move TestConstants.kt to core namespace

* Move Expect.kt to core namespace

* Move CoreTestUtils to core.TestUtils - rename class and update imports

* Added some clarification to documents after re-reading them

* Added static imports

* Removing unused import

* Fix merge conflict

* Fixing merge conflict
2018-01-22 11:28:41 +00:00
eb3798da5e Merge remote-tracking branch 'open/master' into colljos-merge-160118 2018-01-16 12:13:49 +00:00
1367cd4adb CORDA-912 Stop exposing internal node user, create user in testing infrastructu… (#2361)
* Stop exposing internal node user, create user in testing infrastructure instead

* Update kdocs
2018-01-15 19:30:33 +00:00
1e9e1a61d9 Moved IntegrationTest class into internal package 2018-01-04 22:08:16 +00:00
bc56a60d4a Final renaming of invalid constants in Integration tests following rebase from OS master. 2017-12-13 13:10:04 +00:00
cb43091ff8 Merge Open Source into Enterprise
# Resolved conflicts:
#	core/src/main/kotlin/net/corda/core/node/services/TransactionStorage.kt
#	node/src/integration-test/kotlin/net/corda/node/BootTests.kt
#	node/src/integration-test/kotlin/net/corda/node/CordappScanningDriverTest.kt
#	node/src/integration-test/kotlin/net/corda/node/NodePerformanceTests.kt
#	node/src/integration-test/kotlin/net/corda/node/SSHServerTest.kt
#	node/src/integration-test/kotlin/net/corda/node/services/AttachmentLoadingTests.kt
#	node/src/integration-test/kotlin/net/corda/test/node/NodeStatePersistenceTests.kt
#	node/src/main/kotlin/net/corda/node/Corda.kt
#	node/src/main/kotlin/net/corda/node/internal/AbstractNode.kt
#	node/src/main/kotlin/net/corda/node/internal/StartedNode.kt
#	node/src/test/kotlin/net/corda/node/services/events/NodeSchedulerServiceTest.kt
#	samples/attachment-demo/src/integration-test/kotlin/net/corda/attachmentdemo/AttachmentDemoTest.kt
#	samples/trader-demo/src/integration-test/kotlin/net/corda/traderdemo/TraderDemoTest.kt
#	testing/node-driver/src/main/kotlin/net/corda/testing/NodeTestUtils.kt
#	testing/node-driver/src/main/kotlin/net/corda/testing/internal/NodeBasedTest.kt
#	testing/node-driver/src/main/kotlin/net/corda/testing/node/MockServices.kt
2017-12-05 17:35:54 +00:00
5264072752 Renamed n.c.nodeapi.config to n.c.nodeapi.internal.config as that config code is not public API. For the same reason, also moved User into the same internal package. 2017-12-03 17:20:30 +00:00
709b3791a3 SQL Azure and SQL Server database integration tests (#115)
* Integration test are parameterised (extends IntegrationTest) to run against a remote database with 4 db scripts run @BeforeClass, @Before, @After and @AfterClass.
* SQL script for SQL Azure and SQL Server databases and templates of JDBC configuration.
2017-12-01 17:17:51 +00:00
7a9364c8d5 Merge remote-tracking branch 'open/master' into colljos-merge-171117
# Conflicts:
#	.idea/compiler.xml
#	build.gradle
#	client/rpc/src/integration-test/kotlin/net/corda/client/rpc/CordaRPCClientTest.kt
#	docs/source/changelog.rst
#	node/src/integration-test/kotlin/net/corda/node/services/AttachmentLoadingTests.kt
#	node/src/main/kotlin/net/corda/node/internal/StartedNode.kt
#	node/src/main/kotlin/net/corda/node/utilities/registration/HTTPNetworkRegistrationService.kt
#	samples/network-visualiser/build.gradle
#	samples/simm-valuation-demo/src/integration-test/kotlin/net/corda/vega/SimmValuationTest.kt
#	testing/node-driver/src/integration-test/kotlin/net/corda/testing/driver/DriverTests.kt
#	testing/node-driver/src/main/kotlin/net/corda/testing/driver/Driver.kt
#	testing/node-driver/src/main/kotlin/net/corda/testing/node/MockNode.kt
2017-11-17 15:11:24 +00:00
19aba62fc6 Move tests to using named identities (#1879)
Move tests to using named identities in preparation for multiple identities work. Includes:

* NetworkMapCacheTest
* NodeInterestRatesTest
* NodeVaultServiceTest
* ContractUpgradeFlowTest
* Cash tests
* AttachmentSerializationTest
* CordaRPCOpsImplTest
* VaultWithCashTest
* ScheduledFlowTests
2017-11-17 14:16:17 +00:00