1 package com.proalpha.pds.templates.jet.version61;
3 import com.openedge.pdt.core.template.TemplateGenerationException;
4 import com.proalpha.pds.templates.jet.IpaTemplateGenerator;
5 import com.proalpha.pds.templates.data.GeneratorSettingsConstans;
10 import java.text.SimpleDateFormat;
11 import com.proalpha.pds.templates.helper.CodeFormatter;
15 protected static String nl;
24 public final String NL = nl ==
null ? (System.getProperties().getProperty(
"line.separator")) : nl;
25 protected final String TEXT_1 =
"&ANALYZE-SUSPEND _VERSION-NUMBER UIB_v8r2 GUI" + NL +
"&ANALYZE-RESUME" + NL;
26 protected final String TEXT_2 = NL +
"&ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DECLARATIONS V-table-Win " + NL +
"routine-level on error undo, throw." + NL +
"" + NL +
"/* _UIB-CODE-BLOCK-END */ " + NL +
"&ANALYZE-RESUME" + NL + NL;
27 protected final String TEXT_3 = NL +
"&ANALYZE-SUSPEND _UIB-CODE-BLOCK _XFTR \"Update Information\" Procedure _INLINE" + NL +
"/* Actions: ? ? ? ? adm/support/proc/ds_pa_01.w */" + NL +
"" + NL +
"/* _UIB-CODE-BLOCK-END */" + NL +
"&ANALYZE-RESUME" + NL +
"" + NL +
"&ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS Procedure" + NL +
"/******************************************************************************/" + NL +
"/* @COPYRIGHT@ */" + NL +
"/* Project: proALPHA */" + NL +
"/* */";
28 protected final String TEXT_4 = NL;
29 protected final String TEXT_5 = NL +
"/* */";
30 protected final String TEXT_6 = NL +
"/* Current: @PAVERSION@ as of @PADATE@/@PALASTAUTHOR@ */" + NL +
"/* */" + NL +
"/*----------------------------------------------------------------------------*/" + NL +
"/* DESCRIPTION */" + NL +
"/*----------------------------------------------------------------------------*/" + NL +
"/* */";
31 protected final String TEXT_7 = NL +
"/* */" + NL +
"/*----------------------------------------------------------------------------*/" + NL +
"/* PARAMETERS */" + NL +
"/*----------------------------------------------------------------------------*/" + NL +
"/* Name Description */" + NL +
"/*----------------------------------------------------------------------------*/" + NL +
"/* */" + NL +
"/*----------------------------------------------------------------------------*/" + NL +
"/* HISTORY */" + NL +
"/*----------------------------------------------------------------------------*/" + NL +
"/*@FILEHISTORY@*/" + NL +
"/******************************************************************************/";
32 protected final String TEXT_8 = NL + NL +
"trigger procedure for delete of ";
33 protected final String TEXT_9 =
"." + NL +
"" + NL +
"/* Procedure information */" + NL +
"" + NL +
"&GLOBAL-DEFINE pa-Autor ";
34 protected final String TEXT_10 = NL +
"&GLOBAL-DEFINE pa-Version @PAVERSION@" + NL +
"&GLOBAL-DEFINE pa-Datum @PADATE@" + NL +
"&GLOBAL-DEFINE pa-Letzter @PALASTAUTHOR@" + NL +
"" + NL +
"&GLOBAL-DEFINE pa-GenVersion OEA" + NL +
"&GLOBAL-DEFINE pa-ProgrammTyp Trigger" + NL +
"&GLOBAL-DEFINE pa-XBasisName ";
35 protected final String TEXT_11 = NL + NL +
"/* Type specific global definitions (prior to parameter definition!) ---------*/" + NL +
"" + NL +
"&GLOBAL-DEFINE pa-TriggerFunktion DELETE" + NL +
"&GLOBAL-DEFINE pa-TriggerTabelle ";
36 protected final String TEXT_12 = NL + NL +
"/* Globals -------------------------------------------------------------------*/" + NL +
"" + NL +
"{adm/template/incl/dt_trg10.df}" + NL +
"" + NL +
"/* SCOPEDs ------------------------------------------------------------------*/" + NL +
"" + NL +
"/* Variables -----------------------------------------------------------------*/" + NL +
"/*----------------------------------------------------------------------------*/" + NL +
"" + NL +
"/* Buffers -------------------------------------------------------------------*/" + NL +
"" + NL +
"" + NL +
"/* _UIB-CODE-BLOCK-END */" + NL +
"&ANALYZE-RESUME" + NL +
"" + NL +
"" + NL +
"&ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK" + NL +
"" + NL +
"/* ******************** Preprocessor Definitions ******************** */" + NL +
"" + NL +
"&Scoped-define PROCEDURE-TYPE Procedure" + NL +
"" + NL +
"/* _UIB-PREPROCESSOR-BLOCK-END */" + NL +
"&ANALYZE-RESUME" + NL +
"" + NL +
"" + NL +
"/* *********************** Procedure Settings ************************ */" + NL +
"" + NL +
"&ANALYZE-SUSPEND _PROCEDURE-SETTINGS" + NL +
"/* Settings for THIS-PROCEDURE" + NL +
" Type: Procedure" + NL +
" Allow:" + NL +
" Frames: 0" + NL +
" Add Fields to: Neither" + NL +
" Other Settings: CODE-ONLY" + NL +
" */" + NL +
"&ANALYZE-RESUME _END-PROCEDURE-SETTINGS" + NL +
"" + NL +
"/* ************************* Create Window ************************** */" + NL +
"" + NL +
"&ANALYZE-SUSPEND _CREATE-WINDOW" + NL +
"/* DESIGN Window definition (used by the UIB)" + NL +
" CREATE WINDOW Procedure ASSIGN" + NL +
" HEIGHT = 10" + NL +
" WIDTH = 50." + NL +
"/* END WINDOW DEFINITION */" + NL +
" */" + NL +
"&ANALYZE-RESUME" + NL +
"" + NL +
"" + NL +
"&ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB Procedure" + NL +
"/* ************************* Included-Libraries *********************** */" + NL +
"" + NL +
"{adm/method/incl/dm_trg00.lib}" + NL +
"" + NL +
"/* _UIB-CODE-BLOCK-END */" + NL +
"&ANALYZE-RESUME" + NL +
"" + NL +
"&ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK Procedure" + NL +
"" + NL +
"/*----------------------------------------------------------------------------*/" + NL +
"/* Processing */" + NL +
"/*----------------------------------------------------------------------------*/" + NL +
"" + NL +
"/* Common pre-processing */" + NL +
"" + NL +
"{adm/template/incl/dt_trg10.if}" + NL;
37 protected final String TEXT_13 = NL +
"/* checks covering other companies */" + NL +
"" + NL +
"for each S_Firma fields (Firma)" + NL +
" where S_Firma.Firma begins ";
38 protected final String TEXT_14 =
".Firma" + NL +
" and {firma/";
39 protected final String TEXT_15 =
" S_Firma.Firma} = ";
40 protected final String TEXT_16 =
".Firma" + NL +
" no-lock" + NL +
" on error undo, throw:" + NL +
"" + NL +
"end.";
41 protected final String TEXT_17 = NL + NL +
"/* Deletions */" + NL;
42 protected final String TEXT_18 = NL +
"/* Processing covering other companies */" + NL +
"" + NL +
"for each S_Firma fields (Firma)" + NL +
" where S_Firma.Firma begins ";
43 protected final String TEXT_19 = NL + NL +
"/* address usage within other modules */" + NL +
"" + NL +
"/* Internal deletions */" + NL;
44 protected final String TEXT_20 = NL +
"/* delete language records */" + NL +
"" + NL +
"for each ";
45 protected final String TEXT_21 =
"Spr of ";
46 protected final String TEXT_22 = NL +
" exclusive-lock" + NL +
" on error undo, throw:" + NL +
" delete ";
47 protected final String TEXT_23 =
"Spr." + NL +
"end.";
48 protected final String TEXT_24 = NL + NL +
"/* Common post-processing */" + NL +
"" + NL +
"{adm/template/incl/dt_trg20.if}" + NL +
"" + NL +
"/* Cleanup with optional \"finally\"-Block */" + NL +
"" + NL +
"" + NL +
"/* _UIB-CODE-BLOCK-END */" + NL +
"&ANALYZE-RESUME";
53 public String generate(Map<String, Object> wizardSettings)
throws TemplateGenerationException
55 final StringBuffer stringBuffer =
new StringBuffer();
61 String module = (String)wizardSettings.get(
"Module");
64 String xbasename = fileName.replace(
".",
"_");
65 Date date =
new Date();
66 SimpleDateFormat year =
new SimpleDateFormat(
"yyyy");
67 SimpleDateFormat today =
new SimpleDateFormat(
"dd.MM.yyyy");
68 stringBuffer.append(TEXT_1);
69 if ((fileName.endsWith(
".p")) || (fileName.endsWith(
".w") || (fileName.endsWith(
".cls"))))
71 stringBuffer.append(TEXT_2);
73 stringBuffer.append(TEXT_3);
74 stringBuffer.append(TEXT_4);
75 stringBuffer.append(
CodeFormatter.SingleLineComment(
"Name : " + fileName));
76 stringBuffer.append(TEXT_4);
77 stringBuffer.append(
CodeFormatter.SingleLineComment(
"Product: " + product +
" - " + productDesc ));
78 stringBuffer.append(TEXT_4);
79 stringBuffer.append(
CodeFormatter.SingleLineComment(
"Module : " + module +
" - " + moduleDesc ));
80 stringBuffer.append(TEXT_5);
81 stringBuffer.append(TEXT_4);
82 stringBuffer.append(
CodeFormatter.SingleLineComment(
"Created: " + version +
" as of " + today.format(date) +
"/" + author));
83 stringBuffer.append(TEXT_6);
84 stringBuffer.append(TEXT_4);
85 stringBuffer.append(
CodeFormatter.MultiLineComment(description));
86 stringBuffer.append(TEXT_7);
90 stringBuffer.append(TEXT_8);
91 stringBuffer.append(TableName);
92 stringBuffer.append(TEXT_9);
93 stringBuffer.append(author);
94 stringBuffer.append(TEXT_10);
95 stringBuffer.append(xbasename);
96 stringBuffer.append(TEXT_11);
97 stringBuffer.append(TableName);
98 stringBuffer.append(TEXT_12);
100 stringBuffer.append(TEXT_13);
101 stringBuffer.append(TableName);
102 stringBuffer.append(TEXT_14);
104 stringBuffer.append(TEXT_15);
105 stringBuffer.append(TableName);
106 stringBuffer.append(TEXT_16);
108 stringBuffer.append(TEXT_17);
110 stringBuffer.append(TEXT_18);
111 stringBuffer.append(TableName);
112 stringBuffer.append(TEXT_14);
114 stringBuffer.append(TEXT_15);
115 stringBuffer.append(TableName);
116 stringBuffer.append(TEXT_16);
118 stringBuffer.append(TEXT_19);
120 stringBuffer.append(TEXT_20);
121 stringBuffer.append(TableName);
122 stringBuffer.append(TEXT_21);
123 stringBuffer.append(TableName);
124 stringBuffer.append(TEXT_22);
125 stringBuffer.append(TableName);
126 stringBuffer.append(TEXT_23);
128 stringBuffer.append(TEXT_24);
129 stringBuffer.append(TEXT_4);
130 return stringBuffer.toString();