//$HeadURL: https://sushibar/svn/deegree/base/trunk/resources/eclipse/svn_classfile_header_template.xml $ /*---------------- FILE HEADER ------------------------------------------ This file is part of deegree. Copyright (C) 2001-2007 by: Department of Geography, University of Bonn http://www.giub.uni-bonn.de/deegree/ lat/lon GmbH http://www.lat-lon.de This library 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 2.1 of the License, or (at your option) any later version. This library 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 library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Contact: Andreas Poth lat/lon GmbH Aennchenstr. 19 53177 Bonn Germany E-Mail: poth@lat-lon.de Prof. Dr. Klaus Greve Department of Geography University of Bonn Meckenheimer Allee 166 53115 Bonn Germany E-Mail: greve@giub.uni-bonn.de ---------------------------------------------------------------------------*/ package org.deegree.services.wps.process; import java.io.StringWriter; import java.security.MessageDigest; import java.util.Calendar; import org.deegree.model.identifier.IntIdentifier; import org.deegree.processing.commandprocessor.AbstractCommand; import org.deegree.processing.commandprocessor.CommandResult; import org.deegree.processing.commandprocessor.CommandState; import com.sun.corba.se.impl.orbutil.HexOutputStream; /** * TestCommand * * @author Andreas Schmitz * @author last edited by: $Author:$ * * @version $Revision:$, $Date:$ */ public class TestCommand extends AbstractCommand { private byte[] data; String hash; Exception exception; public TestCommand( byte[] data ) { super( new IntIdentifier( 0 ), null ); this.data = data; } /* * (non-Javadoc) * * @see org.deegree.processing.commandprocessor.Command#cancel() */ @Override public void cancel() { // TODO Auto-generated method stub } /* * (non-Javadoc) * * @see org.deegree.processing.commandprocessor.Command#execute() */ @Override public void execute() { MessageDigest digest; try { digest = MessageDigest.getInstance( "md5" ); digest.digest( data ); StringWriter sout = new StringWriter(); HexOutputStream out = new HexOutputStream( sout ); out.write( digest.digest( data ) ); hash = sout.getBuffer().toString(); } catch ( Exception e ) { exception = e; } } CommandState.STATE state; /* * (non-Javadoc) * * @see org.deegree.processing.commandprocessor.Command#getResult() */ @Override public CommandResult getResult() { return new CommandResult() { @Override public CommandState getState() { return new CommandState() { @Override public String getDescription() { // TODO Auto-generated method stub return null; } @Override public Calendar getExecutionFinishedTimestamp() { // TODO Auto-generated method stub return null; } @Override public Calendar getIncomingOrderTimestamp() { // TODO Auto-generated method stub return null; } @Override public long getRealExecutionDuration() { // TODO Auto-generated method stub return 0; } @Override public Calendar getStartExecutionTimestamp() { // TODO Auto-generated method stub return null; } @Override public STATE getState() { if ( exception != null ) { state = STATE.terminatedByException; } return state; // if(hash != null){ // return STATE.finished; // } // return STATE.inqueue ; } @Override public void setState( STATE currentState ) { state = currentState; } }; } @Override public String getValue() { return hash; } }; } /* * (non-Javadoc) * * @see org.deegree.processing.commandprocessor.Command#pause() */ @Override public void pause() { // TODO Auto-generated method stub } /* * (non-Javadoc) * * @see org.deegree.processing.commandprocessor.Command#resume() */ @Override public void resume() { // TODO Auto-generated method stub } /* * (non-Javadoc) * * @see org.deegree.processing.commandprocessor.Command#setPriority(int) */ @Override public void setPriority( int priority ) { // TODO Auto-generated method stub } }