Skip to content
Open
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -125,6 +125,8 @@ env: |
value: {{ index .Values "default-localization-locale-list" | quote }}
- name: DEFAULT_LOCALIZATION_MODULE_CREATE_LIST
value: {{ index .Values "default-localization-module-list" | quote }}
- name: DEV_ENABLED
value: "true"
- name: JAVA_OPTS
value: {{ index .Values "heap" | quote }}
- name: JAVA_ARGS
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -97,18 +97,38 @@ public void executeStartupLogic() throws Exception {
defaultDataRequest.setTargetTenantId(tenantCode);
// Create Schema
dataHandlerService.createMdmsSchemaFromFile(defaultDataRequest);
// Load mdms data
mdmsBulkLoader.loadAllMdmsData(defaultDataRequest.getTargetTenantId(), defaultDataRequest.getRequestInfo());
// create Boundary Data
dataHandlerService.createBoundaryDataFromFile(defaultDataRequest);
// upsert localization
localizationUtil.upsertLocalizationFromFile(defaultDataRequest);
// // create User
// dataHandlerService.createUserFromFile(tenantRequest);

// Load default MDMS data (always)
mdmsBulkLoader.loadAllMdmsData(defaultDataRequest.getTargetTenantId(),
defaultDataRequest.getRequestInfo(),
serviceConfig.getDefaultMdmsDataPath());

// Load default localization (always)
localizationUtil.upsertLocalizationFromFile(defaultDataRequest,
serviceConfig.getDefaultLocalizationDataPath());

// Load boundary, localization, user, employee, and workflow config data only if enabled
if (serviceConfig.isDevEnabled()) {
// Load dev MDMS data
mdmsBulkLoader.loadAllMdmsData(defaultDataRequest.getTargetTenantId(),
defaultDataRequest.getRequestInfo(),
serviceConfig.getDevMdmsDataPath());

// Load dev localization
localizationUtil.upsertLocalizationFromFile(defaultDataRequest,
serviceConfig.getDevLocalizationDataPath());

// // create Boundary Data
// dataHandlerService.createBoundaryDataFromFile(defaultDataRequest);
//
// dataHandlerService.createPgrWorkflowConfig(tenantRequest.getTenant().getCode());
// // create Employee
// dataHandlerService.createEmployeeFromFile(defaultDataRequest.getRequestInfo());
// // create User from dev file
// dataHandlerService.createUserFromFile(tenantRequest, serviceConfig.getDevUserDataFile());
// // create PGR workflow config
// dataHandlerService.createPgrWorkflowConfig(tenantRequest.getTenant().getCode());
// // create Employee from dev file
// dataHandlerService.createEmployeeFromFile(defaultDataRequest.getRequestInfo(),
// serviceConfig.getDevEmployeeDataFile());
}

// dataHandlerService.createTenantConfig(tenantRequest);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ public class StartupUserAndEmployeeInitializer {
private int executionCount = 0;
private static final int MAX_EXECUTIONS = 4;

@Scheduled(initialDelay = 4 * 60 * 1000, fixedDelay = 4 * 60 * 1000) // 4 minutes
@Scheduled(initialDelay = 1 * 30 * 1000, fixedDelay = 1 * 30 * 1000) // 4 minutes
public void runPeriodically() {
if (executionCount >= MAX_EXECUTIONS) return;

Expand Down Expand Up @@ -94,12 +94,42 @@ public void executeStartupLogic() throws Exception {

// Execute your logic
dataHandlerService.createMdmsSchemaFromFile(defaultDataRequest);
mdmsBulkLoader.loadAllMdmsData(defaultDataRequest.getTargetTenantId(), defaultDataRequest.getRequestInfo());
dataHandlerService.createBoundaryDataFromFile(defaultDataRequest);
localizationUtil.upsertLocalizationFromFile(defaultDataRequest);
dataHandlerService.createUserFromFile(tenantRequest);
dataHandlerService.createPgrWorkflowConfig(tenantRequest.getTenant().getCode());
dataHandlerService.createEmployeeFromFile(defaultDataRequest.getRequestInfo());

// Load default MDMS data (always)
mdmsBulkLoader.loadAllMdmsData(defaultDataRequest.getTargetTenantId(),
defaultDataRequest.getRequestInfo(),
serviceConfig.getDefaultMdmsDataPath());

// Load default localization (always)
localizationUtil.upsertLocalizationFromFile(defaultDataRequest,
serviceConfig.getDefaultLocalizationDataPath());

// Load default user (always)
dataHandlerService.createUserFromFile(tenantRequest, serviceConfig.getDefaultUserDataFile());

// Load default employee (always)
dataHandlerService.createEmployeeFromFile(defaultDataRequest.getRequestInfo(),
serviceConfig.getDefaultEmployeeDataFile());

// Load boundary, localization, user, employee, and workflow config data only if enabled
if (serviceConfig.isDevEnabled()) {
// Load dev MDMS data
mdmsBulkLoader.loadAllMdmsData(defaultDataRequest.getTargetTenantId(),
defaultDataRequest.getRequestInfo(),
serviceConfig.getDevMdmsDataPath());

// Load dev localization
localizationUtil.upsertLocalizationFromFile(defaultDataRequest,
serviceConfig.getDevLocalizationDataPath());

dataHandlerService.createBoundaryDataFromFile(defaultDataRequest);

// Load dev users and employees
dataHandlerService.createUserFromFile(tenantRequest, serviceConfig.getDevUserDataFile());
dataHandlerService.createPgrWorkflowConfig(tenantRequest.getTenant().getCode());
dataHandlerService.createEmployeeFromFile(defaultDataRequest.getRequestInfo(),
serviceConfig.getDevEmployeeDataFile());
}
}
}

Original file line number Diff line number Diff line change
Expand Up @@ -131,4 +131,31 @@ public class ServiceConfiguration {

@Value("${scheduler.max.executions}")
private String maxExecution;

@Value("${dev.enabled}")
private boolean devEnabled;

@Value("${default.mdms.data.path}")
private String defaultMdmsDataPath;

@Value("${default.user.data.file}")
private String defaultUserDataFile;

@Value("${default.employee.data.file}")
private String defaultEmployeeDataFile;

@Value("${dev.mdms.data.path}")
private String devMdmsDataPath;

@Value("${dev.user.data.file}")
private String devUserDataFile;

@Value("${dev.employee.data.file}")
private String devEmployeeDataFile;

@Value("${default.localization.data.path}")
private String defaultLocalizationDataPath;

@Value("${dev.localization.data.path}")
private String devLocalizationDataPath;
}
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ public void createDefaultData(DefaultDataRequest defaultDataRequest) {
// }
}

public User createUserFromFile(TenantRequest tenantRequest) throws IOException {
public User createUserFromFile(TenantRequest tenantRequest, String userFilePath) throws IOException {
String tenantCode = tenantRequest.getTenant().getCode();
StringBuilder uri = new StringBuilder(serviceConfig.getUserHost())
.append(serviceConfig.getUserContextPath())
Expand All @@ -102,8 +102,8 @@ public User createUserFromFile(TenantRequest tenantRequest) throws IOException {
ArrayList<User> userList = new ArrayList<>();

try {
log.info("Reading User.json for tenant: {}", tenantCode);
Resource resource = resourceLoader.getResource("classpath:User.json");
log.info("Reading User file from {} for tenant: {}", userFilePath, tenantCode);
Resource resource = resourceLoader.getResource(userFilePath);
String rawJson = StreamUtils.copyToString(resource.getInputStream(), StandardCharsets.UTF_8);

rawJson = rawJson.replace("{tenantid}", tenantCode);
Expand Down Expand Up @@ -151,13 +151,14 @@ public User createUserFromFile(TenantRequest tenantRequest) throws IOException {
}


public void createEmployeeFromFile(RequestInfo requestInfo) throws IOException {
public void createEmployeeFromFile(RequestInfo requestInfo, String employeeFilePath) throws IOException {
String uri = serviceConfig.getHrmsHost() + serviceConfig.getHrmsCreatePath();
String userUpdateUrl = serviceConfig.getUserHost() +serviceConfig.getUserContextPath() + serviceConfig.getUserUpdateEndpoint();
String tenantId = requestInfo.getUserInfo().getTenantId();

try {
Resource resource = resourceLoader.getResource("classpath:HRMS.json");
log.info("Reading Employee file from {}", employeeFilePath);
Resource resource = resourceLoader.getResource(employeeFilePath);
String rawJson = StreamUtils.copyToString(resource.getInputStream(), StandardCharsets.UTF_8);

// Replace placeholders with tenant ID
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,9 +50,9 @@ public void createLocalizationData(DefaultLocalizationDataRequest defaultLocaliz
}
}

public void upsertLocalizationFromFile(DefaultDataRequest defaultDataRequest){
public void upsertLocalizationFromFile(DefaultDataRequest defaultDataRequest, String localizationPath){

List<Message> messageList = addMessagesFromFile(defaultDataRequest);
List<Message> messageList = addMessagesFromFile(defaultDataRequest, localizationPath);
defaultDataRequest.getRequestInfo().getUserInfo().setId(128L);

String tenantId = defaultDataRequest.getTargetTenantId();
Expand Down Expand Up @@ -88,14 +88,15 @@ public void upsertLocalizationFromFile(DefaultDataRequest defaultDataRequest){
}
}

public List addMessagesFromFile(DefaultDataRequest defaultDataRequest){
public List addMessagesFromFile(DefaultDataRequest defaultDataRequest, String localizationPath){
List<Message> messages = new ArrayList<>();
ObjectMapper objectMapper = new ObjectMapper();

try {
PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();

Resource[] resources = resolver.getResources("classpath:localisations/*/*.json");
Resource[] resources = resolver.getResources(localizationPath);
log.info("Loading localization from path: {}", localizationPath);

for (Resource resource : resources) {
try (InputStream inputStream = resource.getInputStream()) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,12 +27,12 @@ public class MdmsBulkLoader {
private final ServiceConfiguration serviceConfig;


public void loadAllMdmsData(String tenantId, RequestInfo requestInfo) {
public void loadAllMdmsData(String tenantId, RequestInfo requestInfo, String mdmsDataPath) {
try {
PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();

// Match all files inside mdmsData/**.json
Resource[] resources = resolver.getResources("classpath:mdmsData/**/*.json");
// Match all files inside the specified path
Resource[] resources = resolver.getResources(mdmsDataPath);

for (Resource resource : resources) {
String fileName = resource.getFilename();
Expand Down
Loading