@Override public void complete ( final WriteResult result ) { setResult ( new WriteAttributeResults () ); }
@Override public WriteAttributeResults setAttributes ( final Map<String, Variant> attributes ) { final WriteAttributeResults writeAttributeResults = new WriteAttributeResults (); for ( final Map.Entry<String, Variant> entry : attributes.entrySet () ) { if ( this.reservedAttributes.contains ( entry.getKey () ) ) { writeAttributeResults.put ( entry.getKey (), new WriteAttributeResult ( new Exception ( "Attribute may not be set" ) ) ); } } return writeAttributeResults; }
public WriteRequestResult ( final Variant value, final Map<String, Variant> attributes, final WriteAttributeResults attributeResults ) { this.value = value; if ( attributes != null ) { this.attributes = new HashMap<String, Variant> ( attributes ); } else { this.attributes = Collections.emptyMap (); } if ( attributeResults != null ) { this.attributeResults = (WriteAttributeResults)attributeResults.clone (); } else { this.attributeResults = new WriteAttributeResults (); } this.error = null; }
@Override public NotifyFuture<WriteAttributeResults> startSetAttributes ( final Map<String, Variant> attributes, final OperationParameters operationParameters ) { final WriteAttributeResults writeAttributeResults = new WriteAttributeResults (); this.attributes.update ( null, attributes ); for ( final Map.Entry<String, Variant> entry : attributes.entrySet () ) { writeAttributeResults.put ( entry.getKey (), WriteAttributeResult.OK ); } return new InstantFuture<WriteAttributeResults> ( writeAttributeResults ); }
@Override protected WriteAttributeResults handleUnhandledAttributes ( final WriteAttributeResults initialResults, final Map<String, Variant> attributes ) { // check for null WriteAttributeResults writeAttributeResults = initialResults; if ( writeAttributeResults == null ) { writeAttributeResults = new WriteAttributeResults (); } // gather the list of open requests final Map<String, Variant> requests = new HashMap<String, Variant> ( 0 ); for ( final Map.Entry<String, Variant> entry : attributes.entrySet () ) { if ( !writeAttributeResults.containsKey ( entry.getKey () ) ) { requests.put ( entry.getKey (), entry.getValue () ); } } writeAttributeResults.putAll ( this.variable.handleAttributes ( requests ) ); // default for the rest return super.handleUnhandledAttributes ( writeAttributeResults, attributes ); }
writeAttributeResults = new WriteAttributeResults ();
/** * Merge the two result sets * * @param firstResult * first set * @param secondResult * second set * @return the merged result */ protected WriteAttributeResults mergeResults ( final WriteAttributeResults firstResult, final WriteAttributeResults secondResult ) { final WriteAttributeResults newResults = new WriteAttributeResults (); if ( firstResult != null ) { newResults.putAll ( firstResult ); } if ( secondResult != null ) { newResults.putAll ( secondResult ); } return newResults; }
/** * This method sets all unprocessed attribute write requests to an <q>unsupported</q> error ({@link UnsupportedOperationException}); * * @param initialResults * The results generated so far * @param attributes * The attributes to write * @return the initial results including the unprocessed results */ public static WriteAttributeResults errorUnhandled ( final WriteAttributeResults initialResults, final Map<String, Variant> attributes ) { final WriteAttributeResults writeAttributeResults; if ( initialResults == null ) { writeAttributeResults = new WriteAttributeResults (); } else { writeAttributeResults = initialResults; } for ( final String name : attributes.keySet () ) { if ( !writeAttributeResults.containsKey ( name ) ) { writeAttributeResults.put ( name, new WriteAttributeResult ( new UnsupportedOperationException ( "Operation not supported" ) ) ); } } return writeAttributeResults; }
private WriteRequestResult handleAttributesWrite ( final WriteRequest request ) { final Map<String, Variant> attributes = new HashMap<String, Variant> ( request.getAttributes () ); final WriteAttributeResults result = new WriteAttributeResults (); simpleHandleAttributes ( attributes, result, request.getOperationParameters () ); // remove result keys from request for ( final String attr : result.keySet () ) { attributes.remove ( attr ); } return new WriteRequestResult ( request.getValue (), attributes, result ); }
protected WriteAttributeResults processSetAttributes ( final Map<String, Variant> attributes, final OperationParameters operationParameters ) { final WriteAttributeResults writeAttributeResults = new WriteAttributeResults (); for ( final ChainProcessEntry chainEntry : this.chain ) { final ChainItem chainItem = chainEntry.getWhat (); final WriteAttributeResults partialResult = chainItem.setAttributes ( attributes ); if ( partialResult != null ) { for ( final Map.Entry<String, WriteAttributeResult> entry : partialResult.entrySet () ) { if ( entry.getValue ().isError () ) { attributes.remove ( entry.getKey () ); } writeAttributeResults.put ( entry.getKey (), entry.getValue () ); } } } process (); return handleUnhandledAttributes ( writeAttributeResults, attributes ); }
public static WriteAttributeResults convertResults ( final List<AttributeWriteResultEntry> attributeResults ) { final WriteAttributeResults result = new WriteAttributeResults (); for ( final AttributeWriteResultEntry entry : attributeResults ) { result.put ( entry.getAttribute (), convertResult ( entry.getErrorInformation () ) ); } return result; }
@Override protected WriteAttributeResults handleUnhandledAttributes ( final WriteAttributeResults writeAttributeResults, final Map<String, Variant> attributes ) { final AttributeWriteHandler handler = this.writeHandler; WriteAttributeResults result = null; try { result = handler.handleWrite ( attributes ); // remove handled attributes for ( final String attr : result.keySet () ) { attributes.remove ( attr ); } return super.handleUnhandledAttributes ( result, attributes ); } catch ( final Exception e ) { if ( result == null ) { result = new WriteAttributeResults (); } for ( final String attr : attributes.keySet () ) { result.put ( attr, new WriteAttributeResult ( e ) ); } return result; } }
final WriteAttributeResults fullResults = new WriteAttributeResults (); for ( final Map.Entry<String, WriteAttributeResult> entry : result.entrySet () )
private static WriteRequestResult mergeNextResult ( final WriteRequestResult finalResult, final WriteRequestResult nextResult ) { if ( nextResult.getError () != null ) { return nextResult; } // merge current and previous results final WriteAttributeResults result = new WriteAttributeResults (); if ( nextResult.getAttributeResults () != null ) { result.putAll ( nextResult.getAttributeResults () ); } if ( finalResult.getAttributeResults () != null ) { result.putAll ( finalResult.getAttributeResults () ); } return new WriteRequestResult ( nextResult.getValue (), nextResult.getAttributes (), result ); }