/** Record all values of properties of a 'MessageType' variable for efficient lookup. */ private void writeProperties(VariableInstance variable, Node value) { if (variable.declaration.type instanceof OMessageVarType) { for (OProcess.OProperty property : variable.declaration.getOwner().properties) { OProcess.OPropertyAlias alias = property.getAlias(variable.declaration.type); if (alias != null) { try { String val = extractProperty((Element) value, alias, variable.declaration.getDescription()); if (val != null) _brc.writeVariableProperty(variable, property.name, val); } catch (UninitializedVariableException uve) { // This really should not happen, since we are writing to a variable that we just // modified. __log.fatal( "Couldn't extract property '" + property.toString() + "' in property pre-extraction: " + uve); throw new RuntimeException(uve); } catch (FaultException e) { // This will fail as we're basically trying to extract properties on all received // messages // for optimization purposes. if (__log.isDebugEnabled()) __log.debug( "Couldn't extract property '" + property.toString() + "' in property pre-extraction: " + e.toString()); } } } } }