/** * */ package com.grendelscan.commons.flex.messages; import com.grendelscan.commons.flex.AbstractAmfDataContainer; import com.grendelscan.commons.flex.AmfPrimitiveData; import com.grendelscan.commons.flex.dataTypeDefinitions.AmfDataType; import flex.messaging.messages.RemotingMessage; /** * @author david * */ public class AmfRemotingMessage extends AmfAbstractMessage { /** * */ private static final long serialVersionUID = 1L; private final static String REMOTE_USERNAME = "Remote username"; private final static String REMOTE_PASSWORD = "Remote password"; private final static String SOURCE = "source"; private final static String OPERATION = "operation"; private final AmfPrimitiveData source; private final AmfPrimitiveData operation; private final AmfPrimitiveData remoteUsername; private final AmfPrimitiveData remotePassword; public AmfRemotingMessage(final String name, final AbstractAmfDataContainer<?> parent, final int transactionId) { super(name, AmfDataType.kAmfRemotingMessage, false, parent, transactionId); remoteUsername = new AmfPrimitiveData(REMOTE_USERNAME, new byte[0], this, transactionId, true); remotePassword = new AmfPrimitiveData(REMOTE_PASSWORD, new byte[0], this, transactionId, true); source = new AmfPrimitiveData(SOURCE, new byte[0], this, transactionId, true); operation = new AmfPrimitiveData(OPERATION, new byte[0], this, transactionId, true); putChild(REMOTE_USERNAME, remoteUsername); putChild(REMOTE_PASSWORD, remotePassword); putChild(SOURCE, source); putChild(OPERATION, operation); } /** * @param name * @param message * @param parent * @param type * @param className */ public AmfRemotingMessage(final String name, final RemotingMessage message, final AbstractAmfDataContainer<?> parent, final int transactionId) { super(name, message, AmfDataType.kAmfRemotingMessage, message.getClass().getCanonicalName(), parent, transactionId); remoteUsername = new AmfPrimitiveData(REMOTE_USERNAME, message.getRemoteUsername().getBytes(), this, transactionId, true); remotePassword = new AmfPrimitiveData(REMOTE_PASSWORD, message.getRemotePassword().getBytes(), this, transactionId, true); source = new AmfPrimitiveData(SOURCE, message.getSource().getBytes(), this, transactionId, true); operation = new AmfPrimitiveData(OPERATION, message.getOperation().getBytes(), this, transactionId, true); putChild(REMOTE_USERNAME, remoteUsername); putChild(REMOTE_PASSWORD, remotePassword); putChild(SOURCE, source); putChild(OPERATION, operation); } @Override protected String getBodyDisplayName() { return "parameters"; } // @Override // protected ArrayList<String> getParameterNames() // { // // operation // // parameters // // remotePassword // // remoteUsername // // source // // ArrayList<String> names = super.getParameterNames(); // names.add(OPERATION); // names.add(REMOTE_PASSWORD); // names.add(REMOTE_USERNAME); // names.add(SOURCE); // return names; // } }