Omaha #3185 support for new DAF methods from pure python

Change-Id: Ic39128a015da3a1d6ae5489b7f9b2f600123b013

Former-commit-id: 04a79146b012db8641461413f7aad9b52465161a
This commit is contained in:
Nate Jensen 2014-07-24 09:10:17 -05:00
parent a03474e85b
commit 342a0e795b
15 changed files with 577 additions and 13 deletions

View file

@ -19,6 +19,46 @@
<constructor-arg ref="availableTimesHandler" />
</bean>
<bean id="availableParametersHandler"
class="com.raytheon.uf.edex.dataaccess.handler.GetAvailableParametersHandler" />
<bean factory-bean="handlerRegistry" factory-method="register">
<constructor-arg
value="com.raytheon.uf.common.dataaccess.request.GetAvailableParametersRequest" />
<constructor-arg ref="availableParametersHandler" />
</bean>
<bean id="availableLevelsHandler"
class="com.raytheon.uf.edex.dataaccess.handler.GetAvailableLevelsHandler" />
<bean factory-bean="handlerRegistry" factory-method="register">
<constructor-arg
value="com.raytheon.uf.common.dataaccess.request.GetAvailableLevelsRequest" />
<constructor-arg ref="availableLevelsHandler" />
</bean>
<bean id="requiredIdentifiersHandler"
class="com.raytheon.uf.edex.dataaccess.handler.GetRequiredIdentifiersHandler" />
<bean factory-bean="handlerRegistry" factory-method="register">
<constructor-arg
value="com.raytheon.uf.common.dataaccess.request.GetRequiredIdentifiersRequest" />
<constructor-arg ref="requiredIdentifiersHandler" />
</bean>
<bean id="validIdentifiersHandler"
class="com.raytheon.uf.edex.dataaccess.handler.GetValidIdentifiersHandler" />
<bean factory-bean="handlerRegistry" factory-method="register">
<constructor-arg
value="com.raytheon.uf.common.dataaccess.request.GetValidIdentifiersRequest" />
<constructor-arg ref="validIdentifiersHandler" />
</bean>
<bean id="supportedDatatypesHandler"
class="com.raytheon.uf.edex.dataaccess.handler.GetSupportedDatatypesHandler" />
<bean factory-bean="handlerRegistry" factory-method="register">
<constructor-arg
value="com.raytheon.uf.common.dataaccess.request.GetSupportedDatatypesRequest" />
<constructor-arg ref="supportedDatatypesHandler" />
</bean>
<bean id="getGeometryDataHandler"
class="com.raytheon.uf.edex.dataaccess.handler.GetGeometryDataHandler" />
<bean factory-bean="handlerRegistry" factory-method="register">

View file

@ -0,0 +1,54 @@
/**
* This software was developed and / or modified by Raytheon Company,
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
*
* U.S. EXPORT CONTROLLED TECHNICAL DATA
* This software product contains export-restricted data whose
* export/transfer/disclosure is restricted by U.S. law. Dissemination
* to non-U.S. persons whether in the United States or abroad requires
* an export license or other authorization.
*
* Contractor Name: Raytheon Company
* Contractor Address: 6825 Pine Street, Suite 340
* Mail Stop B8
* Omaha, NE 68106
* 402.291.0100
*
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
* further licensing information.
**/
package com.raytheon.uf.edex.dataaccess.handler;
import com.raytheon.uf.common.dataaccess.DataAccessLayer;
import com.raytheon.uf.common.dataaccess.request.GetAvailableLevelsRequest;
import com.raytheon.uf.common.dataplugin.level.Level;
import com.raytheon.uf.common.serialization.comm.IRequestHandler;
/**
* Request handler for <code>GetAvailableLevelsRequest</code>.
*
* <pre>
*
* SOFTWARE HISTORY
*
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* Jul 23, 2014 3185 njensen Initial creation
*
* </pre>
*
* @author njensen
* @version 1.0
*/
public class GetAvailableLevelsHandler implements
IRequestHandler<GetAvailableLevelsRequest> {
@Override
public Level[] handleRequest(GetAvailableLevelsRequest request)
throws Exception {
return DataAccessLayer.getAvailableLevels(request
.getRequestParameters());
}
}

View file

