www.pudn.com > sxg.rar > GatewayDataRequest.java
/*
* Copyright (c) 2003 Jens Mueller
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2, 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 General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; see the file COPYING. If not, write to
* the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
/**
Data class for representing get-requests on normal SNMP-data
@author Jens Mueller
*/
import java.util.Iterator;
import java.io.PrintWriter;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
public class GatewayDataRequest extends GatewayGetRequest
{
private Document _responseDocument;
/**
builds the response in form of a XML-document and stores it into
_responseDocument. The document ist build by iteratively calling
execute of instances of ContextGetRequest.
@see GatewayGetRequest#buildResponse(MibRepositoryHandler) */
public String buildResponse( MibRepositoryHandler repHandler )
throws RequestExecutionException
{
String debugstr ="";
_responseDocument = DocumentHelper.createDocument();
Element data = _responseDocument.addElement( "snmp-data" );
Iterator iterator = _contextRequestVector.iterator();
ContextGetRequest currContextRequest;
while(iterator.hasNext())
{
currContextRequest = ( ContextGetRequest ) iterator.next();
debugstr += currContextRequest.execute( repHandler );
data.appendContent( currContextRequest.getResultDocument().getRootElement() );
debugstr += "
Adding ResultElement.....
";
}
_responseDocument.addComment( GatewayConf.XML_COMMENT );
return debugstr;
}
public Document getResponseDocument()
{
return _responseDocument;
}
/**
writes textual representation of this request to writer for debugging
@see GatewayGetRequest#dump(PrintWriter) */
public void dump( PrintWriter writer )
{
Iterator iterator = _contextRequestVector.iterator();
while(iterator.hasNext())
{
(( ContextGetRequest ) iterator.next()).dump( writer );
}
}
}