@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 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 Map<String, WriteAttributeResult> handleAttributes ( final Map<String, Variant> requests ) { final Map<String, WriteAttributeResult> result = new HashMap<String, WriteAttributeResult> (); for ( final Map.Entry<String, Variant> entry : requests.entrySet () ) { for ( final Attribute attr : this.attributes ) { if ( attr.getName ().equals ( entry.getKey () ) ) { try { attr.handleWrite ( entry.getValue () ); result.put ( entry.getKey (), WriteAttributeResult.OK ); } catch ( final Throwable e ) { result.put ( entry.getKey (), new WriteAttributeResult ( e ) ); } } } } return result; } }
/** * 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 static WriteAttributeResult convertResult ( final ErrorInformation errorInformation ) { if ( errorInformation == null ) { return WriteAttributeResult.OK; } else { return new WriteAttributeResult ( new OperationException ( errorInformation.getMessage () ).fillInStackTrace () ); } }
@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; } }
result.put ( attr, new WriteAttributeResult ( new OperationException ( String.format ( "Attribute '%s' is not supported", this.dotPrefix + attr ) ) ) ); //$NON-NLS-1$
for ( final String attr : data.keySet () ) result.put ( attr, new WriteAttributeResult ( error ) );