@ -0,0 +1,53 @@
/**
* This software was developed and / or modified by Raytheon Company,
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
*
* U.S. EXPORT CONTROLLED TECHNICAL DATA
* This software product contains export-restricted data whose
* export/transfer/disclosure is restricted by U.S. law. Dissemination
* to non-U.S. persons whether in the United States or abroad requires
* an export license or other authorization.
*
* Contractor Name: Raytheon Company
* Contractor Address: 6825 Pine Street, Suite 340
* Mail Stop B8
* Omaha, NE 68106
* 402.291.0100
*
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
* further licensing information.
**/
package com.raytheon.uf.edex.dataaccess.handler;
import com.raytheon.uf.common.dataaccess.DataAccessLayer;
import com.raytheon.uf.common.dataaccess.request.GetAvailableParametersRequest;
import com.raytheon.uf.common.serialization.comm.IRequestHandler;
/**
* Request handler for <code>GetAvailableParametersRequest</code>.
*
* <pre>
*
* SOFTWARE HISTORY
*
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* Jul 23, 2014 3185 njensen Initial creation
*
* </pre>
*
* @author njensen
* @version 1.0
*/
public class GetAvailableParametersHandler implements
IRequestHandler<GetAvailableParametersRequest> {
@Override
public String[] handleRequest(GetAvailableParametersRequest request)
throws Exception {
return DataAccessLayer.getAvailableParameters(request
.getRequestParameters());
}
}

View file

@ -0,0 +1,52 @@
/**
* This software was developed and / or modified by Raytheon Company,
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
*
* U.S. EXPORT CONTROLLED TECHNICAL DATA
* This software product contains export-restricted data whose
* export/transfer/disclosure is restricted by U.S. law. Dissemination
* to non-U.S. persons whether in the United States or abroad requires
* an export license or other authorization.
*
* Contractor Name: Raytheon Company
* Contractor Address: 6825 Pine Street, Suite 340
* Mail Stop B8
* Omaha, NE 68106
* 402.291.0100
*
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
* further licensing information.
**/
package com.raytheon.uf.edex.dataaccess.handler;
import com.raytheon.uf.common.dataaccess.DataAccessLayer;
import com.raytheon.uf.common.dataaccess.request.GetRequiredIdentifiersRequest;
import com.raytheon.uf.common.serialization.comm.IRequestHandler;
/**
* Request handler for <code>GetRequiredIdentifiersRequest</code>.
*
* <pre>
*
* SOFTWARE HISTORY
*
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* Jul 23, 2014 3185 njensen Initial creation
*
* </pre>
*
* @author njensen
* @version 1.0
*/
public class GetRequiredIdentifiersHandler implements
IRequestHandler<GetRequiredIdentifiersRequest> {
@Override
public String[] handleRequest(GetRequiredIdentifiersRequest request)
throws Exception {
return DataAccessLayer.getRequiredIdentifiers(request.getDatatype());
}
}

View file

@ -0,0 +1,52 @@
/**
* This software was developed and / or modified by Raytheon Company,
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
*
* U.S. EXPORT CONTROLLED TECHNICAL DATA
* This software product contains export-restricted data whose
* export/transfer/disclosure is restricted by U.S. law. Dissemination
* to non-U.S. persons whether in the United States or abroad requires
* an export license or other authorization.
*
* Contractor Name: Raytheon Company
* Contractor Address: 6825 Pine Street, Suite 340
* Mail Stop B8
* Omaha, NE 68106
* 402.291.0100
*
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
* further licensing information.
**/
package com.raytheon.uf.edex.dataaccess.handler;
import com.raytheon.uf.common.dataaccess.DataAccessLayer;
import com.raytheon.uf.common.dataaccess.request.GetSupportedDatatypesRequest;
import com.raytheon.uf.common.serialization.comm.IRequestHandler;
/**
* Request handler for <code>GetSupportedDatatypesRequest</code>.
*
* <pre>
*
* SOFTWARE HISTORY
*
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* Jul 23, 2014 3185 njensen Initial creation
*
* </pre>
*
* @author njensen
* @version 1.0
*/
public class GetSupportedDatatypesHandler implements
IRequestHandler<GetSupportedDatatypesRequest> {
@Override
public String[] handleRequest(GetSupportedDatatypesRequest request)
throws Exception {
return DataAccessLayer.getSupportedDatatypes();
}
}

View file

