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;
 
    9 import java.text.SimpleDateFormat;
 
   10 import com.proalpha.pds.templates.helper.CodeFormatter;
 
   14   protected static String nl;
 
   23   public final String NL = nl == 
null ? (System.getProperties().getProperty(
"line.separator")) : nl;
 
   24   protected final String TEXT_1 = 
"&ANALYZE-SUSPEND _VERSION-NUMBER UIB_v8r2" + NL + 
"&ANALYZE-RESUME" + 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 + 
"/*                                                                            */";
 
   25   protected final String TEXT_2 = NL;
 
   26   protected final String TEXT_3 = NL + 
"/*                                                                            */";
 
   27   protected final String TEXT_4 = NL + 
"/* Current: @PAVERSION@ as of @PADATE@/@PALASTAUTHOR@                         */" + NL + 
"/*                                                                            */" + NL + 
"/*----------------------------------------------------------------------------*/" + NL + 
"/* DESCRIPTION                                                                */" + NL + 
"/*----------------------------------------------------------------------------*/" + NL + 
"/*                                                                            */";
 
   28   protected final String TEXT_5 = NL + 
"/*                                                                            */" + NL + 
"/*----------------------------------------------------------------------------*/" + NL + 
"/* PARAMETERS                                                                 */" + NL + 
"/*----------------------------------------------------------------------------*/" + NL + 
"/* Name                      Description                                      */" + NL + 
"/*----------------------------------------------------------------------------*/" + NL + 
"/* &ippModifier              Dataset modifier  (used in Classes and           */" + NL + 
"/*                           Interfaces only). Valid values are private or    */" + NL + 
"/*                           protected.                                       */" + NL + 
"/* &ippStatic                YES, if Dataset is defined STATIC (used in       */" + NL + 
"/*                           Classes and Interfaces only).                    */" + NL + 
"/*----------------------------------------------------------------------------*/" + NL + 
"/* HISTORY                                                                    */" + NL + 
"/*----------------------------------------------------------------------------*/" + NL + 
"/*@FILEHISTORY@*/" + NL + 
"/******************************************************************************/" + NL + 
"" + NL + 
"/* Procedure Information -----------------------------------------------------*/" + NL + 
"" + NL + 
"&SCOPED-DEFINE pa-XInclBasisName    ";
 
   29   protected final String TEXT_6 = NL + NL + 
"/* Globals -------------------------------------------------------------------*/" + NL + 
"" + NL + 
"/* SCOPEDs -------------------------------------------------------------------*/" + NL + 
"" + NL + 
"&SCOPED-DEFINE ppDatasetName            ";
 
   30   protected final String TEXT_7 = NL + 
"&SCOPED-DEFINE ppBusinessEntityObject   ";
 
   31   protected final String TEXT_8 = NL + 
"&SCOPED-DEFINE ppDataAccessObject       ";
 
   32   protected final String TEXT_9 = NL + 
"&SCOPED-DEFINE ppMasterDataValidation   ";
 
   33   protected final String TEXT_10 = NL + 
"&SCOPED-DEFINE ppReadOnly               ";
 
   34   protected final String TEXT_11 = NL + 
"&SCOPED-DEFINE ppGetChanges             ";
 
   35   protected final String TEXT_12 = NL + 
"&SCOPED-DEFINE ppExportProperties" + NL + 
"&SCOPED-DEFINE ppDatasetVersion         00001" + NL + 
"" + NL + 
"/* Variables -----------------------------------------------------------------*/" + NL + 
"/*----------------------------------------------------------------------------*/" + NL + 
"" + NL + 
"&IF DEFINED(ippOOABL) = 0" + NL + 
"  or \"{&ippOOABL}\" = \"Definitions\" &THEN" + NL + 
"" + NL + 
"  /* Temp-Tables -------------------------------------------------------------*/" + NL + 
"" + NL + 
"  {.../.../incl/.._......tdf {&*}}" + NL + 
"  {.../.../incl/.._......tdf {&*}}" + NL + 
"  {.../.../incl/.._......tdf {&*}}" + NL + 
"" + NL + 
"  /* ProDataSet Definition ---------------------------------------------------*/" + NL + 
"" + NL + 
"  define " + NL + 
"    {&ippModifier} " + NL + 
"    &IF \"{&ippStatic}\" = \"yes\" &THEN " + NL + 
"      static " + NL + 
"    &ENDIF" + NL + 
"    dataset {&ppDatasetName}" + NL + 
"    &IF \"{&ippNoReferenceOnlySwitch}\" <> \"YES\" &THEN" + NL + 
"      reference-only" + NL + 
"    &ENDIF" + NL + 
"    for ..." + NL + 
" " + NL + 
"    data-relation dr... for <parent_buffer>,<child_buffer>" + NL + 
"       relation-fields (<parent_field>,<child_field>) nested" + NL + 
"    ." + NL + 
"" + NL + 
"&ENDIF" + NL + 
"" + NL + 
"&IF    \"{&ippNoReferenceOnlySwitch}\" = \"YES\"" + NL + 
"   AND (   DEFINED(ippOOABL) = 0" + NL + 
"        OR \"{&ippOOABL}\" = \"Constructor\") &THEN" + NL + 
"  {setproperty" + NL + 
"    {&ppDatasetName}" + NL + 
"    'CascadeDeletiondr...':U" + NL + 
"    'yes/no':U}." + NL + 
"&ENDIF" + NL + 
"" + NL + 
"/* _UIB-CODE-BLOCK-END */" + NL + 
"&ANALYZE-RESUME" + NL + 
"" + NL + 
"" + NL + 
"&ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK" + NL + 
"" + NL + 
"/* ********************  Preprocessor Definitions  ******************** */" + NL + 
"" + NL + 
"" + NL + 
"" + NL + 
"/* _UIB-PREPROCESSOR-BLOCK-END */" + NL + 
"&ANALYZE-RESUME" + NL + 
"" + NL + 
"" + NL + 
"" + NL + 
"/* *********************** Procedure Settings ************************ */" + NL + 
"" + NL + 
"&ANALYZE-SUSPEND _PROCEDURE-SETTINGS" + NL + 
"/* Settings for THIS-PROCEDURE" + NL + 
"   Type: Include" + NL + 
"   Allow:" + NL + 
"   Frames: 0" + NL + 
"   Add Fields to: Neither" + NL + 
"   Other Settings: INCLUDE-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 Include ASSIGN" + NL + 
"         HEIGHT             = 8.1" + NL + 
"         WIDTH              = 55.2." + NL + 
"/* END WINDOW DEFINITION */" + NL + 
"                                                                        */" + NL + 
"&ANALYZE-RESUME" + NL + 
"" + NL + 
"" + NL + 
"" + NL + 
"" + NL + 
"" + NL + 
"&ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK Include" + NL + 
"" + NL + 
"" + NL + 
"/* ***************************  Main Block  *************************** */" + NL + 
"" + NL + 
"{adm/template/incl/dt_pds00.i {&*}}" + NL + 
"" + NL + 
"/* _UIB-CODE-BLOCK-END */" + NL + 
"&ANALYZE-RESUME";
 
   40 public String generate(Map<String, Object> wizardSettings) 
throws TemplateGenerationException
 
   42     final StringBuffer stringBuffer = 
new StringBuffer();
 
   48     String module      = (String)wizardSettings.get(
"Module"); 
 
   51     String xbasename   = fileName.replace(
".",
"_"); 
 
   52     Date date = 
new Date();
 
   53     SimpleDateFormat year = 
new SimpleDateFormat(
"yyyy");
 
   54     SimpleDateFormat today  = 
new SimpleDateFormat(
"dd.MM.yyyy");
 
   58     String masterDataValidation = ((String)wizardSettings.get(
GeneratorSettingsConstans.MASTER_DATA_VALIDATION)).equals(
"true")?
"yes":
"no";
 
   61     stringBuffer.append(TEXT_1);
 
   62     stringBuffer.append(TEXT_2);
 
   63     stringBuffer.append(
CodeFormatter.SingleLineComment(
"Name   : " + fileName));
 
   64     stringBuffer.append(TEXT_2);
 
   65     stringBuffer.append(
CodeFormatter.SingleLineComment(
"Product: " + product + 
" - " + productDesc ));
 
   66     stringBuffer.append(TEXT_2);
 
   67     stringBuffer.append(
CodeFormatter.SingleLineComment(
"Module : " + module + 
" - " + moduleDesc ));
 
   68     stringBuffer.append(TEXT_3);
 
   69     stringBuffer.append(TEXT_2);
 
   70     stringBuffer.append(
CodeFormatter.SingleLineComment(
"Created: " + version + 
" as of " + today.format(date) + 
"/" + author));
 
   71     stringBuffer.append(TEXT_4);
 
   72     stringBuffer.append(TEXT_2);
 
   73     stringBuffer.append(
CodeFormatter.MultiLineComment(description));
 
   74     stringBuffer.append(TEXT_5);
 
   75     stringBuffer.append(xbasename);
 
   76     stringBuffer.append(TEXT_6);
 
   77     stringBuffer.append(datasetName);
 
   78     stringBuffer.append(TEXT_7);
 
   79     stringBuffer.append(businessEntityObject);
 
   80     stringBuffer.append(TEXT_8);
 
   81     stringBuffer.append(dataAccessObject);
 
   82     stringBuffer.append(TEXT_9);
 
   83     stringBuffer.append(masterDataValidation);
 
   84     stringBuffer.append(TEXT_10);
 
   85     stringBuffer.append(readOnly);
 
   86     stringBuffer.append(TEXT_11);
 
   87     stringBuffer.append(getChanges);
 
   88     stringBuffer.append(TEXT_12);
 
   89     stringBuffer.append(TEXT_2);
 
   90     return stringBuffer.toString();