CADI.Server.Network
Class JPIPRequestDecoder

java.lang.Object
  extended by CADI.Server.Network.JPIPRequestDecoder
All Implemented Interfaces:
ImageReturnTypes, StatusCodes

public class JPIPRequestDecoder
extends java.lang.Object
implements StatusCodes, ImageReturnTypes

This class implements a JPIP request parameters decoder.

Version:
1.0 2007/10/26
Author:
Group on Interactive Coding of Images (GICI)

Field Summary
private  JPIPRequestFields jpipRequestFields
          This object contains the JPIP request fields of the lastest decoded URI.
(package private)  boolean[] parametersFound
           
private static java.lang.String[] parametersSpecification
          Contains all possible parameter names which can appear in the client request.
private  java.net.URI uri
          Is the lastest decoder URI.
 
Fields inherited from interface CADI.Common.Network.HTTP.StatusCodes
ACCEPTED, BAD_REQUEST, NOT_FOUND, NOT_IMPLEMENTED, OK, SERVICE_UNAVAILABLE, UNSUPPORTED_MEDIA_TYPE
 
Fields inherited from interface CADI.Common.Defaults.ImageReturnTypes
JPP_STREAM, JPT_STREAM, MAX_IMAGE_RETURN_TYPES_ALLOWED, RAW
 
Constructor Summary
JPIPRequestDecoder()
          Constructor.
 
Method Summary
private  void alignParser(java.lang.String align)
           
private  void capParser(java.lang.String cap)
           
private  void channelCloseParser(java.lang.String cclose)
           
private  void channelIDParser(java.lang.String cid)
           
private  void channelNewParser(java.lang.String cnew)
           
private  void compsParser(java.lang.String comps)
           
private  void contextParser(java.lang.String context)
           
private  void csfParser(java.lang.String csf)
           
 void decoder(java.lang.String requestURI)
          Decodes an URI.
private  void drateParser(java.lang.String drate)
           
private  void fsizParser(java.lang.String fsiz)
           
 JPIPRequestFields getJPIPRequestFields()
          Gets the JPIP request fields of the latest decoded URI.
 ViewWindowField getViewWindow()
          Gets the View Window of the latest decoded URI.
private  CacheDescriptor ImplicitFormModelParser(java.lang.String element)
           
private  void layersParser(java.lang.String layers)
           
private  void lenParser(java.lang.String len)
           
private  void metareqParser(java.lang.String metareq)
           
private  void modelParser(java.lang.String model)
           
private  void msetParser(java.lang.String mset)
          Parsers the mset parameter.
private  void needParser(java.lang.String need)
           
private  void ParameterParser(java.lang.String key, java.lang.String value)
          Parses a JPIP request parameter.
private  void prefParser(java.lang.String pef)
           
private  void qualityParser(java.lang.String quality)
           
private  void requestIDParser(java.lang.String qid)
           
 void reset()
          Sets the attributes to its initial values.
private  void roffParser(java.lang.String roff)
           
private  void roiParser(java.lang.String roi)
           
private  void rsizParser(java.lang.String rsiz)
           
private  void srateParser(java.lang.String srate)
           
private  void streamParser(java.lang.String stream)
           
private  void subTargetParser(java.lang.String subTarget)
           
private  void targetIDParser(java.lang.String tid)
           
private  void targetParser(java.lang.String target)
           
private  void tpmodelParser(java.lang.String tpmodel)
           
private  void tpneedParser(java.lang.String tpneed)
           
private  void typeParser(java.lang.String type)
           
private  void uploadParser(java.lang.String upload)
           
private  void waitParser(java.lang.String wait)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

uri

private java.net.URI uri
Is the lastest decoder URI.


jpipRequestFields

private JPIPRequestFields jpipRequestFields
This object contains the JPIP request fields of the lastest decoded URI.


parametersSpecification

private static final java.lang.String[] parametersSpecification
Contains all possible parameter names which can appear in the client request. Each parameter definition at


parametersFound

boolean[] parametersFound
Constructor Detail

JPIPRequestDecoder

public JPIPRequestDecoder()
Constructor.

Method Detail

decoder

public void decoder(java.lang.String requestURI)
             throws WarningException
Decodes an URI.

Parameters:
requestURI - the URI to be decoded.
Throws:
WarningException - when an error is found

reset

public void reset()
Sets the attributes to its initial values.


getViewWindow

public ViewWindowField getViewWindow()
Gets the View Window of the latest decoded URI.

Returns:
the view window.

getJPIPRequestFields

public JPIPRequestFields getJPIPRequestFields()
Gets the JPIP request fields of the latest decoded URI.

Returns:
the JPIP request fields.

ParameterParser

private void ParameterParser(java.lang.String key,
                             java.lang.String value)
                      throws WarningException
Parses a JPIP request parameter.

Parameters:
key - parameter name
value - parameter value
Throws:
WarningException - when the request element is wrong

targetParser

private void targetParser(java.lang.String target)
Parameters:
target - definition in TargetField.target

subTargetParser

private void subTargetParser(java.lang.String subTarget)
                      throws ParameterException
Parameters:
subTarget - definition in TargetField.subtarget
Throws:
ParameterException - when the request element is wrong

targetIDParser

private void targetIDParser(java.lang.String tid)
                     throws ParameterException
Parameters:
tid - definition in TargetField.tid
Throws:
java.lang.Exception - when the request element is wrong
ParameterException

channelIDParser

private void channelIDParser(java.lang.String cid)
                      throws ParameterException