@ -0,0 +1,52 @@
/**
* This software was developed and / or modified by Raytheon Company,
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
*
* U.S. EXPORT CONTROLLED TECHNICAL DATA
* This software product contains export-restricted data whose
* export/transfer/disclosure is restricted by U.S. law. Dissemination
* to non-U.S. persons whether in the United States or abroad requires
* an export license or other authorization.
*
* Contractor Name: Raytheon Company
* Contractor Address: 6825 Pine Street, Suite 340
* Mail Stop B8
* Omaha, NE 68106
* 402.291.0100
*
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
* further licensing information.
**/
package com.raytheon.uf.edex.dataaccess.handler;
import com.raytheon.uf.common.dataaccess.DataAccessLayer;
import com.raytheon.uf.common.dataaccess.request.GetValidIdentifiersRequest;
import com.raytheon.uf.common.serialization.comm.IRequestHandler;
/**
* Request handler for <code>GetValidIdentifiersRequest</code>.
*
* <pre>
*
* SOFTWARE HISTORY
*
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* Jul 23, 2014 3185 njensen Initial creation
*
* </pre>
*
* @author njensen
* @version 1.0
*/
public class GetValidIdentifiersHandler implements
IRequestHandler<GetValidIdentifiersRequest> {
@Override
public String[] handleRequest(GetValidIdentifiersRequest request)
throws Exception {
return DataAccessLayer.getValidIdentifiers(request.getDatatype());
}
}

View file

@ -102,6 +102,7 @@ class JDataRequest(IDataRequest, JUtil.JavaWrapperClass):
env = None
jenv = self.jobj.getEnvelope()
if jenv:
import shapely
from com.vividsolutions.jts.geom import GeometryFactory
env = shapely.wkt.loads(GeometryFactory().toGeometry(jenv).toText())
return env

View file

@ -0,0 +1,45 @@
##
# This software was developed and / or modified by Raytheon Company,
# pursuant to Contract DG133W-05-CQ-1067 with the US Government.
#
# U.S. EXPORT CONTROLLED TECHNICAL DATA
# This software product contains export-restricted data whose
# export/transfer/disclosure is restricted by U.S. law. Dissemination
# to non-U.S. persons whether in the United States or abroad requires
# an export license or other authorization.
#
# Contractor Name: Raytheon Company
# Contractor Address: 6825 Pine Street, Suite 340
# Mail Stop B8
# Omaha, NE 68106
# 402.291.0100
#
# See the AWIPS II Master Rights File ("Master Rights File.pdf") for
# further licensing information.
##
# File auto-generated against equivalent DynamicSerialize Java class
# and then modified post-generation to make it a abstract base class.
#
# SOFTWARE HISTORY
#
# Date Ticket# Engineer Description
# ------------ ---------- ----------- --------------------------
# 07/23/14 #3185 njensen Initial Creation.
#
#
import abc
class AbstractIdentifierRequest(object):
__metaclass__ = abc.ABCMeta
def __init__(self):
self.datatype = None
def getDatatype(self):
return self.datatype
def setDatatype(self, datatype):
self.datatype = datatype

View file

@ -0,0 +1,38 @@
##
# This software was developed and / or modified by Raytheon Company,
# pursuant to Contract DG133W-05-CQ-1067 with the US Government.
#
# U.S. EXPORT CONTROLLED TECHNICAL DATA
# This software product contains export-restricted data whose
# export/transfer/disclosure is restricted by U.S. law. Dissemination
# to non-U.S. persons whether in the United States or abroad requires
# an export license or other authorization.
#
# Contractor Name: Raytheon Company
# Contractor Address: 6825 Pine Street, Suite 340
# Mail Stop B8
# Omaha, NE 68106
# 402.291.0100
#
# See the AWIPS II Master Rights File ("Master Rights File.pdf") for
# further licensing information.
##
# File auto-generated against equivalent DynamicSerialize Java class
# and then modified post-generation to make it sub class
# AbstractDataAccessRequest.
#
# SOFTWARE HISTORY
#
# Date Ticket# Engineer Description
# ------------ ---------- ----------- --------------------------
# 07/23/14 #3185 njensen Initial Creation.
#
#
from dynamicserialize.dstypes.com.raytheon.uf.common.dataaccess.request import AbstractDataAccessRequest
class GetAvailableLevelsRequest(AbstractDataAccessRequest):
def __init__(self):
super(GetAvailableLevelsRequest, self).__init__()

View file

