Merge branch 'development' of ssh://lightning.omaha.us.ray.com:29418/AWIPS2_baseline into development

Former-commit-id: ecb6a8876078dcff3414ff2a33aa14bf130fa075
This commit is contained in:
Steve Harris 2012-10-16 21:44:49 -05:00
commit a63b40b17a
9 changed files with 211 additions and 111 deletions

View file

@ -39,6 +39,7 @@ import com.raytheon.uf.viz.d2d.ui.dialogs.procedures.ProcedureDlg;
* Date Ticket# Engineer Description * Date Ticket# Engineer Description
* ------------ ---------- ----------- -------------------------- * ------------ ---------- ----------- --------------------------
* Sep 13, 2007 chammack Initial Creation. * Sep 13, 2007 chammack Initial Creation.
* Oct 16, 2012 1229 rferrel Change to use ProcedureDlg.displayDialog.
* *
* </pre> * </pre>
* *
@ -57,10 +58,8 @@ public class AddAWIPSProcedure extends AbstractHandler {
@Override @Override
public Object execute(ExecutionEvent event) throws ExecutionException { public Object execute(ExecutionEvent event) throws ExecutionException {
Procedure procedure = new Procedure(); Procedure procedure = new Procedure();
ProcedureDlg dlg = ProcedureDlg.getOrCreateDialog(null, procedure, ProcedureDlg.displayDialog(null, procedure,
HandlerUtil.getActiveShell(event)); HandlerUtil.getActiveShell(event));
dlg.open();
return null; return null;
} }

View file

@ -25,8 +25,13 @@ import org.eclipse.core.commands.ExecutionException;
import org.eclipse.ui.handlers.HandlerUtil; import org.eclipse.ui.handlers.HandlerUtil;
import com.raytheon.uf.common.localization.LocalizationFile; import com.raytheon.uf.common.localization.LocalizationFile;
import com.raytheon.uf.common.localization.exception.LocalizationOpFailedException;
import com.raytheon.uf.common.status.IUFStatusHandler;
import com.raytheon.uf.common.status.UFStatus;
import com.raytheon.uf.common.status.UFStatus.Priority;
import com.raytheon.uf.viz.d2d.ui.dialogs.procedures.ProcedureListDlg; import com.raytheon.uf.viz.d2d.ui.dialogs.procedures.ProcedureListDlg;
import com.raytheon.uf.viz.d2d.ui.dialogs.procedures.ProcedureListDlg.Mode; import com.raytheon.uf.viz.d2d.ui.dialogs.procedures.ProcedureListDlg.Mode;
import com.raytheon.viz.ui.dialogs.ICloseCallback;
/** /**
* DeleteAWIPSProcedure * DeleteAWIPSProcedure
@ -41,6 +46,7 @@ import com.raytheon.uf.viz.d2d.ui.dialogs.procedures.ProcedureListDlg.Mode;
* ------------ ---------- ----------- -------------------------- * ------------ ---------- ----------- --------------------------
* Sep 13, 2007 chammack Initial Creation. * Sep 13, 2007 chammack Initial Creation.
* Jul 8, 2008 #1183 chammack Migrate to new localization * Jul 8, 2008 #1183 chammack Migrate to new localization
* Oct 16, 2012 #1229 rferrel Changes for non-blocking ProcedureListDlg.
* *
* </pre> * </pre>
* *
@ -48,6 +54,10 @@ import com.raytheon.uf.viz.d2d.ui.dialogs.procedures.ProcedureListDlg.Mode;
* @version 1 * @version 1
*/ */
public class DeleteAWIPSProcedure extends AbstractHandler { public class DeleteAWIPSProcedure extends AbstractHandler {
private final transient IUFStatusHandler statusHandler = UFStatus
.getHandler(DeleteAWIPSProcedure.class);
private ProcedureListDlg listDlg;
/* /*
* (non-Javadoc) * (non-Javadoc)
@ -58,18 +68,30 @@ public class DeleteAWIPSProcedure extends AbstractHandler {
*/ */
@Override @Override
public Object execute(ExecutionEvent event) throws ExecutionException { public Object execute(ExecutionEvent event) throws ExecutionException {
ProcedureListDlg listDlg = new ProcedureListDlg("Delete Procedure", if (listDlg == null || listDlg.getShell() == null
HandlerUtil.getActiveShell(event), Mode.DELETE); || listDlg.isDisposed()) {
listDlg.open(); listDlg = new ProcedureListDlg("Delete Procedure",
HandlerUtil.getActiveShell(event), Mode.DELETE);
listDlg.setCloseCallback(new ICloseCallback() {
LocalizationFile selectedFile = listDlg.getSelectedFile(); @Override
if (selectedFile != null && selectedFile.exists()) { public void dialogClosed(Object returnValue) {
try { if (returnValue instanceof LocalizationFile) {
selectedFile.delete(); LocalizationFile selectedFile = (LocalizationFile) returnValue;
} catch (Exception e) { try {
throw new ExecutionException("Error deleting procedure: " selectedFile.delete();
+ selectedFile.getName(), e); } catch (LocalizationOpFailedException e) {
} statusHandler.handle(
Priority.PROBLEM,
"Error deleting procedure: "
+ selectedFile.getName());
}
}
}
});
listDlg.open();
} else {
listDlg.bringToTop();
} }
return null; return null;

View file

@ -24,8 +24,6 @@ import java.io.File;
import org.eclipse.core.commands.AbstractHandler; import org.eclipse.core.commands.AbstractHandler;
import org.eclipse.core.commands.ExecutionEvent; import org.eclipse.core.commands.ExecutionEvent;
import org.eclipse.core.commands.ExecutionException; import org.eclipse.core.commands.ExecutionException;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.ui.handlers.HandlerUtil; import org.eclipse.ui.handlers.HandlerUtil;
import com.raytheon.uf.common.localization.LocalizationFile; import com.raytheon.uf.common.localization.LocalizationFile;
@ -33,9 +31,9 @@ import com.raytheon.uf.common.localization.LocalizationUtil;
import com.raytheon.uf.viz.core.procedures.Procedure; import com.raytheon.uf.viz.core.procedures.Procedure;
import com.raytheon.uf.viz.d2d.ui.dialogs.procedures.OpenProcedureListDlg; import com.raytheon.uf.viz.d2d.ui.dialogs.procedures.OpenProcedureListDlg;
import com.raytheon.uf.viz.d2d.ui.dialogs.procedures.ProcedureDlg; import com.raytheon.uf.viz.d2d.ui.dialogs.procedures.ProcedureDlg;
import com.raytheon.uf.viz.d2d.ui.dialogs.procedures.ProcedureListDlg;
import com.raytheon.viz.ui.VizWorkbenchManager; import com.raytheon.viz.ui.VizWorkbenchManager;
import com.raytheon.viz.ui.actions.LoadSerializedXml; import com.raytheon.viz.ui.actions.LoadSerializedXml;
import com.raytheon.viz.ui.dialogs.ICloseCallback;
/** /**
* OpenAWIPSProcedure * OpenAWIPSProcedure
@ -47,6 +45,8 @@ import com.raytheon.viz.ui.actions.LoadSerializedXml;
* Date Ticket# Engineer Description * Date Ticket# Engineer Description
* ------------ ---------- ----------- -------------------------- * ------------ ---------- ----------- --------------------------
* Sep 13, 2007 chammack Initial Creation. * Sep 13, 2007 chammack Initial Creation.
* Oct 16, 2012 1229 rferrel Change to use ProcedureDlg.displayDialog.
* Oct 16, 2012 1229 rferrel Changes for non-blocking ProcedureListDlg.
* *
* </pre> * </pre>
* *
@ -55,8 +55,8 @@ import com.raytheon.viz.ui.actions.LoadSerializedXml;
*/ */
public class OpenAWIPSProcedure extends AbstractHandler { public class OpenAWIPSProcedure extends AbstractHandler {
private OpenProcedureListDlg dialog; private OpenProcedureListDlg dialog;
/* /*
* (non-Javadoc) * (non-Javadoc)
* *
@ -66,25 +66,28 @@ public class OpenAWIPSProcedure extends AbstractHandler {
*/ */
@Override @Override
public Object execute(ExecutionEvent event) throws ExecutionException { public Object execute(ExecutionEvent event) throws ExecutionException {
if(dialog != null){ if (dialog == null || dialog.getShell() == null || dialog.isDisposed()) {
dialog.open(); dialog = new OpenProcedureListDlg(HandlerUtil.getActiveShell(event));
return null; dialog.setCloseCallback(new ICloseCallback() {
}
@Override
dialog = new OpenProcedureListDlg( public void dialogClosed(Object returnValue) {
HandlerUtil.getActiveShell(event)); if (returnValue instanceof LocalizationFile) {
dialog.open(); LocalizationFile selectedFile = (LocalizationFile) returnValue;
File f = selectedFile.getFile();
LocalizationFile selectedFile = dialog.getSelectedFile(); Procedure p = (Procedure) LoadSerializedXml
dialog = null; .deserialize(f);
if (selectedFile != null) { ProcedureDlg.displayDialog(LocalizationUtil
File f = selectedFile.getFile(); .extractName(selectedFile.getName()), p,
Procedure p = (Procedure) LoadSerializedXml.deserialize(f); VizWorkbenchManager.getInstance()
ProcedureDlg dlg = ProcedureDlg.getOrCreateDialog( .getCurrentWindow().getShell());
LocalizationUtil.extractName(selectedFile.getName()), p, }
VizWorkbenchManager.getInstance().getCurrentWindow() dialog = null;
.getShell()); }
dlg.open(); });
dialog.open();
} else {
dialog.bringToTop();
} }
return null; return null;

View file

@ -23,7 +23,7 @@ package com.raytheon.uf.viz.d2d.ui.dialogs.procedures;
import java.io.File; import java.io.File;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.Collection; import java.util.HashMap;
import java.util.HashSet; import java.util.HashSet;
import java.util.Map; import java.util.Map;
import java.util.Map.Entry; import java.util.Map.Entry;
@ -97,6 +97,8 @@ import com.raytheon.viz.ui.editor.AbstractEditor;
* ------------ ---------- ----------- -------------------------- * ------------ ---------- ----------- --------------------------
* Initial Creation * Initial Creation
* Oct 16, 2012 1229 rferrel Changes for non-blocking AlterBundleDlg. * Oct 16, 2012 1229 rferrel Changes for non-blocking AlterBundleDlg.
* Oct 16, 2012 1229 rferrel Changes to have displayDialog method.
* Oct 16, 2012 1229 rferrel Changes for non-blocking ProcedureListDlg.
* *
* </pre> * </pre>
* *
@ -114,7 +116,7 @@ public class ProcedureDlg extends CaveSWTDialog {
public static final String PROCEDURES_DIR = "/procedures"; public static final String PROCEDURES_DIR = "/procedures";
private static Collection<ProcedureDlg> openDialogs = new ArrayList<ProcedureDlg>(); private static final Map<String, ProcedureDlg> openDialogs = new HashMap<String, ProcedureDlg>();
private Font font; private Font font;
@ -172,6 +174,8 @@ public class ProcedureDlg extends CaveSWTDialog {
private AlterBundleDlg alterDlg; private AlterBundleDlg alterDlg;
private ProcedureListDlg saveAsDlg;
private ProcedureDlg(String fileName, Procedure p, Shell parent) { private ProcedureDlg(String fileName, Procedure p, Shell parent) {
// Win32 // Win32
super(parent, SWT.DIALOG_TRIM | SWT.RESIZE, CAVE.INDEPENDENT_SHELL super(parent, SWT.DIALOG_TRIM | SWT.RESIZE, CAVE.INDEPENDENT_SHELL
@ -228,7 +232,7 @@ public class ProcedureDlg extends CaveSWTDialog {
protected void disposed() { protected void disposed() {
font.dispose(); font.dispose();
synchronized (openDialogs) { synchronized (openDialogs) {
openDialogs.remove(this); openDialogs.remove(fileName);
} }
} }
@ -918,18 +922,38 @@ public class ProcedureDlg extends CaveSWTDialog {
} }
private void showSaveAsDlg() { private void showSaveAsDlg() {
ProcedureListDlg dlg = new ProcedureListDlg("Save Procedure As...", if (mustCreate(saveAsDlg)) {
shell, ProcedureListDlg.Mode.SAVE); saveAsDlg = new ProcedureListDlg("Save Procedure As...", shell,
dlg.open(); ProcedureListDlg.Mode.SAVE);
String fn = dlg.getSelectedFileName(); saveAsDlg.setCloseCallback(new ICloseCallback() {
if (fn == null) {
return; @Override
public void dialogClosed(Object returnValue) {
String fn = saveAsDlg.getSelectedFileName();
if (fn != null) {
ProcedureDlg oldDlg = getDialog(fn);
if (oldDlg != null) {
oldDlg.close();
}
// Update mapping to new file name.
synchronized (openDialogs) {
openDialogs.remove(fileName);
openDialogs.put(fn, ProcedureDlg.this);
}
frozen = saveAsDlg.isFrozen();
fileName = fn;
saveProcedure();
}
}
});
saveAsDlg.open();
} else {
saveAsDlg.bringToTop();
} }
frozen = dlg.isFrozen();
fileName = fn;
saveProcedure();
} }
/** /**
@ -1040,36 +1064,30 @@ public class ProcedureDlg extends CaveSWTDialog {
* @return * @return
*/ */
public static ProcedureDlg getDialog(String fileName) { public static ProcedureDlg getDialog(String fileName) {
synchronized (openDialogs) { synchronized (ProcedureDlg.openDialogs) {
if (fileName != null) { ProcedureDlg dialog = openDialogs.get(fileName);
for (ProcedureDlg dialog : openDialogs) { return dialog;
if (fileName.equals(dialog.fileName)) {
return dialog;
}
}
}
return null;
} }
} }
/** /**
* Get the ProcedureDlg for the given fileName. If the fileName is null or * Get the ProcedureDlg for the given fileName and display it.
* if there is no open dialog, create a new ProcedureDlg.
* *
* @param fileName * @param fileName
* @param p * @param p
* @param parent * @param parent
* @return
*/ */
public static ProcedureDlg getOrCreateDialog(String fileName, Procedure p, public static void displayDialog(String fileName, Procedure p, Shell parent) {
Shell parent) {
synchronized (openDialogs) { synchronized (openDialogs) {
ProcedureDlg dialog = getDialog(fileName); ProcedureDlg dialog = getDialog(fileName);
if (dialog == null) { if (dialog == null || dialog.getShell() == null
|| dialog.isDisposed()) {
dialog = new ProcedureDlg(fileName, p, parent); dialog = new ProcedureDlg(fileName, p, parent);
openDialogs.add(dialog); openDialogs.put(fileName, dialog);
dialog.open();
} else {
dialog.bringToTop();
} }
return dialog;
} }
} }
} }

View file

@ -56,19 +56,21 @@ import com.raytheon.viz.ui.dialogs.CaveSWTDialog;
/** /**
* *
* A dialog which displays a list of procedures for opening, saving, or deleting. * A dialog which displays a list of procedures for opening, saving, or
* deleting.
* *
* <pre> * <pre>
* *
* SOFTWARE HISTORY * SOFTWARE HISTORY
* *
* Date Ticket# Engineer Description * Date Ticket# Engineer Description
* ------------ ---------- ----------- -------------------------- * ------------ ---------- ----------- --------------------------
* ??? Initial creation * ??? Initial creation
* 07/31/2012 DR 15036 D. Friedman Ensure current user's procedures * 07/31/2012 DR 15036 D. Friedman Ensure current user's procedures
* are visible. * are visible.
* 10/16/2012 1229 rferrel Made dialog non-blocking.
* </pre> * </pre>
* *
* @author unknown * @author unknown
* @version 1.0 * @version 1.0
*/ */
@ -80,8 +82,6 @@ public class ProcedureListDlg extends CaveSWTDialog {
private Text procedureTF; private Text procedureTF;
private LocalizationFile selectedFile;
private TreeViewer treeViewer; private TreeViewer treeViewer;
private Button okBtn; private Button okBtn;
@ -103,7 +103,7 @@ public class ProcedureListDlg extends CaveSWTDialog {
private final Mode mode; private final Mode mode;
public ProcedureListDlg(String title, Shell parent, Mode mode) { public ProcedureListDlg(String title, Shell parent, Mode mode) {
super(parent, SWT.DIALOG_TRIM | SWT.RESIZE); // Win32 super(parent, SWT.DIALOG_TRIM | SWT.RESIZE, CAVE.DO_NOT_BLOCK); // Win32
setText(title); setText(title);
this.mode = mode; this.mode = mode;
@ -343,7 +343,8 @@ public class ProcedureListDlg extends CaveSWTDialog {
public void run() { public void run() {
TreeItem[] items = treeViewer.getTree().getItems(); TreeItem[] items = treeViewer.getTree().getItems();
if (items != null && items.length > 0) if (items != null && items.length > 0)
treeViewer.getTree().showItem(items[items.length - 1]); treeViewer.getTree().showItem(
items[items.length - 1]);
treeViewer.reveal(find); treeViewer.reveal(find);
} }
}); });
@ -401,7 +402,7 @@ public class ProcedureListDlg extends CaveSWTDialog {
cancelBtn.addSelectionListener(new SelectionAdapter() { cancelBtn.addSelectionListener(new SelectionAdapter() {
@Override @Override
public void widgetSelected(SelectionEvent event) { public void widgetSelected(SelectionEvent event) {
shell.dispose(); close();
} }
}); });
@ -420,13 +421,6 @@ public class ProcedureListDlg extends CaveSWTDialog {
} }
} }
/**
* @return the fileName
*/
public LocalizationFile getSelectedFile() {
return selectedFile;
}
/** /**
* @return the fileName * @return the fileName
*/ */
@ -492,21 +486,22 @@ public class ProcedureListDlg extends CaveSWTDialog {
+ " already exists. Overwrite anyways?"); + " already exists. Overwrite anyways?");
if (result == true) { if (result == true) {
fileName = procedureTF.getText(); fileName = procedureTF.getText();
shell.dispose(); close();
} }
} }
} else { } else {
fileName = procedureTF.getText(); fileName = procedureTF.getText();
shell.dispose(); close();
} }
} else if (mode == Mode.OPEN) { } else if (mode == Mode.OPEN) {
fileName = procedureTF.getText(); fileName = procedureTF.getText();
if (tmp instanceof ProcedureTree) { if (tmp instanceof ProcedureTree) {
// it must be a procedure tree, that is what the content // it must be a procedure tree, that is what the content
// provider uses internally // provider uses internally
selectedFile = ((ProcedureTree) tmp).getFile(); LocalizationFile selectedFile = ((ProcedureTree) tmp).getFile();
setReturnValue(selectedFile);
} }
shell.dispose(); close();
} else if (mode == Mode.DELETE) { } else if (mode == Mode.DELETE) {
TreeItem[] selection = treeViewer.getTree().getSelection(); TreeItem[] selection = treeViewer.getTree().getSelection();
@ -520,9 +515,11 @@ public class ProcedureListDlg extends CaveSWTDialog {
if (tmp instanceof ProcedureTree) { if (tmp instanceof ProcedureTree) {
// it must be a procedure tree, that is what the content // it must be a procedure tree, that is what the content
// provider uses internally // provider uses internally
selectedFile = ((ProcedureTree) tmp).getFile(); LocalizationFile selectedFile = ((ProcedureTree) tmp)
.getFile();
setReturnValue(selectedFile);
} }
shell.dispose(); close();
} }
} }
} }

View file

@ -27,6 +27,7 @@ import org.eclipse.swt.widgets.Display;
import com.raytheon.uf.viz.core.IDisplayPaneContainer; import com.raytheon.uf.viz.core.IDisplayPaneContainer;
import com.raytheon.viz.ui.cmenu.AbstractRightClickAction; import com.raytheon.viz.ui.cmenu.AbstractRightClickAction;
import com.raytheon.viz.ui.color.IBackgroundColorChangedListener.BGColorMode; import com.raytheon.viz.ui.color.IBackgroundColorChangedListener.BGColorMode;
import com.raytheon.viz.ui.dialogs.ICloseCallback;
import com.raytheon.viz.ui.dialogs.colordialog.BackgroundColorDialog; import com.raytheon.viz.ui.dialogs.colordialog.BackgroundColorDialog;
/** /**
@ -38,6 +39,7 @@ import com.raytheon.viz.ui.dialogs.colordialog.BackgroundColorDialog;
* Date Ticket# Engineer Description * Date Ticket# Engineer Description
* ------------ ---------- ----------- -------------------------- * ------------ ---------- ----------- --------------------------
* Sep 1, 2009 mschenke Initial creation * Sep 1, 2009 mschenke Initial creation
* Oct 16, 2012 1229 rferrel Changes for non-blocking BackgroundColorDialog.
* *
* </pre> * </pre>
* *
@ -67,12 +69,18 @@ public class SetBackgroundColorAction extends AbstractRightClickAction {
@Override @Override
public void run() { public void run() {
BackgroundColorDialog dialog = dialogMap.get(container); BackgroundColorDialog dialog = dialogMap.get(container);
if (dialog == null) { if (dialog == null || dialog.getShell() == null || dialog.isDisposed()) {
dialog = new BackgroundColorDialog(Display.getCurrent() dialog = new BackgroundColorDialog(Display.getCurrent()
.getActiveShell(), container, mode); .getActiveShell(), container, mode);
dialogMap.put(container, dialog); dialogMap.put(container, dialog);
dialog.setCloseCallback(new ICloseCallback() {
@Override
public void dialogClosed(Object returnValue) {
dialogMap.remove(container);
}
});
dialog.open(); dialog.open();
dialogMap.remove(container);
} else { } else {
dialog.bringToTop(); dialog.bringToTop();
} }

View file

@ -38,6 +38,7 @@ import com.raytheon.viz.ui.dialogs.colordialog.BackgroundColorDialog;
* Date Ticket# Engineer Description * Date Ticket# Engineer Description
* ------------ ---------- ----------- -------------------------- * ------------ ---------- ----------- --------------------------
* Jan 7,2008 Dan Fitch Initial Creation * Jan 7,2008 Dan Fitch Initial Creation
* Oct 16, 2012 1229 rferrel Changed for non-blocking BackgroundColorDialog.
* *
* </pre> * </pre>
* *
@ -50,11 +51,10 @@ public class SetBackgroundColor extends AbstractHandler {
@Override @Override
public Object execute(ExecutionEvent event) throws ExecutionException { public Object execute(ExecutionEvent event) throws ExecutionException {
if (dialog == null) { if (dialog == null || dialog.getShell() == null || dialog.isDisposed()) {
dialog = new BackgroundColorDialog( dialog = new BackgroundColorDialog(
HandlerUtil.getActiveShell(event), null, BGColorMode.GLOBAL); HandlerUtil.getActiveShell(event), null, BGColorMode.GLOBAL);
dialog.open(); dialog.open();
dialog = null;
} else { } else {
dialog.bringToTop(); dialog.bringToTop();
} }

View file

@ -48,6 +48,7 @@ import com.raytheon.viz.ui.dialogs.CaveSWTDialog;
* Date Ticket# Engineer Description * Date Ticket# Engineer Description
* ------------ ---------- ----------- -------------------------- * ------------ ---------- ----------- --------------------------
* 1/8/2008 706 Dan Fitch Initial Creation. * 1/8/2008 706 Dan Fitch Initial Creation.
* 10/16/2012 1229 rferrel Make dialog non-blocking.
* *
* </pre> * </pre>
* *
@ -108,7 +109,8 @@ public class BackgroundColorDialog extends CaveSWTDialog implements
*/ */
public BackgroundColorDialog(Shell parent, IDisplayPaneContainer container, public BackgroundColorDialog(Shell parent, IDisplayPaneContainer container,
BGColorMode mode) { BGColorMode mode) {
super(parent, SWT.DIALOG_TRIM | SWT.MIN, CAVE.PERSPECTIVE_INDEPENDENT); super(parent, SWT.DIALOG_TRIM | SWT.MIN, CAVE.PERSPECTIVE_INDEPENDENT
| CAVE.DO_NOT_BLOCK);
setText("Set Background Color"); setText("Set Background Color");
this.container = container; this.container = container;
this.mode = mode; this.mode = mode;

View file

@ -4,6 +4,7 @@
# ------------ ---------- ----------- -------------------------- # ------------ ---------- ----------- --------------------------
# 20120905 1090 jkorman Corrected several patterns as well as # 20120905 1090 jkorman Corrected several patterns as well as
# combining similar patterns. # combining similar patterns.
#20121009 1252 jkorman Corrections and additions from Dale Morris.
#*************************************************************** #***************************************************************
# AWIPS 1 PATTERN GRAPHIC ^[PQ].* /redbook/Raw # AWIPS 1 PATTERN GRAPHIC ^[PQ].* /redbook/Raw
# PGNA00 KWNS 010001 !redbook 1_1/NMCGPHMCD/MCDSUM/PXSF001CN/20110201 0001 # PGNA00 KWNS 010001 !redbook 1_1/NMCGPHMCD/MCDSUM/PXSF001CN/20110201 0001
@ -64,9 +65,8 @@ HDS ^(Z[DE]W[A-D][89]8) KWNO (..)(..)(..) /m0 !(grib|grib2)/[^/]*/([^/]*)/#([^/]
# AWIPS1: GRID ^[YZ].[A-WYZ].*KWB.* /Grid/SBN/Raw # AWIPS1: GRID ^[YZ].[A-WYZ].*KWB.* /Grid/SBN/Raw
# YUWG97 KWBG 010600 /mRUC2 !grib/ncep/RUC2/#236/201102010600/F006/UGRD/tropopause/ # YUWG97 KWBG 010600 /mRUC2 !grib/ncep/RUC2/#236/201102010600/F006/UGRD/tropopause/
HDS ^([YZ].[A-WYZ].{1,3}) (KWB.) (..)(..)(..)[^!]*!(grib|grib2)/[^/]*/([^/]*)/#([^/]*)/([0-9]{8})([0-9]{4})/(F[0-9]{3})/([^/]*) HDS ^([YZ].[A-WYZ].{1,3}) (KWB.) (..)(..)(..)[^!]*!(grib|grib2)/[^/]*/([^/]*)/#([^/]*)/([0-9]{8})([0-9]{4})/(F[0-9]{3})/([^/]*)
FILE -overwrite -log -close -edex /data_store/\6/(\3:yyyy)(\3:mm)\3/\4/\7/GRID\8/\(10)Z_\(11)_\(12)-\1_\2_\3\4\5_(seq).\5.%Y%m%d%H FILE -overwrite -log -close -edex /data_store/\6/(\3:yyyy)(\3:mm)\3/\4/\7/GRID\8/\(10)Z_\(11)_\(12)-\1_\2_\3\4\5_(seq).\6.%Y%m%d%H
# AWIPS1: GRID ^YEI.[89]8.*KWNH /Grid/SBN/Raw # AWIPS1: GRID ^YEI.[89]8.*KWNH /Grid/SBN/Raw
#!MAINT! This line is a superset duplicate of line 16 (which only triggers on /ncep/) - However cannot find any data matching this pattern. #!MAINT! This line is a superset duplicate of line 16 (which only triggers on /ncep/) - However cannot find any data matching this pattern.
@ -75,7 +75,7 @@ HDS ^(YEI.[89]8) KWNH (..)(..)(..)[^!]*!(grib|grib2)/[^/]*/([^/]*)/#([^/]*)/([0-
# This line enables the regional rfc qpf gribs # This line enables the regional rfc qpf gribs
HDS ^(YEI.[89]8) (KALR|KFWR|KKRF|KMSR|KORN|KPTR|KRHA|KRSA|KSTR|KTAR|KTIR|KTUA) (..)(..)(..)[^!]*!(grib|grib2)/[^/]*/([^/]*)/#([^/]*)/([0-9]{8})([0-9]{4})/(F[0-9]{3})/[^/]*/([^/]*) HDS ^(YEI.[89]8) (KALR|KFWR|KKRF|KMSR|KORN|KPTR|KRHA|KRSA|KSTR|KTAR|KTIR|KTUA) (..)(..)(..)[^!]*!(grib|grib2)/[^/]*/([^/]*)/#([^/]*)/([0-9]{8})([0-9]{4})/(F[0-9]{3})/[^/]*/([^/]*)
FILE -overwrite -log -close -edex /data_store/\6/(\3:yyyy)(\3:mm)/\3/\4/\7/GRID\8/(10)Z_\(11)_\(12)-\1_\2_\3\4\5_(seq).\6.%Y%m%d%H FILE -overwrite -log -close -edex /data_store/\6/(\3:yyyy)(\3:mm)\3/\4/\7/GRID\8/\(10)Z_\(11)_\(12)-\1_\2_\3\4\5_(seq).\6.%Y%m%d%H
# AWIPS1: GRID ^ZEX.98.*KWNH /Grid/SBN/Raw # AWIPS1: GRID ^ZEX.98.*KWNH /Grid/SBN/Raw
@ -266,19 +266,21 @@ ANY ^([LM].[AB].{1,3}) (KWBS) (..)(..)(..)[^!]*!(grib|grib2)/[^/]*/([^/]*)/#([^/
# *** This is only be available during an active storm. Verified 20120828 - Hurricane Isaac. # *** This is only be available during an active storm. Verified 20120828 - Hurricane Isaac.
ANY ^(LGXT[0-2][0-9]) KNHC (..)(..)(..) ANY ^(LGXT[0-2][0-9]) KNHC (..)(..)(..)
FILE -overwrite -log -close -edex /data_store/grib2/(\2:yyyy)(\2:mm)\2/\3/TPC/\1_KNHC_\2\3\4_(seq).grib2.%Y%m%d%H FILE -overwrite -log -close -edex /data_store/grib2/(\2:yyyy)(\2:mm)\2/\3/TPC/\3\4Z_SURGE-\1_KNHC_\2\3\4_(seq).grib2.%Y%m%d%H
# AWIPS1: GRID ^LGXP[0-9][0-9].*KNHC /Grid/SBN/rawGrib2 # AWIPS1: GRID ^LGXP[0-9][0-9].*KNHC /Grid/SBN/rawGrib2
# *** This is only be available during an active storm. Verified 20120828 - Hurricane Isaac. # *** This is only be available during an active storm. Verified 20120828 - Hurricane Isaac.
ANY ^(LGXP[0-9][0-9]) KNHC (..)(..)(..) ANY ^(LGXP[0-9][0-9]) KNHC (..)(..)(..)
FILE -overwrite -log -close -edex /data_store/grib2/(\2:yyyy)(\2:mm)\2/\3/TPC/\1_KNHC_\2\3\4_(seq).grib2.%Y%m%d%H FILE -overwrite -log -close -edex /data_store/grib2/(\2:yyyy)(\2:mm)\2/\3/TPC/\3\4Z_SURGE-\1_KNHC_\2\3\4_(seq).grib2.%Y%m%d%H
# AWIPS1: GRID ^LDIZ11.*KWNS /Grid/SBN/rawGrib2 # AWIPS1: GRID ^LDIZ11.*KWNS /Grid/SBN/rawGrib2
# LDIZ11 KWNS 180039 !grib2/ncep/0/#202/FHRS//LVL # LDIZ11 KWNS 180039 !grib2/ncep/0/#202/FHRS//LVL
ANY ^(LDIZ1[1-9]|LDIZ2[7-9]|LDIZ3[0789]|LDIZ4[0-1]) (KWNS) (..)(..)(..)[^!]*!(grib|grib2)/[^/]*/[^/]*/#([^/]*)/([^/]*) #ANY ^(LDIZ1[1-9]|LDIZ2[7-9]|LDIZ3[0789]|LDIZ4[0-1]) (KWNS) (..)(..)(..)[^!]*!(grib|grib2)/[^/]*/[^/]*/#([^/]*)/([^/]*)
FILE -overwrite -log -close -edex /data_store/\6/(\3:yyyy)(\3:mm)\3/\4/SPC/GRID\7/\4/\5Z_\1_\2_\3\4\5_(seq).\6.%Y%m%d%H # FILE -overwrite -log -close -edex /data_store/\6/(\3:yyyy)(\3:mm)\3/\4/SPC/GRID\7/\4\5Z-\1_\2_\3\4\5_(seq).\6.%Y%m%d%H
ANY ^(LDIZ1[1-9]|LDIZ2[7-9]|LDIZ3[0789]|LDIZ4[0-1]) (KWNS) (..)(..)(..)[^!]*!(grib|grib2)/[^/]*/[^/]*/#([^/]*)/([0-9]{8})([0-9]{4})(F[0-9]{3})/([^/]*)
FILE -overwrite -log -close -edex /data_store/\6/(\3:yyyy)(\3:mm)\3/\4/SPC/GRID\7/\9Z_\(10)_\(11)-\1_\2_\3\4\5_(seq).\6.%Y%m%d%H
# AWIPS1: GRID ^ZETA98.(KTUA|PACR|KSTR|KRSA|KORN|KRHA|KKRF|KMSR|KTAR|KPTR|KTIR|KALR|KFWR) /Grid/SBN/HydroRaw # AWIPS1: GRID ^ZETA98.(KTUA|PACR|KSTR|KRSA|KORN|KRHA|KKRF|KMSR|KTAR|KPTR|KTIR|KALR|KFWR) /Grid/SBN/HydroRaw
# ZETA98 KTAR 012300 /mNWS_160 !grib/nws/NWS_160/#255/201102012200/F001/APCP/sfc/ # ZETA98 KTAR 012300 /mNWS_160 !grib/nws/NWS_160/#255/201102012200/F001/APCP/sfc/
@ -297,7 +299,7 @@ ANY ^(ZDIA98) (....) (..)(..)(..)[^!]*!(grib|grib2)/[^/]*/([^/]*)/#([^/]*)/([0-9
# AWIPS1: POINT ^IUAK01.* /ispan/bufr/profiler # AWIPS1: POINT ^IUAK01.* /ispan/bufr/profiler
# IUAK01 PANC 012300 # IUAK01 PANC 012300
HDS ^(IUPT0[1-4]|IUPT40|IUAK01) (.{4}) (..)(..)(..) HDS ^(IUPT0[1-4]|IUPT40|IUAK01) (.{4}) (..)(..)(..)
FILE -overwrite -log -close -edex /data_store/profiler/(\3:yyyy)(\3:mm)3/\4/\1_\2_\3\4\5_(seq).bufr.%Y%m%d%H FILE -overwrite -log -close -edex /data_store/profiler/(\3:yyyy)(\3:mm)\3/\4/\1_\2_\3\4\5_(seq).bufr.%Y%m%d%H
# AWIPS1: POINT ^IUSZ[4-9][0-9].* /ispan/bufr/raob # AWIPS1: POINT ^IUSZ[4-9][0-9].* /ispan/bufr/raob
# IUSZ53 KWBC 020205 # IUSZ53 KWBC 020205
@ -325,8 +327,20 @@ IDS|DDPLUS ^(T[BCHPRTWXY][A-Z]{2}[0-9]{2}) ([A-Z]{4}) (..)(..)(..)
FILE -overwrite -log -close -edex /data_store/text/\3/\4/\1_\2_\3\4\5_(seq).%Y%m%d FILE -overwrite -log -close -edex /data_store/text/\3/\4/\1_\2_\3\4\5_(seq).%Y%m%d
# summaries # summaries
IDS|DDPLUS ^(A.{5}) (.{4}) (..)(..)(..) #IDS|DDPLUS ^(A.{5}) (.{4}) (..)(..)(..)
# FILE -overwrite -log -close -edex /data_store/summaries/(\3:yyyy)(\3:mm)\3/\4/\1_\2_\3\4\5_(seq).%Y%m%d%H
# Change submitted by Dale Morris
IDS|DDPLUS ^(A[AC-FH-RT-Z]..[0-9][0-9]) (.{4}) (..)(..)(..)
FILE -overwrite -log -close -edex /data_store/summaries/(\3:yyyy)(\3:mm)\3/\4/\1_\2_\3\4\5_(seq).%Y%m%d%H FILE -overwrite -log -close -edex /data_store/summaries/(\3:yyyy)(\3:mm)\3/\4/\1_\2_\3\4\5_(seq).%Y%m%d%H
IDS|DDPLUS ^(AG..[0-9][0-9]) (KWB.) (..)(..)(..)
FILE -overwrite -log -close -edex /data_store/summaries/(\3:yyyy)(\3:mm)\3/\4/\1_\2_\3\4\5_(seq).%Y%m%d%H
#shef
IDS|DDPLUS ^(A[BS]..[0-9][0-9]) (....) (..)(..)(..)
FILE -overwrite -log -close -edex /data_store/shef/(\3:yyyy)(\3:mm)\3/\4/\1_\2_\3\4\5_(seq).%Y%m%d%H
IDS|DDPLUS ^(AG..[0-9][0-9]) (KALR|KFWR|KKRF|KMSR|KORN|KPTR|KRHA|KRSA|KSTR|KTAR|KTIR|KTUR|KTUA)(..)(..)(..)
FILE -overwrite -log -close -edex /data_store/shef/(\3:yyyy)(\3:mm)\3/\4/\1_\2_\3\4\5_(seq).%Y%m%d%H
IDS|DDPLUS ^(SR..[0-9][0-9]) (....) (..)(..)(..)
FILE -overwrite -log -close -edex /data_store/shef/(\3:yyyy)(\3:mm)\3/\4/\1_\2_\3\4\5_(seq).%Y%m%d%H
# fire wx spot fcst reports # fire wx spot fcst reports
IDS|DDPLUS ^(B.{5}) (.{4}) (..)(..)(..) IDS|DDPLUS ^(B.{5}) (.{4}) (..)(..)(..)
@ -337,11 +351,33 @@ IDS|DDPLUS ^(C.{5}) (.{4}) (..)(..)(..)
FILE -overwrite -log -close -edex /data_store/climate/(\3:yyyy)(\3:mm)\3/\4/\1_\2_\3\4\5_(seq).%Y%m%d%H FILE -overwrite -log -close -edex /data_store/climate/(\3:yyyy)(\3:mm)\3/\4/\1_\2_\3\4\5_(seq).%Y%m%d%H
# forecast # forecast
IDS|DDPLUS ^(F.{5}) (.{4}) (..)(..)(..) #IDS|DDPLUS ^(F.{5}) (.{4}) (..)(..)(..)
# FILE -overwrite -log -close -edex /data_store/forecast/(\3:yyyy)(\3:mm)\3/\4/\1_\2_\3\4\5_(seq).%Y%m%d%H
# Change submitted by Dale Morris
IDS|DDPLUS ^(F[A-FH-NP-Z]..[0-9][0-9]) (.{4}) (..)(..)(..)
FILE -overwrite -log -close -edex /data_store/forecast/(\3:yyyy)(\3:mm)\3/\4/\1_\2_\3\4\5_(seq).%Y%m%d%H FILE -overwrite -log -close -edex /data_store/forecast/(\3:yyyy)(\3:mm)\3/\4/\1_\2_\3\4\5_(seq).%Y%m%d%H
IDS|DDPLUS ^(FOUS[1-589].) (....) (..)(..)(..)
FILE -overwrite -log -close -edex /data_store/forecast/(\3:yyyy)(\3:mm)\3/\4/\1_\2_\3\4\5_(seq).%Y%m%d%H
#shef forecasts
IDS|DDPLUS ^(FG..[0-9][0-9]) (.{4}) (..)(..)(..)
FILE -overwrite -log -close -edex /data_store/shef/(\3:yyyy)(\3:mm)\3/\4/\1_\2_\3\4\5_(seq).%Y%m%d%H
IDS|DDPLUS ^(FOUS[67].) (....) (..)(..)(..)
FILE -overwrite -log -close -edex /data_store/shef/(\3:yyyy)(\3:mm)\3/\4/\1_\2_\3\4\5_(seq).%Y%m%d%H
# misc adm messages # misc adm messages
IDS|DDPLUS ^(N.{5}) (.{4}) (..)(..)(..) #IDS|DDPLUS ^(N.{5}) (.{4}) (..)(..)(..)
# FILE -overwrite -log -close -edex /data_store/misc_adm_messages/(\3:yyyy)(\3:mm)\3/\4/\1_\2_\3\4\5_(seq).%Y%m%d%H
#
# separate out svrwx lsr and GSM misc adm messages
IDS|DDPLUS ^(N[A-VYZ]....) (.{4}) (..)(..)(..)
FILE -overwrite -log -close -edex /data_store/misc_adm_messages/(\3:yyyy)(\3:mm)\3/\4/\1_\2_\3\4\5_(seq).%Y%m%d%H
IDS|DDPLUS ^(NWUS[01346-9].) (.{4}) (..)(..)(..)
FILE -overwrite -log -close -edex /data_store/misc_adm_messages/(\3:yyyy)(\3:mm)\3/\4/\1_\2_\3\4\5_(seq).%Y%m%d%H
IDS|DDPLUS ^(NWUS5.) (.{4}) (..)(..)(..)
FILE -overwrite -log -close -edex /data_store/lsr/(\3:yyyy)(\3:mm)\3/\4/\1_\2_\3\4\5_(seq).%Y%m%d%H
IDS|DDPLUS ^(NWUS2.) (.{4}) (..)(..)(..)
FILE -overwrite -log -close -edex /data_store/svrwx/(\3:yyyy)(\3:mm)\3/\4/\1_\2_\3\4\5_(seq).%Y%m%d%H
IDS|DDPLUS ^(NXUS[0-57-9].) (....) (..)(..)(..)
FILE -overwrite -log -close -edex /data_store/misc_adm_messages/(\3:yyyy)(\3:mm)\3/\4/\1_\2_\3\4\5_(seq).%Y%m%d%H FILE -overwrite -log -close -edex /data_store/misc_adm_messages/(\3:yyyy)(\3:mm)\3/\4/\1_\2_\3\4\5_(seq).%Y%m%d%H
# xml # xml
@ -435,9 +471,10 @@ IDS|DDPLUS ^(V.{5}) (.{4}) (..)(..)(..)
# ^(WT)(NT|PZ)\d{2} KNHC.* # ^(WT)(NT|PZ)\d{2} KNHC.*
# ^(WTP)A\d{2} PHFO.* # ^(WTP)A\d{2} PHFO.*
# ^(NWU)S\d{2} KWNS.* # ^(NWU)S\d{2} KWNS.*
# #
# Change suggested by Dale Morris
IDS|DDPLUS ^(W.....) (.{4}) (..)(..)(..) IDS|DDPLUS ^(W.....) (.{4}) (..)(..)(..)
FILE -overwrite -log -close -edex /data_store/warning/(\3:yyyy)(\3:mm)\3/\4/\1_\2_\3\4\5_(seq).%Y%m%d%H FILE -overwrite -log -close -edex /data_store/wwa/(\3:yyyy)(\3:mm)\3/\4/\1_\2_\3\4\5_(seq).%Y%m%d%H
# AWIPS1: TEXT ^WAUS4[1-6].* /aiv/advisories/Raw # AWIPS1: TEXT ^WAUS4[1-6].* /aiv/advisories/Raw
# WAUS44 KKCI 031822 AAA /pWA4T # WAUS44 KKCI 031822 AAA /pWA4T
@ -469,6 +506,19 @@ IDS|DDPLUS ^(WSUS3[123]) (.{4}) (..)(..)(..)
IDS|DDPLUS ^(W[ACSV]US[04][1-6]) (.{4}) (..)(..)(..) IDS|DDPLUS ^(W[ACSV]US[04][1-6]) (.{4}) (..)(..)(..)
FILE -overwrite -log -close -edex /data_store/nonconvsigment/(\3:yyyy)(\3:mm)\3/\4/\1_\2_\3\4\5_(seq).%Y%m%d%H FILE -overwrite -log -close -edex /data_store/nonconvsigment/(\3:yyyy)(\3:mm)\3/\4/\1_\2_\3\4\5_(seq).%Y%m%d%H
# airmet
IDS|DDPLUS ^(WAUS4[1-6]) (.{4}) (..)(..)(..)
FILE -overwrite -log -close -edex /data_store/airmet/(\3:yyyy)(\3:mm)\3/\4/\1_\2_\3\4\5_(seq).%Y%m%d%H
# intlsigmets
IDS|DDPLUS ^(W[CSV]PA((0[1-9])|(1[1-3]))) (PHFO) (..)(..)(..)
FILE -overwrite -log -close -edex /data_store/intlsigmet/(\6:yyyy)(\6:mm)\6/\7/\4/\1_\5_\6\7\8_(seq).%Y%m%d%H
IDS|DDPLUS ^(W[CSV]NT((0[1-9])|(1[1-3]))) (KKCI) (..)(..)(..)
FILE -overwrite -log -close -edex /data_store/intlsigmet/(\6:yyyy)(\6:mm)\6/\7/\4/\1_\5_\6\7\8_(seq).%Y%m%d%H
IDS|DDPLUS ^(WAAK4[789]) (PAWU) (..)(..)(..)
FILE -overwrite -log -close -edex /data_store/intlsigmet/(\3:yyyy)(\3:mm)\3/\4/\1_\2_\3\4\5_(seq).%Y%m%d%H
IDS|DDPLUS ^(W[CSV]PN0[1-6]) (KKCI) (..)(..)(..)
FILE -overwrite -log -close -edex /data_store/intlsigmet/(\3:yyyy)(\3:mm)\3/\4/\1_\2_\3\4\5_(seq).%Y%m%d%H
# already included in text pattern # already included in text pattern
#IDS|DDPLUS ^(S[IMN]V[DCE]..|SSV[DX]..) (....) (..)(..)(..) #IDS|DDPLUS ^(S[IMN]V[DCE]..|SSV[DX]..) (....) (..)(..)(..)
# FILE -overwrite -log -close /data_store/sfcobs/\3/\4/\1_\2_\3\4\5_(seq).%Y%m%d # FILE -overwrite -log -close /data_store/sfcobs/\3/\4/\1_\2_\3\4\5_(seq).%Y%m%d
@ -508,8 +558,9 @@ ANY ^(IUAX0[12]) (....) (..)(..)(..)
EXP ^/data_store/acars/acars_raw/(acars_decrypted.*) EXP ^/data_store/acars/acars_raw/(acars_decrypted.*)
FILE -overwrite -log -close -edex /data_store/acars/acars_decrypted/\1.acars.%Y%m%d%H FILE -overwrite -log -close -edex /data_store/acars/acars_decrypted/\1.acars.%Y%m%d%H
# Need to make sure that IUAK and IUAX are disallowed.
ANY ^(IUA[^X]0[12]) (....) (..)(..)(..) # IUAK are Alaskan profilers and IUAX has encrypted ACARS handled above!
ANY ^(IUA[^XK]0[12]) (....) (..)(..)(..)
FILE -overwrite -close -edex /data_store/acars/(\3:yyyy)(\3:mm)\3/\4/\1_\2_\3\4\5_(seq).bufr.%Y%m%d%H FILE -overwrite -close -edex /data_store/acars/(\3:yyyy)(\3:mm)\3/\4/\1_\2_\3\4\5_(seq).bufr.%Y%m%d%H
# AWIPS1: POINT ^JSAT98.*KKCI.* /aiv/ncwf/Raw # AWIPS1: POINT ^JSAT98.*KKCI.* /aiv/ncwf/Raw
@ -554,7 +605,7 @@ HDS ^(JUTX0[1-9]) (....) (..)(..)(..)
HDS ^(IUTX0[1-9]) (....) (..)(..)(..) HDS ^(IUTX0[1-9]) (....) (..)(..)(..)
FILE -overwrite -log -close -edex /data_store/poessndg/(\3:yyyy)(\3:mm)\3/\4/\1_\2_\3\4\5_(seq).bufr.%Y%m%d%H FILE -overwrite -log -close -edex /data_store/poessndg/(\3:yyyy)(\3:mm)\3/\4/\1_\2_\3\4\5_(seq).bufr.%Y%m%d%H
## HDW Bufr Patters ## ## HDW Bufr Patterns ##
# From [east|west]HDWBufrAcq_patterns.template # # From [east|west]HDWBufrAcq_patterns.template #
### From Automation ### ### From Automation ###