package com.example.utils;
import com.example.services.Event;
import com.example.services.FileOperation;
import com.example.services.impl.S3FileEvent;
import com.amazonaws.services.sqs.model.Message;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
import java.io.File;
import java.nio.file.Path;
public class SQSUtils {
private final static JsonParser parser = new JsonParser();
public static Event convertMessageToEvent(Path baseDir, Message message) {
JsonObject msgAsJson = parser.parse(parser.parse(message.getBody()).getAsJsonObject().get("Message").getAsString()).getAsJsonObject();
String path = baseDir + File.separator + msgAsJson.get("file").getAsString();
File file = new File(path);
FileOperation operation = S3FileEvent.getFileOperation(msgAsJson.get("operation").getAsString());
String originator = msgAsJson.get("originator").getAsString();
Event event;
if (path.endsWith("/")) {
event = new S3FileEvent(operation, file, originator, true);
} else {
event = new S3FileEvent(operation, file, originator);
}
return event;
}
public static String getQueueNameFromQueueUrl(String queueUrl) {
return queueUrl.substring(queueUrl.lastIndexOf("/") + 1);
}
}