@ -0,0 +1,38 @@
##
# This software was developed and / or modified by Raytheon Company,
# pursuant to Contract DG133W-05-CQ-1067 with the US Government.
#
# U.S. EXPORT CONTROLLED TECHNICAL DATA
# This software product contains export-restricted data whose
# export/transfer/disclosure is restricted by U.S. law. Dissemination
# to non-U.S. persons whether in the United States or abroad requires
# an export license or other authorization.
#
# Contractor Name: Raytheon Company
# Contractor Address: 6825 Pine Street, Suite 340
# Mail Stop B8
# Omaha, NE 68106
# 402.291.0100
#
# See the AWIPS II Master Rights File ("Master Rights File.pdf") for
# further licensing information.
##
# File auto-generated against equivalent DynamicSerialize Java class
# and then modified post-generation to make it sub class
# AbstractDataAccessRequest.
#
# SOFTWARE HISTORY
#
# Date Ticket# Engineer Description
# ------------ ---------- ----------- --------------------------
# 07/23/14 #3185 njensen Initial Creation.
#
#
from dynamicserialize.dstypes.com.raytheon.uf.common.dataaccess.request import AbstractDataAccessRequest
class GetAvailableParametersRequest(AbstractDataAccessRequest):
def __init__(self):
super(GetAvailableParametersRequest, self).__init__()

View file

@ -0,0 +1,38 @@
##
# This software was developed and / or modified by Raytheon Company,
# pursuant to Contract DG133W-05-CQ-1067 with the US Government.
#
# U.S. EXPORT CONTROLLED TECHNICAL DATA
# This software product contains export-restricted data whose
# export/transfer/disclosure is restricted by U.S. law. Dissemination
# to non-U.S. persons whether in the United States or abroad requires
# an export license or other authorization.
#
# Contractor Name: Raytheon Company
# Contractor Address: 6825 Pine Street, Suite 340
# Mail Stop B8
# Omaha, NE 68106
# 402.291.0100
#
# See the AWIPS II Master Rights File ("Master Rights File.pdf") for
# further licensing information.
##
# File auto-generated against equivalent DynamicSerialize Java class
# and then modified post-generation to make it sub class
# AbstractIdentifierRequest.
#
# SOFTWARE HISTORY
#
# Date Ticket# Engineer Description
# ------------ ---------- ----------- --------------------------
# 07/23/14 #3185 njensen Initial Creation.
#
#
from dynamicserialize.dstypes.com.raytheon.uf.common.dataaccess.request import AbstractIdentifierRequest
class GetRequiredIdentifiersRequest(AbstractIdentifierRequest):
def __init__(self):
super(GetRequiredIdentifiersRequest, self).__init__()

View file

@ -0,0 +1,36 @@
##
# This software was developed and / or modified by Raytheon Company,
# pursuant to Contract DG133W-05-CQ-1067 with the US Government.
#
# U.S. EXPORT CONTROLLED TECHNICAL DATA
# This software product contains export-restricted data whose
# export/transfer/disclosure is restricted by U.S. law. Dissemination
# to non-U.S. persons whether in the United States or abroad requires
# an export license or other authorization.
#
# Contractor Name: Raytheon Company
# Contractor Address: 6825 Pine Street, Suite 340
# Mail Stop B8
# Omaha, NE 68106
# 402.291.0100
#
# See the AWIPS II Master Rights File ("Master Rights File.pdf") for
# further licensing information.
##
# File auto-generated against equivalent DynamicSerialize Java class
# and then modified to do nothing on __init__.
#
# SOFTWARE HISTORY
#
# Date Ticket# Engineer Description
# ------------ ---------- ----------- --------------------------
# 07/23/14 #3185 njensen Initial Creation.
#
#
class GetSupportedDatatypesRequest(object):
def __init__(self):
pass

View file

@ -0,0 +1,39 @@
##
# This software was developed and / or modified by Raytheon Company,
# pursuant to Contract DG133W-05-CQ-1067 with the US Government.
#
# U.S. EXPORT CONTROLLED TECHNICAL DATA
# This software product contains export-restricted data whose
# export/transfer/disclosure is restricted by U.S. law. Dissemination
# to non-U.S. persons whether in the United States or abroad requires
# an export license or other authorization.
#
# Contractor Name: Raytheon Company
# Contractor Address: 6825 Pine Street, Suite 340
# Mail Stop B8
# Omaha, NE 68106
# 402.291.0100
#
# See the AWIPS II Master Rights File ("Master Rights File.pdf") for
# further licensing information.
##
# File auto-generated against equivalent DynamicSerialize Java class
# and then modified post-generation to make it sub class
# AbstractIdentifierRequest.
#
# SOFTWARE HISTORY
#
# Date Ticket# Engineer Description
# ------------ ---------- ----------- --------------------------
# 07/23/14 #3185 njensen Initial Creation.
#
#
from dynamicserialize.dstypes.com.raytheon.uf.common.dataaccess.request import AbstractIdentifierRequest
class GetValidIdentifiersRequest(AbstractIdentifierRequest):
def __init__(self):
super(GetValidIdentifiersRequest, self).__init__()

