Issue #1761: Refactor SendGridsToNDFD to use ExportGridsRequest, refactor
ExportGridsRequest to use enum for mode, revert NATIONAL_CENTER changes to svcbu export_grids script. Export grids cron will now read svcbu.properties for a PRIMARY_SITES setting to determine sites to export for. Change-Id: Ie9454f1de0f00f9ee89723599accc90ac1536fe0 Former-commit-id:177fef7062
[formerly243a83b348
] [formerly177fef7062
[formerly243a83b348
] [formerly772138b748
[formerly 181bb2914ea8c9e4f20e442e78826336d52cf400]]] Former-commit-id:772138b748
Former-commit-id:c6f32608a3
[formerlye8ec527572
] Former-commit-id:673c91ae6a
This commit is contained in:
parent
d0b4572fbb
commit
2c9c6f0fb4
13 changed files with 383 additions and 385 deletions
|
@ -20,6 +20,7 @@
|
||||||
package com.raytheon.viz.gfe.dialogs.sbu.jobs;
|
package com.raytheon.viz.gfe.dialogs.sbu.jobs;
|
||||||
|
|
||||||
import com.raytheon.uf.common.dataplugin.gfe.request.ExportGridsRequest;
|
import com.raytheon.uf.common.dataplugin.gfe.request.ExportGridsRequest;
|
||||||
|
import com.raytheon.uf.common.dataplugin.gfe.request.ExportGridsRequest.ExportGridsMode;
|
||||||
import com.raytheon.uf.common.status.UFStatus.Priority;
|
import com.raytheon.uf.common.status.UFStatus.Priority;
|
||||||
import com.raytheon.viz.gfe.GFEServerException;
|
import com.raytheon.viz.gfe.GFEServerException;
|
||||||
|
|
||||||
|
@ -32,7 +33,9 @@ import com.raytheon.viz.gfe.GFEServerException;
|
||||||
*
|
*
|
||||||
* Date Ticket# Engineer Description
|
* Date Ticket# Engineer Description
|
||||||
* ------------ ---------- ----------- --------------------------
|
* ------------ ---------- ----------- --------------------------
|
||||||
* Aug 5, 2011 bphillip Initial creation
|
* Aug 05, 2011 bphillip Initial creation
|
||||||
|
* Apr 30, 2013 #1761 dgilling Support changes made to
|
||||||
|
* ExportGridsRequest.
|
||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
|
@ -54,7 +57,8 @@ public class SvcbuExportDigitalDataJob extends ServiceBackupJob {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
ExportGridsRequest request = new ExportGridsRequest(site, "-m");
|
ExportGridsRequest request = new ExportGridsRequest(site,
|
||||||
|
ExportGridsMode.MANUAL);
|
||||||
try {
|
try {
|
||||||
makeRequest(request);
|
makeRequest(request);
|
||||||
} catch (GFEServerException e) {
|
} catch (GFEServerException e) {
|
||||||
|
|
|
@ -260,13 +260,6 @@
|
||||||
value="com.raytheon.uf.common.dataplugin.gfe.request.GetSiteTimeZoneInfoRequest" />
|
value="com.raytheon.uf.common.dataplugin.gfe.request.GetSiteTimeZoneInfoRequest" />
|
||||||
<constructor-arg ref="siteTimeZoneHandler" />
|
<constructor-arg ref="siteTimeZoneHandler" />
|
||||||
</bean>
|
</bean>
|
||||||
<bean id="sendGridsToNDFDHandler"
|
|
||||||
class="com.raytheon.edex.plugin.gfe.server.handler.SendGridsToNDFDHandler" />
|
|
||||||
<bean factory-bean="handlerRegistry" factory-method="register">
|
|
||||||
<constructor-arg
|
|
||||||
value="com.raytheon.uf.common.dataplugin.gfe.request.SendGridsToNDFDRequest" />
|
|
||||||
<constructor-arg ref="sendGridsToNDFDHandler" />
|
|
||||||
</bean>
|
|
||||||
<bean id="statusUpdateHandler"
|
<bean id="statusUpdateHandler"
|
||||||
class="com.raytheon.edex.plugin.gfe.server.handler.ServiceBackupStatusUpdateRequestHandler" />
|
class="com.raytheon.edex.plugin.gfe.server.handler.ServiceBackupStatusUpdateRequestHandler" />
|
||||||
<bean factory-bean="handlerRegistry" factory-method="register">
|
<bean factory-bean="handlerRegistry" factory-method="register">
|
||||||
|
|
|
@ -1,65 +0,0 @@
|
||||||
/**
|
|
||||||
* 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.edex.plugin.gfe.server.handler;
|
|
||||||
|
|
||||||
import com.raytheon.edex.plugin.gfe.svcbackup.SvcBackupUtil;
|
|
||||||
import com.raytheon.uf.common.dataplugin.gfe.request.SendGridsToNDFDRequest;
|
|
||||||
import com.raytheon.uf.common.dataplugin.gfe.server.message.ServerResponse;
|
|
||||||
import com.raytheon.uf.common.serialization.comm.IRequestHandler;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* TODO Add Description
|
|
||||||
*
|
|
||||||
* <pre>
|
|
||||||
*
|
|
||||||
* SOFTWARE HISTORY
|
|
||||||
* Date Ticket# Engineer Description
|
|
||||||
* ------------ ---------- ----------- --------------------------
|
|
||||||
* Mar 17, 2010 avarani Initial creation
|
|
||||||
*
|
|
||||||
* </pre>
|
|
||||||
*
|
|
||||||
* @author avarani
|
|
||||||
* @version 1.0
|
|
||||||
*/
|
|
||||||
|
|
||||||
public class SendGridsToNDFDHandler implements
|
|
||||||
IRequestHandler<SendGridsToNDFDRequest> {
|
|
||||||
|
|
||||||
/*
|
|
||||||
* (non-Javadoc)
|
|
||||||
*
|
|
||||||
* @see
|
|
||||||
* com.raytheon.uf.common.serialization.comm.IRequestHandler#handleRequest
|
|
||||||
* (com.raytheon.uf.common.serialization.comm.IServerRequest)
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public ServerResponse<?> handleRequest(SendGridsToNDFDRequest request)
|
|
||||||
throws Exception {
|
|
||||||
ServerResponse<String> response = new ServerResponse<String>();
|
|
||||||
String site = request.getSite();
|
|
||||||
try {
|
|
||||||
SvcBackupUtil.execute("export_grids", "-m", site.toLowerCase());
|
|
||||||
} catch (Exception e) {
|
|
||||||
response.addMessage(e.getMessage());
|
|
||||||
}
|
|
||||||
return response;
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -39,7 +39,9 @@ import com.raytheon.uf.common.serialization.comm.IRequestHandler;
|
||||||
*
|
*
|
||||||
* Date Ticket# Engineer Description
|
* Date Ticket# Engineer Description
|
||||||
* ------------ ---------- ----------- --------------------------
|
* ------------ ---------- ----------- --------------------------
|
||||||
* Aug 4, 2011 bphillip Initial creation
|
* Aug 04, 2011 bphillip Initial creation
|
||||||
|
* Apr 30, 2013 #1761 dgilling Support changes made to
|
||||||
|
* ExportGridsRequest.
|
||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
|
@ -56,8 +58,9 @@ public class ExportGridsRequestHandler implements
|
||||||
public Object handleRequest(ExportGridsRequest request) throws Exception {
|
public Object handleRequest(ExportGridsRequest request) throws Exception {
|
||||||
ServerResponse<String> sr = new ServerResponse<String>();
|
ServerResponse<String> sr = new ServerResponse<String>();
|
||||||
|
|
||||||
SvcBackupUtil.execute("export_grids", request.getMode(), request
|
SvcBackupUtil.execute("export_grids",
|
||||||
.getSite().toLowerCase());
|
request.getMode().getCmdLineArg(), request.getSite()
|
||||||
|
.toLowerCase());
|
||||||
|
|
||||||
ServiceBackupNotificationManager
|
ServiceBackupNotificationManager
|
||||||
.sendMessageNotification("Digital data successfully exported.");
|
.sendMessageNotification("Digital data successfully exported.");
|
||||||
|
|
|
@ -19,12 +19,21 @@
|
||||||
**/
|
**/
|
||||||
package com.raytheon.edex.plugin.gfe.svcbackup;
|
package com.raytheon.edex.plugin.gfe.svcbackup;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Collection;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
import java.util.Properties;
|
||||||
|
import java.util.Set;
|
||||||
import java.util.TimerTask;
|
import java.util.TimerTask;
|
||||||
|
|
||||||
|
import com.google.common.collect.Sets;
|
||||||
import com.raytheon.edex.plugin.gfe.server.handler.svcbu.ExportGridsRequestHandler;
|
import com.raytheon.edex.plugin.gfe.server.handler.svcbu.ExportGridsRequestHandler;
|
||||||
import com.raytheon.edex.site.SiteUtil;
|
import com.raytheon.edex.site.SiteUtil;
|
||||||
import com.raytheon.uf.common.dataplugin.gfe.request.ExportGridsRequest;
|
import com.raytheon.uf.common.dataplugin.gfe.request.ExportGridsRequest;
|
||||||
|
import com.raytheon.uf.common.dataplugin.gfe.request.ExportGridsRequest.ExportGridsMode;
|
||||||
|
import com.raytheon.uf.common.status.IUFStatusHandler;
|
||||||
|
import com.raytheon.uf.common.status.UFStatus;
|
||||||
|
import com.raytheon.uf.edex.site.SiteAwareRegistry;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* TODO Add Description
|
* TODO Add Description
|
||||||
|
@ -35,7 +44,9 @@ import com.raytheon.uf.common.dataplugin.gfe.request.ExportGridsRequest;
|
||||||
*
|
*
|
||||||
* Date Ticket# Engineer Description
|
* Date Ticket# Engineer Description
|
||||||
* ------------ ---------- ----------- --------------------------
|
* ------------ ---------- ----------- --------------------------
|
||||||
* Aug 3, 2011 bphillip Initial creation
|
* Aug 03, 2011 bphillip Initial creation
|
||||||
|
* Apr 30, 2013 #1761 dgilling Read list of sites to export grids
|
||||||
|
* for from svcbu.properties.
|
||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
|
@ -45,6 +56,9 @@ import com.raytheon.uf.common.dataplugin.gfe.request.ExportGridsRequest;
|
||||||
|
|
||||||
public class ExportGridsTask extends TimerTask {
|
public class ExportGridsTask extends TimerTask {
|
||||||
|
|
||||||
|
private static final transient IUFStatusHandler statusHandler = UFStatus
|
||||||
|
.getHandler(ExportGridsTask.class);
|
||||||
|
|
||||||
public ExportGridsTask(Date executionTime) {
|
public ExportGridsTask(Date executionTime) {
|
||||||
ServiceBackupNotificationManager
|
ServiceBackupNotificationManager
|
||||||
.sendMessageNotification("Export grids cron scheduled for execution at: "
|
.sendMessageNotification("Export grids cron scheduled for execution at: "
|
||||||
|
@ -58,17 +72,51 @@ public class ExportGridsTask extends TimerTask {
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
ServiceBackupNotificationManager
|
final ExportGridsRequestHandler reqHandler = new ExportGridsRequestHandler();
|
||||||
.sendMessageNotification("Export Grids to central server cron started.");
|
|
||||||
try {
|
for (String site : getSites()) {
|
||||||
new ExportGridsRequestHandler()
|
|
||||||
.handleRequest(new ExportGridsRequest(SiteUtil.getSite(),
|
|
||||||
"-c"));
|
|
||||||
} catch (Exception e) {
|
|
||||||
ServiceBackupNotificationManager
|
ServiceBackupNotificationManager
|
||||||
.sendErrorMessageNotification(
|
.sendMessageNotification("Export Grids to central server cron started for site "
|
||||||
"Export Grids to central server cron failed to execute.",
|
+ site + ".");
|
||||||
e);
|
try {
|
||||||
|
reqHandler.handleRequest(new ExportGridsRequest(site,
|
||||||
|
ExportGridsMode.CRON));
|
||||||
|
} catch (Exception e) {
|
||||||
|
ServiceBackupNotificationManager.sendErrorMessageNotification(
|
||||||
|
"Export Grids to central server cron failed to execute for site "
|
||||||
|
+ site + ".", e);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private Collection<String> getSites() {
|
||||||
|
Properties svcbuProps = SvcBackupUtil.getSvcBackupProperties();
|
||||||
|
String siteList = SiteUtil.getSite();
|
||||||
|
if (svcbuProps != null) {
|
||||||
|
String propVal = svcbuProps.getProperty("PRIMARY_SITES", "").trim();
|
||||||
|
if (!propVal.isEmpty()) {
|
||||||
|
siteList = propVal;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
String[] sites = siteList.split(",");
|
||||||
|
Collection<String> retVal = new ArrayList<String>(sites.length);
|
||||||
|
Set<String> validSites = Sets.newHashSet(SiteAwareRegistry
|
||||||
|
.getInstance().getActiveSites());
|
||||||
|
for (String site : sites) {
|
||||||
|
final String siteId = site.trim().toUpperCase();
|
||||||
|
if (!siteId.isEmpty()) {
|
||||||
|
if (validSites.contains(siteId)) {
|
||||||
|
retVal.add(siteId);
|
||||||
|
} else {
|
||||||
|
statusHandler
|
||||||
|
.warn("Site "
|
||||||
|
+ siteId
|
||||||
|
+ " is not a currently activated site. Grids will not be exported for this site. Check the PRIMARY_SITES setting in svcbu.properties.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return retVal;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -31,7 +31,8 @@ import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement;
|
||||||
*
|
*
|
||||||
* Date Ticket# Engineer Description
|
* Date Ticket# Engineer Description
|
||||||
* ------------ ---------- ----------- --------------------------
|
* ------------ ---------- ----------- --------------------------
|
||||||
* Aug 4, 2011 bphillip Initial creation
|
* Aug 04, 2011 bphillip Initial creation
|
||||||
|
* Apr 29, 2013 #1761 dgilling Make mode field an Enum.
|
||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
|
@ -42,17 +43,31 @@ import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement;
|
||||||
@DynamicSerialize
|
@DynamicSerialize
|
||||||
public class ExportGridsRequest extends AbstractGfeRequest {
|
public class ExportGridsRequest extends AbstractGfeRequest {
|
||||||
|
|
||||||
|
public enum ExportGridsMode {
|
||||||
|
CRON("-c"), MANUAL("-m"), GRIB2("-g");
|
||||||
|
|
||||||
|
private final String cmdLineArg;
|
||||||
|
|
||||||
|
private ExportGridsMode(String cmdLineArg) {
|
||||||
|
this.cmdLineArg = cmdLineArg;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCmdLineArg() {
|
||||||
|
return cmdLineArg;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@DynamicSerializeElement
|
@DynamicSerializeElement
|
||||||
private String site;
|
private String site;
|
||||||
|
|
||||||
@DynamicSerializeElement
|
@DynamicSerializeElement
|
||||||
private String mode;
|
private ExportGridsMode mode;
|
||||||
|
|
||||||
public ExportGridsRequest() {
|
public ExportGridsRequest() {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public ExportGridsRequest(String site, String mode) {
|
public ExportGridsRequest(String site, ExportGridsMode mode) {
|
||||||
this.site = site;
|
this.site = site;
|
||||||
this.mode = mode;
|
this.mode = mode;
|
||||||
}
|
}
|
||||||
|
@ -75,7 +90,7 @@ public class ExportGridsRequest extends AbstractGfeRequest {
|
||||||
/**
|
/**
|
||||||
* @return the mode
|
* @return the mode
|
||||||
*/
|
*/
|
||||||
public String getMode() {
|
public ExportGridsMode getMode() {
|
||||||
return mode;
|
return mode;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -83,8 +98,7 @@ public class ExportGridsRequest extends AbstractGfeRequest {
|
||||||
* @param mode
|
* @param mode
|
||||||
* the mode to set
|
* the mode to set
|
||||||
*/
|
*/
|
||||||
public void setMode(String mode) {
|
public void setMode(ExportGridsMode mode) {
|
||||||
this.mode = mode;
|
this.mode = mode;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,68 +0,0 @@
|
||||||
/**
|
|
||||||
* 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.common.dataplugin.gfe.request;
|
|
||||||
|
|
||||||
import com.raytheon.uf.common.serialization.annotations.DynamicSerialize;
|
|
||||||
import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement;
|
|
||||||
import com.raytheon.uf.common.serialization.comm.IServerRequest;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* TODO Add Description
|
|
||||||
*
|
|
||||||
* <pre>
|
|
||||||
*
|
|
||||||
* SOFTWARE HISTORY
|
|
||||||
* Date Ticket# Engineer Description
|
|
||||||
* ------------ ---------- ----------- --------------------------
|
|
||||||
* Mar 17, 2010 avarani Initial creation
|
|
||||||
*
|
|
||||||
* </pre>
|
|
||||||
*
|
|
||||||
* @author avarani
|
|
||||||
* @version 1.0
|
|
||||||
*/
|
|
||||||
|
|
||||||
@DynamicSerialize
|
|
||||||
public class SendGridsToNDFDRequest implements IServerRequest {
|
|
||||||
/**
|
|
||||||
* Send the grids from this site.
|
|
||||||
*/
|
|
||||||
@DynamicSerializeElement
|
|
||||||
private String site;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Getter for the site id.
|
|
||||||
*
|
|
||||||
* @return the site ID.
|
|
||||||
*/
|
|
||||||
public String getSite() {
|
|
||||||
return site;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Setter for the site id.
|
|
||||||
*
|
|
||||||
* @param site
|
|
||||||
* send the grids from this site.
|
|
||||||
*/
|
|
||||||
public void setSite(String site) {
|
|
||||||
this.site = site;
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -103,6 +103,13 @@
|
||||||
# SVCBU_USER_ID The user id of the designated user to run GFE when
|
# SVCBU_USER_ID The user id of the designated user to run GFE when
|
||||||
# in service backup
|
# in service backup
|
||||||
#
|
#
|
||||||
|
# PRIMARY_SITES (Optional) For dual-domain sites, a comma-separated
|
||||||
|
# list of sites for the export grids cron to run for
|
||||||
|
# instead of the site defined as AW_SITE_IDENTIFIER. If
|
||||||
|
# this setting is empty or not defined, cron will only
|
||||||
|
# export grids for site set as AW_SITE_IDENTIFIER.
|
||||||
|
#
|
||||||
|
#
|
||||||
# Directories used by Service Backup
|
# Directories used by Service Backup
|
||||||
GFESUITE_HOME=${AWIPS_HOME}/GFESuite
|
GFESUITE_HOME=${AWIPS_HOME}/GFESuite
|
||||||
GFESUITE_BIN=${GFESUITE_HOME}/bin
|
GFESUITE_BIN=${GFESUITE_HOME}/bin
|
||||||
|
|
|
@ -1,27 +1,39 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
|
##############################################################################
|
||||||
|
# Script to export gridded data to the central server
|
||||||
|
#
|
||||||
|
# SOFTWARE HISTORY
|
||||||
|
#
|
||||||
|
# Date Ticket# Engineer Description
|
||||||
|
# ------------ ---------- ----------- --------------------------
|
||||||
|
# 04/29/13 #1761 dgilling Remove use of NATIONAL_CENTER,
|
||||||
|
# script caller will determine
|
||||||
|
# which sites to export.
|
||||||
|
##############################################################################
|
||||||
|
|
||||||
if [ ${#AWIPS_HOME} = 0 ]
|
if [ ${#AWIPS_HOME} = 0 ]
|
||||||
then
|
then
|
||||||
path_to_script=`readlink -f $0`
|
path_to_script=`readlink -f $0`
|
||||||
export AWIPS_HOME=$(dirname $(dirname $(dirname $(dirname $path_to_script))))
|
export AWIPS_HOME=$(dirname $(dirname $(dirname $(dirname $path_to_script))))
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# $1 = Run Mode
|
# ARGUMENTS
|
||||||
# $2 = Site name
|
# $1 = -c run by cron
|
||||||
|
# -g run by grib2.bat (used by SendGridToNDFD)
|
||||||
|
# -m run by manual push
|
||||||
|
# also determined by EXPORT_GRID
|
||||||
|
# $2 = wfo ID.
|
||||||
|
#
|
||||||
|
#
|
||||||
if [ $# -ne 2 ]
|
if [ $# -ne 2 ]
|
||||||
then
|
then
|
||||||
log_msg "Incorrect number of arguments\nCorrect usage: export_grids [-c|-m] wfo"
|
log_msg "Incorrect number of arguments\nCorrect usage: export_grids [-c|-m|-g] wfo"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
. ${AWIPS_HOME}/GFESuite/ServiceBackup/configuration/svcbu.env
|
. ${AWIPS_HOME}/GFESuite/ServiceBackup/configuration/svcbu.env
|
||||||
|
|
||||||
#while [ "$(ls -A ${LOCK_DIR})" ]
|
|
||||||
#do
|
|
||||||
# sleep 5
|
|
||||||
#done
|
|
||||||
|
|
||||||
# Create the log file
|
# Create the log file
|
||||||
logdir=${IFPS_LOG}/`date +%Y%m%d`
|
logdir=${IFPS_LOG}/`date +%Y%m%d`
|
||||||
logfil=svcbu_export_grids_`date +%H%M`
|
logfil=svcbu_export_grids_`date +%H%M`
|
||||||
|
@ -30,197 +42,183 @@ logfile=${logdir}/${logfil}
|
||||||
touch ${logdir}/${logfil}
|
touch ${logdir}/${logfil}
|
||||||
exec 1>${logdir}/${logfil} 2>&1
|
exec 1>${logdir}/${logfil} 2>&1
|
||||||
|
|
||||||
# DR14464 - netcdf file creation is now a function to allow it to be called more than once for
|
SITE=`echo ${2} | tr '[A-Z]' '[a-z]'`
|
||||||
# national centers
|
CAPS_SITE=`echo ${2} | tr [a-z] [A-Z]`
|
||||||
perform_export() {
|
export SITE
|
||||||
SITE=`echo ${1} | tr '[A-Z]' '[a-z]'`
|
|
||||||
CAPS_SITE=`echo ${1} | tr [a-z] [A-Z]`
|
|
||||||
export SITE
|
|
||||||
|
|
||||||
manuallockFile=${LOCK_DIR}/${SITE}exportGrids
|
manuallockFile=${LOCK_DIR}/${SITE}exportGrids
|
||||||
cronLockFile=${LOCK_DIR}/${SITE}exportGridscron
|
cronLockFile=${LOCK_DIR}/${SITE}exportGridscron
|
||||||
lockFile=${manuallockFile}
|
lockFile=${manuallockFile}
|
||||||
LOGGER=log_msg
|
LOGGER=log_msg
|
||||||
|
|
||||||
if [ $1 = "-c" ]
|
if [ $1 = "-c" ]
|
||||||
then
|
then
|
||||||
LOGGER=echo_msg
|
LOGGER=echo_msg
|
||||||
lockFile=${cronLockFile}
|
lockFile=${cronLockFile}
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Check the status of the lock file to see if we are OK to proceed
|
#determine if export grid is allowed
|
||||||
|
#
|
||||||
|
if [ $EXPORT_GRID -eq 0 ]
|
||||||
|
then
|
||||||
|
$LOGGER "You turned off the export grid option. Check EXPORT_GRID."
|
||||||
|
$LOGGER 100
|
||||||
|
exit 1
|
||||||
|
elif [ "$1" = "-c" ] && [ $EXPORT_GRID -ne 1 ]
|
||||||
|
then
|
||||||
|
$LOGGER "Cannot execute grid export since you have disabled the cron job. Check EXPORT_GRID."
|
||||||
|
$LOGGER 100
|
||||||
|
exit 1
|
||||||
|
elif [ -z "$EXPORT_GRID" ]
|
||||||
|
then
|
||||||
|
$LOGGER "EXPORT_GRID not defined. Export grids failed"
|
||||||
|
$LOGGER 100
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
if [ -f ${manuallockFile} ]
|
if [ -f ${manuallockFile} ]
|
||||||
then
|
then
|
||||||
$LOGGER Cannot export grids for ${CAPS_SITE}. Export grids process already in progress! Cron will not run this hour.
|
$LOGGER Cannot export grids for ${CAPS_SITE}. Export grids process already in progress! Cron will not run this hour.
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
touch ${lockFile}
|
||||||
|
|
||||||
|
$LOGGER "Starting exporting grids..."
|
||||||
|
$LOGGER 0
|
||||||
|
|
||||||
|
#
|
||||||
|
# If this is a non-wfo/non-rfc site, they may not have an edit area for clipping - handle it
|
||||||
|
#
|
||||||
|
if [ "$SVCBU_GRIDAREA" == "" ] ; then
|
||||||
|
SVCBU_MASK=""
|
||||||
|
else
|
||||||
|
SVCBU_MASK="-m $SVCBU_GRIDAREA"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Need to create the start and end time arguments for ifpnetCDF
|
||||||
|
# The start time needs to be 6 hours prior to current time, and end time needs to be 6 hours after the 9th day time.
|
||||||
|
starttime=`date -d "24 hours ago" +%Y%m%d`_`date -d "24 hours ago" +%H00`
|
||||||
|
endtime=`date -d "+8 days 6 hours" +%Y%m%d`_`date -d "+8 days 6 hours" +%H00`
|
||||||
|
#
|
||||||
|
$LOGGER 25
|
||||||
|
$LOGGER "Running ifpnetCDF..."
|
||||||
|
|
||||||
|
# Name of the database to use in ifpServer to grab grids from.
|
||||||
|
# NOTE: SVCBU_DB must be defined in ifps-ccc.env file. Defaults to Official.
|
||||||
|
if [ -n "${SVCBU_DB}" ]
|
||||||
|
then
|
||||||
|
DB_NAME=${CAPS_SITE}_GRID__${SVCBU_DB}_00000000_0000
|
||||||
|
else
|
||||||
|
DB_NAME=${CAPS_SITE}_GRID__Official_00000000_0000
|
||||||
|
fi
|
||||||
|
$LOGGER ${DB_NAME}
|
||||||
|
|
||||||
|
|
||||||
touch ${lockFile}
|
NETCDF_PATH=${GFESUITE_HOME}/exportgrids
|
||||||
|
export NETCDF_TMP_PATH=${NETCDF_PATH}/tmp
|
||||||
|
if [ ! -d ${NETCDF_TMP_PATH} ]; then
|
||||||
|
mkdir ${NETCDF_TMP_PATH}
|
||||||
|
chmod 777 ${NETCDF_TMP_PATH}
|
||||||
|
fi
|
||||||
|
|
||||||
$LOGGER "Starting exporting grids..."
|
# Implement wx element trimming.
|
||||||
$LOGGER 0
|
# For this, we'll read from a flat file in ${IFPS_DATA} that will contain list
|
||||||
|
# of element a site wants to include. We'll also check if the site has
|
||||||
|
# $SVCBU_TRIM_ELEMS variable set to 1. We will only do wx element trimming if
|
||||||
|
# this variable is set to 1. Otherwise, we'll continue to send all grids.
|
||||||
|
NETCDF_SUCCESS=1
|
||||||
|
|
||||||
#
|
if [ "${SVCBU_TRIM_ELEMS}" != "" -a "${SVCBU_TRIM_ELEMS}" = "1" ]
|
||||||
# If this is a non-wfo/non-rfc site, they may not have an edit area for clipping - handle it
|
then
|
||||||
#
|
# Check if we have the file that has list of elements to trim for.
|
||||||
if [ "$SVCBU_GRIDAREA" == "" ] ; then
|
if [ -f ${IFPS_DATA}/svcbu_export_elements.${SITE} ]; then
|
||||||
SVCBU_MASK=""
|
# Building the -p arguments to ifpnetCDF.
|
||||||
else
|
wxflags=""
|
||||||
SVCBU_MASK="-m $SVCBU_GRIDAREA"
|
for elem in `cat ${IFPS_DATA}/svcbu_export_elements.${SITE}`
|
||||||
fi
|
do
|
||||||
|
wxflags="$wxflags -p ${elem}"
|
||||||
# Need to create the start and end time arguments for ifpnetCDF
|
done
|
||||||
# The start time needs to be 6 hours prior to current time, and end time needs to be 6 hours after the 9th day time.
|
#Now run ifpnetCDF with $wxflags as well as time flags.
|
||||||
starttime=`date -d "24 hours ago" +%Y%m%d`_`date -d "24 hours ago" +%H00`
|
${GFESUITE_BIN}/ifpnetCDF -o ${NETCDF_TMP_PATH}/${SITE}Grd.netcdf -h ${SVCBU_HOST} -r ${CDSPORT} -d ${DB_NAME} -k -t ${SVCBU_MASK} ${wxflags}
|
||||||
endtime=`date -d "+8 days 6 hours" +%Y%m%d`_`date -d "+8 days 6 hours" +%H00`
|
#check if the netcdf file is there;if not,exit
|
||||||
#
|
|
||||||
$LOGGER 25
|
|
||||||
$LOGGER "Running ifpnetCDF..."
|
|
||||||
# Name of the database to use in ifpServer to grab grids from.
|
|
||||||
# NOTE: SVCBU_DB must be defined in ifps-ccc.env file. Defaults to Official.
|
|
||||||
if [ -n "${SVCBU_DB}" ]
|
|
||||||
then
|
|
||||||
DB_NAME=${CAPS_SITE}_GRID__${SVCBU_DB}_00000000_0000
|
|
||||||
else
|
|
||||||
DB_NAME=${CAPS_SITE}_GRID__Official_00000000_0000
|
|
||||||
fi
|
|
||||||
|
|
||||||
$LOGGER ${DB_NAME}
|
|
||||||
|
|
||||||
|
|
||||||
NETCDF_PATH=${GFESUITE_HOME}/exportgrids
|
|
||||||
export NETCDF_TMP_PATH=${NETCDF_PATH}/tmp
|
|
||||||
if [ ! -d ${NETCDF_TMP_PATH} ]; then
|
|
||||||
mkdir ${NETCDF_TMP_PATH}
|
|
||||||
chmod 777 ${NETCDF_TMP_PATH}
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Implement wx element trimming.
|
|
||||||
# For this, we'll read from a flat file in ${IFPS_DATA} that will contain list of element a site wants to include.
|
|
||||||
# We'll also check if the site has $SVCBU_TRIM_ELEMS variable set to 1. We will only do wx element trimming if this variable is set to 1.
|
|
||||||
# Otherwise, we'll continue to send all grids.
|
|
||||||
NETCDF_SUCCESS=1
|
|
||||||
|
|
||||||
if [ "${SVCBU_TRIM_ELEMS}" != "" -a "${SVCBU_TRIM_ELEMS}" = "1" ]
|
|
||||||
then
|
|
||||||
# Check if we have the file that has list of elements to trim for.
|
|
||||||
if [ -f ${IFPS_DATA}/svcbu_export_elements.${SITE} ]; then
|
|
||||||
# Building the -p arguments to ifpnetCDF.
|
|
||||||
wxflags=""
|
|
||||||
for elem in `cat ${IFPS_DATA}/svcbu_export_elements.${SITE}`
|
|
||||||
do
|
|
||||||
wxflags="$wxflags -p ${elem}"
|
|
||||||
done
|
|
||||||
#Now run ifpnetCDF with $wxflags as well as time flags.
|
|
||||||
${GFESUITE_BIN}/ifpnetCDF -o ${NETCDF_TMP_PATH}/${SITE}Grd.netcdf -h ${SVCBU_HOST} -r ${CDSPORT} -d ${DB_NAME} -k -t ${SVCBU_MASK} ${wxflags}
|
|
||||||
#check if the netcdf file is there;if not,exit
|
|
||||||
if [ $? -ne 0 ]
|
|
||||||
then
|
|
||||||
NETCDF_SUCCESS=0
|
|
||||||
if [ $NATIONAL_CENTER != 1 ] && [ "$1" != "-c" ]
|
|
||||||
then
|
|
||||||
netcdf_error=`grep "Some of the requested time ranges are not in the inventory" $logfile`
|
|
||||||
if [ "$netcdf_error" != "" ]; then
|
|
||||||
NETCDF_SUCCESS=1
|
|
||||||
else
|
|
||||||
$LOGGER "ifpnetCDF failed. Export exits."
|
|
||||||
rm -f ${lockFile}
|
|
||||||
$LOGGER 100
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
$LOGGER "export_grids was not able to find ${IFPS_DATA}/svcbu_export_elements.${SITE} file."
|
|
||||||
$LOGGER "Without this file, ifpnetCDF will not know how to trim for needed weather elements."
|
|
||||||
$LOGGER "ifpnetCDF will run without doing any trimming."
|
|
||||||
#Starting ifpnetCDF to pack the grids (netcdf file is stored in the IFPS_LOG dir)
|
|
||||||
${GFESUITE_BIN}/ifpnetCDF -o ${NETCDF_TMP_PATH}/${SITE}Grd.netcdf -h $SVCBU_HOST -r ${CDSPORT} -d ${DB_NAME} -k -t ${SVCBU_MASK}
|
|
||||||
#check if the netcdf file is there;if not,exit
|
|
||||||
if [ $? -ne 0 ]
|
|
||||||
then
|
|
||||||
NETCDF_SUCCESS=0
|
|
||||||
if [ $NATIONAL_CENTER != 1 ] && [ "$1" != "-c" ]
|
|
||||||
then
|
|
||||||
netcdf_error=`grep "Some of the requested time ranges are not in the inventory" $logfile`
|
|
||||||
if [ "$netcdf_error" != "" ]; then
|
|
||||||
NETCDF_SUCCESS=1
|
|
||||||
else
|
|
||||||
$LOGGER "ifpnetCDF failed. Export exits."
|
|
||||||
rm -f ${lockFile}
|
|
||||||
$LOGGER 100
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
# NOTE: This is the case when no wx elems trimming will done. ifpnetCDF file will contain everything.
|
|
||||||
#Starting ifpnetCDF to pack the grids (netcdf file is stored in the IFPS_LOG dir)
|
|
||||||
${GFESUITE_BIN}/ifpnetCDF -o ${NETCDF_TMP_PATH}/${SITE}Grd.netcdf -h $SVCBU_HOST -r ${CDSPORT} -d ${DB_NAME} -k -t ${SVCBU_MASK}
|
|
||||||
#check if the netcdf file is there;if not,exit before we call msg_send
|
|
||||||
if [ $? -ne 0 ]
|
if [ $? -ne 0 ]
|
||||||
then
|
then
|
||||||
NETCDF_SUCCESS=0
|
NETCDF_SUCCESS=0
|
||||||
if [ $NATIONAL_CENTER != 1 ] && [ "$1" != "-c" ]
|
if [ "$1" != "-c" ]
|
||||||
then
|
then
|
||||||
netcdf_error=`grep "Some of the requested time ranges are not in the inventory" $logfile`
|
netcdf_error=`grep "Some of the requested time ranges are not in the inventory" $logfile`
|
||||||
if [ "$netcdf_error" != "" ]; then
|
if [ "$netcdf_error" != "" ]; then
|
||||||
NETCDF_SUCCESS=1
|
NETCDF_SUCCESS=1
|
||||||
else
|
else
|
||||||
$LOGGER "ifpnetCDF failed."
|
$LOGGER "ifpnetCDF failed. Export exits."
|
||||||
rm -f ${lockFile}
|
rm -f ${lockFile}
|
||||||
$LOGGER 100
|
$LOGGER 100
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
else
|
||||||
|
$LOGGER "export_grids was not able to find ${IFPS_DATA}/svcbu_export_elements.${SITE} file."
|
||||||
|
$LOGGER "Without this file, ifpnetCDF will not know how to trim for needed weather elements."
|
||||||
|
$LOGGER "ifpnetCDF will run without doing any trimming."
|
||||||
|
#Starting ifpnetCDF to pack the grids (netcdf file is stored in the IFPS_LOG dir)
|
||||||
|
${GFESUITE_BIN}/ifpnetCDF -o ${NETCDF_TMP_PATH}/${SITE}Grd.netcdf -h $SVCBU_HOST -r ${CDSPORT} -d ${DB_NAME} -k -t ${SVCBU_MASK}
|
||||||
|
#check if the netcdf file is there;if not,exit
|
||||||
|
if [ $? -ne 0 ]
|
||||||
|
then
|
||||||
|
NETCDF_SUCCESS=0
|
||||||
|
if [ "$1" != "-c" ]
|
||||||
|
then
|
||||||
|
netcdf_error=`grep "Some of the requested time ranges are not in the inventory" $logfile`
|
||||||
|
if [ "$netcdf_error" != "" ]; then
|
||||||
|
NETCDF_SUCCESS=1
|
||||||
|
else
|
||||||
|
$LOGGER "ifpnetCDF failed. Export exits."
|
||||||
|
rm -f ${lockFile}
|
||||||
|
$LOGGER 100
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
# NOTE: This is the case when no wx elems trimming will done. ifpnetCDF file will contain everything.
|
||||||
|
#Starting ifpnetCDF to pack the grids (netcdf file is stored in the IFPS_LOG dir)
|
||||||
|
${GFESUITE_BIN}/ifpnetCDF -o ${NETCDF_TMP_PATH}/${SITE}Grd.netcdf -h $SVCBU_HOST -r ${CDSPORT} -d ${DB_NAME} -k -t ${SVCBU_MASK}
|
||||||
|
#check if the netcdf file is there;if not,exit before we call msg_send
|
||||||
|
if [ $? -ne 0 ]
|
||||||
|
then
|
||||||
|
NETCDF_SUCCESS=0
|
||||||
|
if [ "$1" != "-c" ]
|
||||||
|
then
|
||||||
|
netcdf_error=`grep "Some of the requested time ranges are not in the inventory" $logfile`
|
||||||
|
if [ "$netcdf_error" != "" ]; then
|
||||||
|
NETCDF_SUCCESS=1
|
||||||
|
else
|
||||||
|
$LOGGER "ifpnetCDF failed."
|
||||||
|
rm -f ${lockFile}
|
||||||
|
$LOGGER 100
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
if [ $NETCDF_SUCCESS = 1 ]
|
if [ $NETCDF_SUCCESS = 1 ]
|
||||||
then
|
|
||||||
$LOGGER "Copying ${NETCDF_TMP_PATH}/${SITE}Grd.netcdf to ${NETCDF_PATH}/${SITE}Grd.netcdf"
|
|
||||||
cp ${NETCDF_TMP_PATH}/${SITE}Grd.netcdf ${NETCDF_PATH}/${SITE}Grd.netcdf
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ -f ${NETCDF_TMP_PATH}/${SITE}Grd.netcdf ]
|
|
||||||
then
|
|
||||||
$LOGGER "Removing ${NETCDF_TMP_PATH}/${SITE}Grd.netcdf"
|
|
||||||
rm -f ${NETCDF_TMP_PATH}/${SITE}Grd.netcdf
|
|
||||||
fi
|
|
||||||
|
|
||||||
rm -f ${lockFile}
|
|
||||||
$LOGGER 100
|
|
||||||
}
|
|
||||||
# end DR14464 change
|
|
||||||
|
|
||||||
if [ $EXPORT_GRID = 0 ]
|
|
||||||
then
|
then
|
||||||
log_msg "You turned off the export grid option. Check EXPORT_GRID"
|
$LOGGER "Copying ${NETCDF_TMP_PATH}/${SITE}Grd.netcdf to ${NETCDF_PATH}/${SITE}Grd.netcdf"
|
||||||
log_msg 100
|
cp ${NETCDF_TMP_PATH}/${SITE}Grd.netcdf ${NETCDF_PATH}/${SITE}Grd.netcdf
|
||||||
exit 1
|
fi
|
||||||
elif [ $EXPORT_GRID = 2 ] && [ "$1" = "-c" ]
|
|
||||||
|
if [ -f ${NETCDF_TMP_PATH}/${SITE}Grd.netcdf ]
|
||||||
then
|
then
|
||||||
log_msg "export_grids cron disabled"
|
$LOGGER "Removing ${NETCDF_TMP_PATH}/${SITE}Grd.netcdf"
|
||||||
exit 1
|
rm -f ${NETCDF_TMP_PATH}/${SITE}Grd.netcdf
|
||||||
elif [ $NATIONAL_CENTER = 1 ] && [ "$1" = "-c" ] # DR14464 changes - loop through active sites
|
fi
|
||||||
then
|
|
||||||
log_msg "You are configured as $AW_SITE_IDENTIFIER. Will use activeSites.txt for site id info."
|
rm -f ${lockFile}
|
||||||
site_list=( `cat $LOCALIZATION_PATH/edex_static/site/$AW_SITE_IDENTIFIER/config/activeSites.txt` )
|
$LOGGER 100
|
||||||
for site in "${site_list[@]}"
|
|
||||||
do
|
|
||||||
if [ $site != $AW_SITE_IDENTIFIER ]
|
|
||||||
then
|
|
||||||
log_msg "Processing $site"
|
|
||||||
perform_export ${site}
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
else # this processes non-national centers the old way using AW_SITE_IDENTIFIER if run by cron
|
|
||||||
log_msg "Processing $2"
|
|
||||||
perform_export ${2}
|
|
||||||
fi # end DR14464 changes
|
|
||||||
|
|
||||||
# Completed successfully
|
# Completed successfully
|
||||||
$LOGGER "All done. Export Gridded data has completed"
|
$LOGGER "All done. Export Gridded data has completed"
|
||||||
|
|
|
@ -18,10 +18,27 @@
|
||||||
# further licensing information.
|
# further licensing information.
|
||||||
##
|
##
|
||||||
|
|
||||||
|
#
|
||||||
|
# Provides a command-line utility to a site's grids to a folder and later
|
||||||
|
# sent to NDFD.
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# SOFTWARE HISTORY
|
||||||
|
#
|
||||||
|
# Date Ticket# Engineer Description
|
||||||
|
# ------------ ---------- ----------- --------------------------
|
||||||
|
# ??/??/?? ???????? Initial Creation.
|
||||||
|
# 04/05/13 1761 dgilling Rewrite based on
|
||||||
|
# ExportGridsRequest.
|
||||||
|
#
|
||||||
|
#
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
import argparse
|
import argparse
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
from dynamicserialize.dstypes.com.raytheon.uf.common.dataplugin.gfe.request import SendGridsToNDFDRequest
|
from dynamicserialize.dstypes.com.raytheon.uf.common.dataplugin.gfe.request import ExportGridsRequest
|
||||||
|
|
||||||
from ufpy import ThriftClient
|
from ufpy import ThriftClient
|
||||||
from ufpy import UsageArgumentParser
|
from ufpy import UsageArgumentParser
|
||||||
|
@ -31,8 +48,9 @@ class SendGridsToNDFD:
|
||||||
def send(self, site, host, port):
|
def send(self, site, host, port):
|
||||||
thriftClient = ThriftClient.ThriftClient(host, port)
|
thriftClient = ThriftClient.ThriftClient(host, port)
|
||||||
|
|
||||||
ndfdRequest = SendGridsToNDFDRequest()
|
ndfdRequest = ExportGridsRequest()
|
||||||
ndfdRequest.setSite(site)
|
ndfdRequest.setSite(site)
|
||||||
|
ndfdRequest.setMode("GRIB2")
|
||||||
|
|
||||||
serverResponse = thriftClient.sendRequest(ndfdRequest)
|
serverResponse = thriftClient.sendRequest(ndfdRequest)
|
||||||
if (not serverResponse.isOkay()):
|
if (not serverResponse.isOkay()):
|
||||||
|
|
|
@ -0,0 +1,79 @@
|
||||||
|
##
|
||||||
|
# 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.
|
||||||
|
##
|
||||||
|
|
||||||
|
#
|
||||||
|
# A pure python implementation of com.raytheon.uf.common.dataplugin.gfe.request.ExportGridsRequest
|
||||||
|
# for use by the python implementation of DynamicSerialize.
|
||||||
|
#
|
||||||
|
# File auto-generated against equivalent DynamicSerialize Java class, but additional
|
||||||
|
# useful methods have been added.
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# SOFTWARE HISTORY
|
||||||
|
#
|
||||||
|
# Date Ticket# Engineer Description
|
||||||
|
# ------------ ---------- ----------- --------------------------
|
||||||
|
# 04/05/13 dgilling Initial Creation.
|
||||||
|
#
|
||||||
|
#
|
||||||
|
#
|
||||||
|
|
||||||
|
from dynamicserialize.dstypes.com.raytheon.uf.common.dataplugin.gfe.request import AbstractGfeRequest
|
||||||
|
|
||||||
|
|
||||||
|
class ExportGridsRequest(AbstractGfeRequest):
|
||||||
|
|
||||||
|
def __init__(self):
|
||||||
|
super(ExportGridsRequest, self).__init__()
|
||||||
|
self.site = None
|
||||||
|
self.mode = None
|
||||||
|
|
||||||
|
def getSite(self):
|
||||||
|
return self.site
|
||||||
|
|
||||||
|
def setSite(self, site):
|
||||||
|
self.site = site
|
||||||
|
|
||||||
|
def getMode(self):
|
||||||
|
return self.mode
|
||||||
|
|
||||||
|
def setMode(self, mode):
|
||||||
|
validValues = ['CRON', 'MANUAL', 'GRIB2']
|
||||||
|
inputVal = str(mode).upper()
|
||||||
|
if inputVal in validValues:
|
||||||
|
self.mode = mode
|
||||||
|
else:
|
||||||
|
raise ValueError(inputVal + " not a valid ExportGridsMode value. Must be one of " + str(validValues))
|
||||||
|
|
||||||
|
def __str__(self):
|
||||||
|
retVal = "ExportGridsRequest["
|
||||||
|
retVal += "wokstationID: " + str(self.workstationID) + ", "
|
||||||
|
retVal += "siteID: " + str(self.siteID) + ", "
|
||||||
|
retVal += "site: " + str(self.site) + ", "
|
||||||
|
retVal += "mode: " + str(self.mode) + "]"
|
||||||
|
return retVal
|
||||||
|
|
||||||
|
def __repr__(self):
|
||||||
|
retVal = "ExportGridsRequest("
|
||||||
|
retVal += "wokstationID=" + repr(self.workstationID) + ", "
|
||||||
|
retVal += "siteID=" + repr(self.siteID) + ", "
|
||||||
|
retVal += "site=" + repr(self.site) + ", "
|
||||||
|
retVal += "mode=" + repr(self.mode) + ")"
|
||||||
|
return retVal
|
|
@ -1,33 +0,0 @@
|
||||||
##
|
|
||||||
# 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
|
|
||||||
|
|
||||||
class SendGridsToNDFDRequest(object):
|
|
||||||
|
|
||||||
def __init__(self):
|
|
||||||
self.site = None
|
|
||||||
|
|
||||||
def getSite(self):
|
|
||||||
return self.site
|
|
||||||
|
|
||||||
def setSite(self, site):
|
|
||||||
self.site = site
|
|
||||||
|
|
|
@ -27,6 +27,7 @@ __all__ = [
|
||||||
'ConfigureTextProductsRequest',
|
'ConfigureTextProductsRequest',
|
||||||
'ExecuteIfpNetCDFGridRequest',
|
'ExecuteIfpNetCDFGridRequest',
|
||||||
'ExecuteIscMosaicRequest',
|
'ExecuteIscMosaicRequest',
|
||||||
|
'ExportGridsRequest',
|
||||||
'GetASCIIGridsRequest',
|
'GetASCIIGridsRequest',
|
||||||
'GetGridDataRequest',
|
'GetGridDataRequest',
|
||||||
'GetGridInventoryRequest',
|
'GetGridInventoryRequest',
|
||||||
|
@ -44,7 +45,6 @@ __all__ = [
|
||||||
'ProcessReceivedDigitalDataRequest',
|
'ProcessReceivedDigitalDataRequest',
|
||||||
'PurgeGfeGridsRequest',
|
'PurgeGfeGridsRequest',
|
||||||
'SaveASCIIGridsRequest',
|
'SaveASCIIGridsRequest',
|
||||||
'SendGridsToNDFDRequest',
|
|
||||||
'ServiceBackupStatusUpdateRequest',
|
'ServiceBackupStatusUpdateRequest',
|
||||||
'SmartInitRequest'
|
'SmartInitRequest'
|
||||||
]
|
]
|
||||||
|
@ -55,6 +55,7 @@ from CommitGridsRequest import CommitGridsRequest
|
||||||
from ConfigureTextProductsRequest import ConfigureTextProductsRequest
|
from ConfigureTextProductsRequest import ConfigureTextProductsRequest
|
||||||
from ExecuteIfpNetCDFGridRequest import ExecuteIfpNetCDFGridRequest
|
from ExecuteIfpNetCDFGridRequest import ExecuteIfpNetCDFGridRequest
|
||||||
from ExecuteIscMosaicRequest import ExecuteIscMosaicRequest
|
from ExecuteIscMosaicRequest import ExecuteIscMosaicRequest
|
||||||
|
from ExportGridsRequest import ExportGridsRequest
|
||||||
from GetASCIIGridsRequest import GetASCIIGridsRequest
|
from GetASCIIGridsRequest import GetASCIIGridsRequest
|
||||||
from GetGridDataRequest import GetGridDataRequest
|
from GetGridDataRequest import GetGridDataRequest
|
||||||
from GetGridInventoryRequest import GetGridInventoryRequest
|
from GetGridInventoryRequest import GetGridInventoryRequest
|
||||||
|
@ -72,7 +73,6 @@ from ProcessReceivedConfRequest import ProcessReceivedConfRequest
|
||||||
from ProcessReceivedDigitalDataRequest import ProcessReceivedDigitalDataRequest
|
from ProcessReceivedDigitalDataRequest import ProcessReceivedDigitalDataRequest
|
||||||
from PurgeGfeGridsRequest import PurgeGfeGridsRequest
|
from PurgeGfeGridsRequest import PurgeGfeGridsRequest
|
||||||
from SaveASCIIGridsRequest import SaveASCIIGridsRequest
|
from SaveASCIIGridsRequest import SaveASCIIGridsRequest
|
||||||
from SendGridsToNDFDRequest import SendGridsToNDFDRequest
|
|
||||||
from ServiceBackupStatusUpdateRequest import ServiceBackupStatusUpdateRequest
|
from ServiceBackupStatusUpdateRequest import ServiceBackupStatusUpdateRequest
|
||||||
from SmartInitRequest import SmartInitRequest
|
from SmartInitRequest import SmartInitRequest
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue