1717 * under the License.
1818 */
1919
20- package org .apache .iotdb .db .pipe .sink .protocol .opcua ;
20+ package org .apache .iotdb .db .pipe .sink .protocol .opcua . server ;
2121
2222import org .apache .iotdb .commons .exception .pipe .PipeRuntimeCriticalException ;
2323import org .apache .iotdb .commons .exception .pipe .PipeRuntimeNonCriticalException ;
24+ import org .apache .iotdb .db .pipe .sink .protocol .opcua .OpcUaSink ;
2425import org .apache .iotdb .db .pipe .sink .util .sorter .PipeTableModelTabletEventSorter ;
2526import org .apache .iotdb .db .pipe .sink .util .sorter .PipeTreeModelTabletEventSorter ;
2627import org .apache .iotdb .db .utils .DateTimeUtils ;
@@ -72,7 +73,7 @@ public class OpcUaNameSpace extends ManagedNamespaceWithLifecycle {
7273 private final SubscriptionModel subscriptionModel ;
7374 private final OpcUaServerBuilder builder ;
7475
75- OpcUaNameSpace (final OpcUaServer server , final OpcUaServerBuilder builder ) {
76+ public OpcUaNameSpace (final OpcUaServer server , final OpcUaServerBuilder builder ) {
7677 super (server , NAMESPACE_URI );
7778 this .builder = builder ;
7879
@@ -94,9 +95,9 @@ public void shutdown() {
9495 });
9596 }
9697
97- void transfer (final Tablet tablet , final boolean isTableModel , final OpcUaSink sink )
98+ public void transfer (final Tablet tablet , final boolean isTableModel , final OpcUaSink sink )
9899 throws UaException {
99- if (sink .isClientServerModel ) {
100+ if (sink .isClientServerModel () ) {
100101 transferTabletForClientServerModel (tablet , isTableModel , sink );
101102 } else {
102103 transferTabletForPubSubModel (tablet , isTableModel , sink );
@@ -141,11 +142,11 @@ private void transferTabletForClientServerModel(
141142 for (int i = 0 ; i < tablet .getRowSize (); ++i ) {
142143 final Object [] segments = tablet .getDeviceID (i ).getSegments ();
143144 final String [] folderSegments = new String [segments .length + 1 ];
144- folderSegments [0 ] = sink .unQualifiedDatabaseName ;
145+ folderSegments [0 ] = sink .getUnQualifiedDatabaseName () ;
145146
146147 for (int j = 0 ; j < segments .length ; ++j ) {
147148 folderSegments [j + 1 ] =
148- Objects .isNull (segments [j ]) ? sink .placeHolder : (String ) segments [j ];
149+ Objects .isNull (segments [j ]) ? sink .getPlaceHolder () : (String ) segments [j ];
149150 }
150151
151152 final int finalI = i ;
@@ -228,7 +229,7 @@ private void transferTabletRowForClientServerModel(
228229 final String currentFolder = currentStr .toString ();
229230
230231 StatusCode currentQuality =
231- Objects .isNull (sink .valueName ) ? StatusCode .GOOD : StatusCode .UNCERTAIN ;
232+ Objects .isNull (sink .getValueName () ) ? StatusCode .GOOD : StatusCode .UNCERTAIN ;
232233 UaVariableNode valueNode = null ;
233234 Object value = null ;
234235 long timestamp = 0 ;
@@ -239,19 +240,20 @@ private void transferTabletRowForClientServerModel(
239240 }
240241 final String name = measurementSchemas .get (i ).getMeasurementName ();
241242 final TSDataType type = measurementSchemas .get (i ).getType ();
242- if (Objects .nonNull (sink .qualityName ) && sink .qualityName .equals (name )) {
243+ if (Objects .nonNull (sink .getQualityName ()) && sink .getQualityName () .equals (name )) {
243244 if (!type .equals (TSDataType .BOOLEAN )) {
244245 throw new UnsupportedOperationException (
245246 "The quality value only supports boolean type, while true == GOOD and false == BAD." );
246247 }
247248 currentQuality = values .get (i ) == Boolean .TRUE ? StatusCode .GOOD : StatusCode .BAD ;
248249 continue ;
249250 }
250- if (Objects .nonNull (sink .valueName ) && !sink .valueName .equals (name )) {
251+ if (Objects .nonNull (sink .getValueName ()) && !sink .getValueName () .equals (name )) {
251252 throw new UnsupportedOperationException (
252253 "When the 'with-quality' mode is enabled, the measurement must be either \" value-name\" or \" quality-name\" " );
253254 }
254- final String nodeName = Objects .isNull (sink .valueName ) ? name : segments [segments .length - 1 ];
255+ final String nodeName =
256+ Objects .isNull (sink .getValueName ()) ? name : segments [segments .length - 1 ];
255257 final NodeId nodeId = newNodeId (currentFolder + nodeName );
256258 final UaVariableNode measurementNode ;
257259 if (!getNodeManager ().containsNode (nodeId )) {
@@ -288,7 +290,7 @@ private void transferTabletRowForClientServerModel(
288290 }
289291
290292 final long utcTimestamp = timestampToUtc (timestamps .get (timestamps .size () > 1 ? i : 0 ));
291- if (Objects .isNull (sink .valueName )) {
293+ if (Objects .isNull (sink .getValueName () )) {
292294 if (Objects .isNull (measurementNode .getValue ())
293295 || Objects .requireNonNull (measurementNode .getValue ().getSourceTime ()).getUtcTime ()
294296 < utcTimestamp ) {
@@ -365,11 +367,11 @@ private void transferTabletForPubSubModel(
365367 if (isTableModel ) {
366368 sourceNameList = new ArrayList <>(tablet .getRowSize ());
367369 for (int i = 0 ; i < tablet .getRowSize (); ++i ) {
368- final StringBuilder idBuilder = new StringBuilder (sink .unQualifiedDatabaseName );
370+ final StringBuilder idBuilder = new StringBuilder (sink .getUnQualifiedDatabaseName () );
369371 for (final Object segment : tablet .getDeviceID (i ).getSegments ()) {
370372 idBuilder
371373 .append (TsFileConstant .PATH_SEPARATOR )
372- .append (Objects .isNull (segment ) ? sink .placeHolder : segment );
374+ .append (Objects .isNull (segment ) ? sink .getPlaceHolder () : segment );
373375 }
374376 sourceNameList .add (idBuilder .toString ());
375377 }
@@ -521,7 +523,7 @@ public void onMonitoringModeChanged(final List<MonitoredItem> monitoredItems) {
521523
522524 /////////////////////////////// Conflict detection ///////////////////////////////
523525
524- void checkEquals (
526+ public void checkEquals (
525527 final String user ,
526528 final String password ,
527529 final String securityDir ,
0 commit comments