//////////////////////////////////////////////////////////////////////////////// // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU Lesser General Public License as published // by the Free Software Foundation; either version 3 of the License, or (at // your option) any later version. // // This program is distributed in the hope that it will be useful, but // WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY // or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public // License for more details. // // You should have received a copy of the GNU Lesser General Public License // along with this program; if not, see <http://www.gnu.org/copyleft/lesser.html>. // //////////////////////////////////////////////////////////////////////////////// package org.merapi.internal.systemexecute.handlers; import org.merapi.handlers.MessageHandler; import org.merapi.messages.IMessage; import org.merapi.internal.systemexecute.messages.SystemExecuteMessage; public class SystemExecuteMessageHandler extends MessageHandler { //-------------------------------------------------------------------------- // // Constructors // //-------------------------------------------------------------------------- /** * The default constructor */ public SystemExecuteMessageHandler() { super( SystemExecuteMessage.SYSTEM_EXECUTE ); } //-------------------------------------------------------------------------- // // Methods // //-------------------------------------------------------------------------- /** * Handles an <code>IMessage</code> dispatched from the Bridge. */ public void handleMessage( IMessage message ) { if ( message instanceof SystemExecuteMessage ) { SystemExecuteMessage sem = (SystemExecuteMessage)message; // Use the args passed in the message to do a shell exec try { String[] args = sem.getArgs(); Runtime.getRuntime().exec( args ); } catch ( Exception e ) { System.out.println( SystemExecuteMessageHandler.class ); e.printStackTrace(); } } } }