Eclipseplugins
paUserExitDefinitions.java
1 package com.proalpha.pds.templates.jet.trunk;
2 
3 import com.openedge.pdt.core.template.TemplateGenerationException;
4 import com.proalpha.pds.templates.jet.IpaTemplateGenerator;
5 import com.proalpha.pds.templates.data.GeneratorSettingsConstans;
6 
7 import java.util.List;
8 import com.proalpha.pds.templates.jaxb.TtUserExits;
9 import java.util.Map;
10 import com.proalpha.pds.templates.helper.CodeFormatter;
11 import com.proalpha.pds.templates.jaxb.TtUserExits.TtUserExitsRow;
12 
14 {
15  protected static String nl;
16  public static synchronized paUserExitDefinitions create(String lineSeparator)
17  {
18  nl = lineSeparator;
20  nl = null;
21  return result;
22  }
23 
24  public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
25  protected final String TEXT_1 = "";
26  protected final String TEXT_2 = " " + NL + " &GLOB {&PA-XINCLBASISNAME}_";
27  protected final String TEXT_3 = "~{";
28  protected final String TEXT_4 = "/";
29  protected final String TEXT_5 = "} ";
30  protected final String TEXT_6 = NL + " &GLOB {&PA-XLIBBASISNAME}_";
31  protected final String TEXT_7 = "}";
32  protected final String TEXT_8 = NL + " &GLOB {&PA-XBASISNAME}_";
33 
34 /* (non-javadoc)
35  * @see ITemplateGenerator#generate(Object)
36  */
37 public String generate(Map<String, Object> wizardSettings) throws TemplateGenerationException
38  {
39  final StringBuffer stringBuffer = new StringBuffer();
40  stringBuffer.append(TEXT_1);
41 
42 String RelativePath = (String)wizardSettings.get(GeneratorSettingsConstans.RELATIVE_PATH);
43 String fileName = (String)wizardSettings.get(GeneratorSettingsConstans.FILE_NAME);
44 String xbasename = fileName.replace(".","_");
45 String StringConnector = " &";
46 List<TtUserExits.TtUserExitsRow> elementList = (List<TtUserExits.TtUserExitsRow>) wizardSettings.get("UserExits");
47 
48 
49  for (TtUserExitsRow row : elementList ) {
50  if (row.isIsSpecialUserExit() == false) {
51  int iSpace = row.getUserExitName().length();
52  iSpace = 80 - 26 - iSpace;
53  String sBlanks = CodeFormatter.pad("",iSpace,' ');
54  String userExitName = row.getUserExitName();
55 
56  if((xbasename.endsWith("i")) || (xbasename.endsWith("t"))) {
57  stringBuffer.append(TEXT_2);
58  stringBuffer.append(userExitName.replace("XXX", " "));
59  stringBuffer.append(sBlanks);
60  stringBuffer.append(TEXT_3);
61  stringBuffer.append(RelativePath);
62  stringBuffer.append(TEXT_4);
63  stringBuffer.append(fileName);
64  stringBuffer.append(StringConnector);
65  stringBuffer.append(userExitName);
66  stringBuffer.append(TEXT_5);
67  }else if (xbasename.endsWith("l")){
68  stringBuffer.append(TEXT_6);
69  stringBuffer.append(userExitName.replace("XXX", " "));
70  stringBuffer.append(sBlanks);
71  stringBuffer.append(TEXT_3);
72  stringBuffer.append(RelativePath);
73  stringBuffer.append(TEXT_4);
74  stringBuffer.append(fileName);
75  stringBuffer.append(StringConnector);
76  stringBuffer.append(userExitName);
77  stringBuffer.append(TEXT_7);
78  } else {
79  stringBuffer.append(TEXT_8);
80  stringBuffer.append(userExitName.replace("XXX", " "));
81  stringBuffer.append(sBlanks);
82  stringBuffer.append(TEXT_3);
83  stringBuffer.append(RelativePath);
84  stringBuffer.append(TEXT_4);
85  stringBuffer.append(fileName);
86  stringBuffer.append(StringConnector);
87  stringBuffer.append(userExitName);
88  stringBuffer.append(TEXT_7);
89  }
90  }
91  }
92  return stringBuffer.toString();
93  }
94 }