in tools/shell-dev-commands/src/main/java/org/apache/unomi/shell/commands/DeployDefinition.java [40:110]
public void processDefinition(String definitionType, URL definitionURL) {
try {
if (ALL_OPTION_LABEL.equals(definitionType)) {
String definitionURLString = definitionURL.toString();
for (String possibleDefinitionType : definitionTypes) {
if (definitionURLString.contains(getDefinitionTypePath(possibleDefinitionType))) {
definitionType = possibleDefinitionType;
break;
}
}
if (ALL_OPTION_LABEL.equals(definitionType)) {
System.out.println("Couldn't resolve definition type for definition URL " + definitionURL);
return;
}
}
boolean successful = true;
switch (definitionType) {
case CONDITION_DEFINITION_TYPE:
ConditionType conditionType = CustomObjectMapper.getObjectMapper().readValue(definitionURL, ConditionType.class);
definitionsService.setConditionType(conditionType);
break;
case ACTION_DEFINITION_TYPE:
ActionType actionType = CustomObjectMapper.getObjectMapper().readValue(definitionURL, ActionType.class);
definitionsService.setActionType(actionType);
break;
case GOAL_DEFINITION_TYPE:
Goal goal = CustomObjectMapper.getObjectMapper().readValue(definitionURL, Goal.class);
goalsService.setGoal(goal);
break;
case CAMPAIGN_DEFINITION_TYPE:
Campaign campaign = CustomObjectMapper.getObjectMapper().readValue(definitionURL, Campaign.class);
goalsService.setCampaign(campaign);
break;
case PERSONA_DEFINITION_TYPE:
PersonaWithSessions persona = CustomObjectMapper.getObjectMapper().readValue(definitionURL, PersonaWithSessions.class);
profileService.savePersonaWithSessions(persona);
break;
case PROPERTY_DEFINITION_TYPE:
PropertyType propertyType = CustomObjectMapper.getObjectMapper().readValue(definitionURL, PropertyType.class);
profileService.setPropertyTypeTarget(definitionURL, propertyType);
profileService.setPropertyType(propertyType);
break;
case RULE_DEFINITION_TYPE:
Rule rule = CustomObjectMapper.getObjectMapper().readValue(definitionURL, Rule.class);
rulesService.setRule(rule);
break;
case SEGMENT_DEFINITION_TYPE:
Segment segment = CustomObjectMapper.getObjectMapper().readValue(definitionURL, Segment.class);
segmentService.setSegmentDefinition(segment);
break;
case SCORING_DEFINITION_TYPE:
Scoring scoring = CustomObjectMapper.getObjectMapper().readValue(definitionURL, Scoring.class);
segmentService.setScoringDefinition(scoring);
break;
case PATCH_DEFINITION_TYPE:
Patch patch = CustomObjectMapper.getObjectMapper().readValue(definitionURL, Patch.class);
patchService.patch(patch);
break;
default:
System.out.println("Unrecognized definition type:" + definitionType);
successful = false;
break;
}
if (successful) {
System.out.println("Predefined definition registered : " + definitionURL.getFile());
}
} catch (IOException e) {
System.out.println("Error while saving definition " + definitionURL);
System.out.println(e.getMessage());
}
}