@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; }
protected void handleConfigUpdate ( final Map<String, String> configUpdate, final Map<String, Variant> attributes, final WriteAttributeResults result ) { final Variant active = attributes.get ( this.prefix + ".active" ); if ( active != null ) { configUpdate.put ( "active", active.asBoolean () ? "true" : "false" ); result.put ( intern ( this.prefix + ".active" ), WriteAttributeResult.OK ); } }
@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 ); }
writeAttributeResults.put ( name, WriteAttributeResult.OK );
/** * 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; }
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; } }