1 package com.proalpha.pds.generator;
3 import org.eclipse.jface.dialogs.MessageDialog;
4 import org.eclipse.ui.PlatformUI;
5 import org.slf4j.Logger;
6 import org.slf4j.LoggerFactory;
8 import com.proalpha.pds.templates.data.IGeneratorDataContainer;
20 private static final String TRIGGER_MODE_CREATE =
"Create";
21 private static final String TRIGGER_MODE_DELETE =
"Delete";
22 private static final String TRIGGER_MODE_WRITE =
"Write";
23 private static final String TEMPLATE_GENERATOR_CREATE_TRIGGER =
"pACreateTrigger";
24 private static final String TEMPLATE_GENERATOR_DELETE_TRIGGER =
"pADeleteTrigger";
25 private static final String TEMPLATE_GENERATOR_WRITE_TRIGGER =
"pAWriteTrigger";
40 this.dataContainer = dataContainer;
41 initializeGenerator();
44 private void initializeGenerator() {
48 dataContainer.setDescription(
49 this.dataContainer.getRepositoryInformations().getProgramShortDesc(dataContainer.getFileName()));
53 String tableName = dataContainer.getTableName();
57 String listOfFieldNames = this.dataContainer.getRepositoryInformations().getListOfTableFields(tableName);
59 Boolean isObjectID = (listOfFieldNames.toLowerCase().contains(tableName.concat(
"_Obj").toLowerCase()));
60 dataContainer.setIsObjectID(isObjectID);
64 Boolean hasCompany = listOfFieldNames.toLowerCase().contains(
"firma");
65 dataContainer.setHasCompanyField(hasCompany);
67 dataContainer.setCompanyInclude(
68 this.dataContainer.getRepositoryInformations().getTableCompanyInclude(tableName));
73 dataContainer.setHasClassicLngTable(
77 Boolean hasGermanFieldNames = listOfFieldNames.toLowerCase().contains(
"anlagebenutzer");
78 Boolean hasEnglishFieldNames = listOfFieldNames.toLowerCase().contains(
"createdby");
79 Boolean hasDateTimeFields = listOfFieldNames.toLowerCase().contains(
"creationdatetime");
81 dataContainer.setHasChangeLogGerman(hasGermanFieldNames);
82 dataContainer.setHasChangeLogEnglish(hasEnglishFieldNames);
83 dataContainer.setHasChangeLogDateTime(hasDateTimeFields);
85 }
catch (Exception e) {
86 logger.debug(
"Error during initializing Triggergenerator: {}", e.getMessage());
87 MessageDialog.openError(PlatformUI.getWorkbench().getDisplay().getActiveShell(),
88 "Unable to initialize Template", e.getMessage());
99 String triggerMode = dataContainer.getTriggerMode();
100 String templateGeneratorName =
"";
102 if (triggerMode.contains(TRIGGER_MODE_WRITE)) {
104 templateGeneratorName = TEMPLATE_GENERATOR_WRITE_TRIGGER;
106 }
else if (triggerMode.contains(TRIGGER_MODE_DELETE)) {
108 templateGeneratorName = TEMPLATE_GENERATOR_DELETE_TRIGGER;
110 }
else if (triggerMode.contains(TRIGGER_MODE_CREATE)) {
112 templateGeneratorName = TEMPLATE_GENERATOR_CREATE_TRIGGER;
116 new ContentGenerator(
"Trigger Generator", dataContainer, templateGeneratorName).schedule();
TriggerFileGenerator(IGeneratorDataContainer dataContainer)