Parameters:
cid - definition in ChannelField.cid
Throws:
ParameterException - when the request element is wrong

channelNewParser

private void channelNewParser(java.lang.String cnew)
                       throws ParameterException
Parameters:
cnew - definition in ChannelField.cnew
Throws:
ParameterException - when the request element is wrong

channelCloseParser

private void channelCloseParser(java.lang.String cclose)
                         throws ParameterException
Parameters:
cclose - definition in ChannelField.cclose
Throws:
ParameterException - when the request element is wrong

requestIDParser

private void requestIDParser(java.lang.String qid)
                      throws ParameterException
Parameters:
qid - defined in ChannelField.qid
Throws:
ParameterException - when the request element is wrong

fsizParser

private void fsizParser(java.lang.String fsiz)
                 throws ParameterException
Parameters:
fsiz - defined in ViewWindowField.fsiz
Throws:
ParameterException - when the request element is wrong

roffParser

private void roffParser(java.lang.String roff)
                 throws ParameterException
Parameters:
roff - defined in ViewWindowField.roff
Throws:
ParameterException - when the request element is wrong

rsizParser

private void rsizParser(java.lang.String rsiz)
                 throws ParameterException
Parameters:
rsiz - defined in ViewWindowField.rsiz
Throws:
ParameterException - when the request element is wrong

compsParser

private void compsParser(java.lang.String comps)
                  throws ParameterException
Parameters:
comps - definition in ViewWindowField.comps
Throws:
ParameterException - when the request element is wrong

streamParser

private void streamParser(java.lang.String stream)
                   throws ParameterException
Parameters:
stream - defined in ViewWindowField.stream
Throws:
ParameterException - when the request element is wrong

contextParser

private void contextParser(java.lang.String context)
                    throws ParameterException
Parameters:
context - defined in ViewWindowField.context
Throws:
ParameterException - when the request element is wrong

srateParser

private void srateParser(java.lang.String srate)
                  throws ParameterException
Parameters:
srate - defined in ViewWindowField.srate
Throws:
ParameterException

roiParser

private void roiParser(java.lang.String roi)
Parameters:
roi - defined in ViewWindowField.roi
Throws:
ParameterException

layersParser

private void layersParser(java.lang.String layers)
                   throws ParameterException
Parameters:
layers - defined in ViewWindowField.layers
Throws:
ParameterException - when the request element is wrong

metareqParser

private void metareqParser(java.lang.String metareq)
Parameters:
metareq - defined in JPIPRequestFields
Throws:
ParameterException - when the request element is wrong

lenParser

private void lenParser(java.lang.String len)
                throws ParameterException
Parameters:
len - defined in DataLimitField.len
Throws:
ParameterException - when the request element is wrong

qualityParser

private void qualityParser(java.lang.String quality)
                    throws ParameterException
Parameters:
quality - defined in DataLimitField.quality
Throws:
ParameterException - when the request element is wrong

alignParser

private void alignParser(java.lang.String align)
                  throws ParameterException
Parameters:
align - defined in ServerControlField.align
Throws:
ParameterException - when the request element is wrong

waitParser

private void waitParser(java.lang.String wait)
                 throws ParameterException
Parameters:
wait - defined in ServerControlField.wait
Throws:
ParameterException - when the request element is wrong

typeParser

private void typeParser(java.lang.String type)
                 throws ParameterException
Parameters:
type - defined in ServerControlField.type
Throws:
ParameterException - when the request element is wrong

drateParser

private void drateParser(java.lang.String drate)
                  throws ParameterException
Parameters:
drate - defined in ServerControlField.drate
Throws:
ParameterException - when the request element is wrong

modelParser

private void modelParser(java.lang.String model)
                  throws ParameterException
Parameters:
model - definition in CacheManagementField.model
Throws:
ParameterException - when the request element is wrong

ImplicitFormModelParser

private CacheDescriptor ImplicitFormModelParser(java.lang.String element)
                                         throws ParameterException
Parameters:
element - definition in CacheManagementField.model
Throws:
ParameterException - when the request element is wrong

tpmodelParser

private void tpmodelParser(java.lang.String tpmodel)
Parameters:
tpmodel - definition in CacheManagementField.tpmodel
Throws:
ParameterException

needParser

private void needParser(java.lang.String need)
Parameters:
need - definition in CacheManagementField.need
Throws:
ParameterException

tpneedParser

private void tpneedParser(java.lang.String tpneed)
Parameters:
tpneed - definition in CacheManagementField.tpneed
Throws:
ParameterException

msetParser

private void msetParser(java.lang.String mset)
                 throws ParameterException
Parsers the mset parameter.

Parameters:
mset - definition in CacheManagementField.mset
Throws:
ParameterException

uploadParser

private void uploadParser(java.lang.String upload)
Parameters:
upload - definition in JPIPRequestFields.upload
Throws:
ParameterException - when the request element is wrong

capParser

private void capParser(java.lang.String cap)
Parameters:
cap - defined in ClientCapPrefField.cap
Throws:
ParameterException - when the request element is wrong

prefParser

private void prefParser(java.lang.String pef)
Parameters:
pef - defined in ClientCapPrefField.pref
Throws:
ParameterException - when the request element is wrong

csfParser

private void csfParser(java.lang.String csf)
Parameters:
csf - defined in ClientCapPrefField.csf
Throws:
ParameterException - when the request element is wrong


CADI - Copyright (C) 2007
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 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 General Public License for more details.

Group on Interactive Coding of Images (GICI) (contact)