View file

@ -22,15 +22,27 @@
__all__ = [
'AbstractDataAccessRequest',
'AbstractIdentifierRequest',
'GetAvailableLevelsRequest',
'GetAvailableLocationNamesRequest',
'GetAvailableParametersRequest',
'GetAvailableTimesRequest',
'GetGeometryDataRequest',
'GetGridDataRequest'
'GetGridDataRequest',
'GetRequiredIdentifiersRequest',
'GetSupportedDatatypesRequest',
'GetValidIdentifiersRequest'
]
from AbstractDataAccessRequest import AbstractDataAccessRequest
from AbstractIdentifierRequest import AbstractIdentifierRequest
from GetAvailableLevelsRequest import GetAvailableLevelsRequest
from GetAvailableLocationNamesRequest import GetAvailableLocationNamesRequest
from GetAvailableParametersRequest import GetAvailableParametersRequest
from GetAvailableTimesRequest import GetAvailableTimesRequest
from GetGeometryDataRequest import GetGeometryDataRequest
from GetGridDataRequest import GetGridDataRequest
from GetRequiredIdentifiersRequest import GetRequiredIdentifiersRequest
from GetSupportedDatatypesRequest import GetSupportedDatatypesRequest
from GetValidIdentifiersRequest import GetValidIdentifiersRequest

View file

@ -30,7 +30,8 @@
# 05/21/13 #2023 dgilling Initial Creation.
# 01/06/14 #2537 bsteffen Share geometry WKT.
# 03/03/14 #2673 bsteffen Add ability to query only ref times.
# 07/22/14 3185 njensen Added optional/default args to newDataRequest
# 07/22/14 #3185 njensen Added optional/default args to newDataRequest
# 07/23/14 #3185 njensen Added new methods
#
@ -42,6 +43,11 @@ from dynamicserialize.dstypes.com.raytheon.uf.common.dataaccess.request import G
from dynamicserialize.dstypes.com.raytheon.uf.common.dataaccess.request import GetAvailableTimesRequest
from dynamicserialize.dstypes.com.raytheon.uf.common.dataaccess.request import GetGeometryDataRequest
from dynamicserialize.dstypes.com.raytheon.uf.common.dataaccess.request import GetGridDataRequest
from dynamicserialize.dstypes.com.raytheon.uf.common.dataaccess.request import GetAvailableParametersRequest
from dynamicserialize.dstypes.com.raytheon.uf.common.dataaccess.request import GetAvailableLevelsRequest
from dynamicserialize.dstypes.com.raytheon.uf.common.dataaccess.request import GetRequiredIdentifiersRequest
from dynamicserialize.dstypes.com.raytheon.uf.common.dataaccess.request import GetValidIdentifiersRequest
from dynamicserialize.dstypes.com.raytheon.uf.common.dataaccess.request import GetSupportedDatatypesRequest
from ufpy import ThriftClient
from ufpy.dataaccess import PyGeometryData
@ -120,20 +126,28 @@ class ThriftClientRouter(object):
return response
def getAvailableParameters(self, request):
# TODO
raise Exception('Not implemented yet')
paramReq = GetAvailableParametersRequest()
paramReq.setRequestParameters(request)
response = self._client.sendRequest(paramReq)
return response
def getAvailableLevels(self, request):
# TODO
raise Exception('Not implemented yet')
levelReq = GetAvailableLevelsRequest()
levelReq.setRequestParameters(request)
response = self._client.sendRequest(levelReq)
return response
def getRequiredIdentifiers(self, datatype):
# TODO
raise Exception('Not implemented yet')
idReq = GetRequiredIdentifiersRequest()
idReq.setDatatype(datatype)
response = self._client.sendRequest(idReq)
return response
def getValidIdentifiers(self, datatype):
# TODO
raise Exception('Not implemented yet')
idReq = GetValidIdentifiersRequest()
idReq.setDatatype(datatype)
response = self._client.sendRequest(idReq)
return response
def newDataRequest(self, datatype, parameters=[], levels=[], locationNames = [], envelope=None, **kwargs):
req = DefaultDataRequest()
@ -153,5 +167,5 @@ class ThriftClientRouter(object):
return req
def getSupportedDatatypes(self):
# TODO
raise Exception('Not implemented yet')
response = self._client.sendRequest(GetSupportedDatatypesRequest())
return response