Prosys OPC UA Java SDK 1.2.0
This is a new minor release, with some new features and improvements.
The SDK can now be used for server development without using the UaNode implementations. This enables more flexible and efficient design, especially when the server needs to serve a big number of node data.
Also filtering is now added to the server's MonitoredEventItem and creation of event filters is improved also on the client side with the ContentFilterBuilder
OPC Foundation Java Stack changes
- version 1.01.310.6
- Stack classes regenerated, updating especially the Historical Access types according to [UA Spec. Part 11 RC v1.01]
- EndpointDiscoveryService to return a default URL, if no specific ones are found - enabling usage through NAT gateways/firewalls
- New method: DateTime.parseDateTime
- New members to Variant: isNumber, valueEquals, isComparable, compareTo
- New static property: SecureChannelTcp.maxThreadPoolSize (if you wish to limit the max number of simultaneous threads used by the client stack)
- etc.
Changes to both SDK Client and Server
- Renamed DataTypeConverter.parseDataType to parseVariant
- New: DataTypeConverter.convert & parseVariant versions which take Class> as argument for the target type
- The DataTypeConverter handles most of the type conversions, according to the Conversion Rules in [UA Spec. Part 4, Table 113]
- New: EventData.setFieldValue
- New: Support for UserIdentity with user certificates
Changes to SDK Client
- Improved threading support with internal changes
- Fixed: UaClient.updateServerStatus to handle ServerStatus=Null;StatusCode.GOOD
- Fixed: UaClient.call, in the case that the server returns an empty array for diagnosticInfos
- New: UaClient.historyDeleteAtTimes, historyDeleteEvents, historyDeleteModified, historyDeleteRaw, historyReadAtTimes, historyReadEvents, historyReadModified, historyReadProcessed, historyReadRaw, historyUpdateData, historyUpdateEvent, historyUpdateStructureData
- New: ContentFilterBuilder, to enable event filter construction on the client side
Changes to SDK Server
- Interface change!: CallableListener.onCall
- Interface change!: MethodManagerUaNode.onCall
- Interface change!: NodeManagerListener.onCreateMonitoredDataItem to take MonitoringFilter instead of AggregateFilter (which is a subtype)
- Changed: NodeManager internals
- Changed: CacheVariable.value initialized to Bad_WaitingForInitialData instead of Bad_NoCommunication
- Changed: HistoryManager updated according to [UA Spec. Part 11 RC v1.01]
- Interface change: HistoryManagerListener according to HistoryManager
- Sample of the HistoryManager in SampleConsoleServer
- Changed: UaVariableNode.updateValue to set SourceTimestamp=ServerTimestamp, if not defined
- Changed: BaseEventType.SourceName equals to the DisplayName instead of BrowseName of Source by default
- Changed: Variables initialized to StatusCodes.Bad_WaitingForInitialData instead of Bad_NoCommunication
- Fixed: Added InputArguments to methods of the types
- Fixed: ArrayDimensions and ValueRanks of inputArguments of methods
- Fixed: ShelvingStateMachine.TimedShelve
- New: MonitoredEventItem.filter() made public (so you can check whether an event would be filtered)
- New: static property MonitoredEventItem.MaxQueueSize (which defaults to Integer.MAX_VALUE, instead of a fixed 100)
- New: ContentFilterDefinition & FilterOperation, which implement basic ContentFiltering for MonitoredEventItem
- New: ShelvedStateMachineType.timedShelveResetEnabled
- New: AlarmConditionType.get/setInput
- New: (NonExclusiveDeviationAlarmType.get/setSetpointt
- New: SubscriptionManagerListener & SubscriptionManager.add/removeListener
- New: UaServer.get/setDiscoveryServerRegistrationPeriod: defines how often the server will register itself to the DiscoveryServer if DiscoveryServerUrl is defined
+ a number of other internal optimizations to the server nodes
+ a number of smaller fixes
15.04.11