blob: dbd8b91210128da6a764f32cde745c3aab7e8f00 [file] [log] [blame]
package org.apache.airavata.datalake.metadata.parsers;
import com.google.protobuf.GeneratedMessageV3;
import org.apache.airavata.datalake.metadata.backend.neo4j.model.nodes.Entity;
import org.apache.airavata.datalake.metadata.backend.neo4j.model.nodes.User;
import org.apache.airavata.datalake.metadata.mergers.Merger;
import org.dozer.DozerBeanMapper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@Component
public class UserParser implements Parser {
private static final Logger LOGGER = LoggerFactory.getLogger(UserParser.class);
@Autowired
private DozerBeanMapper dozerBeanMapper;
@Override
public User parse(GeneratedMessageV3 entity, Entity parentEntity, ExecutionContext executionContext, Merger merger) {
if (entity instanceof org.apache.airavata.datalake.metadata.service.User) {
org.apache.airavata.datalake.metadata.service.User user =
(org.apache.airavata.datalake.metadata.service.User) entity;
User usr = (User) dozerBeanMapper.map(user,
org.apache.airavata.datalake.metadata.backend.neo4j.model.nodes.User.class);
executionContext.addNeo4JConvertedModels(usr.getSearchableId(), usr);
usr.setExecutionContext(executionContext);
return usr;
} else {
String msg = "Wrong entity type detected for parser User Parser, Expected User";
LOGGER.error(msg);
throw new RuntimeException(msg);
}
}
@Override
public Entity parse(GeneratedMessageV3 entity, ExecutionContext executionContext) {
return this.parse(entity, null, executionContext,null);
}
@Override
public Entity parse(GeneratedMessageV3 entity) {
return this.parse(entity, null, new ExecutionContext(),null);
}
@Override
public Entity parseAndMerge(GeneratedMessageV3 entity) {
return null;
}
}