package org.openiot.scheduler.core.api.impl.UserLogin; import java.util.ArrayList; import org.openiot.commons.util.PropertyManagement; import org.openiot.scheduler.core.api.impl.UserRegister.UserRegisterImpl; import org.openiot.scheduler.core.utils.sparql.SesameSPARQLClient; import org.openrdf.query.TupleQueryResult; import org.openrdf.repository.RepositoryException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class UserLoginImpl { final static Logger logger = LoggerFactory.getLogger(UserLoginImpl.class); private String schedulerLsmFunctionalGraph; // private String userMail; private String userPasw; private String replyMessage= ""; public UserLoginImpl(String userMail,String pasw) { PropertyManagement propertyManagement = new PropertyManagement(); schedulerLsmFunctionalGraph = propertyManagement.getSchedulerLsmFunctionalGraph(); this.userMail = userMail; this.userPasw = pasw; // logger.debug("received: "+this.userMail); loginUser(); } public String getReplyMessage() { return replyMessage; } private void loginUser() { SesameSPARQLClient sparqlCl = null; try { sparqlCl = new SesameSPARQLClient(); } catch (RepositoryException e) { logger.error("Init sparql repository error. Error checking if mail exists",e); replyMessage= "error checking if mail exists, cannot init repository"; return; } //check that user entered correct email TupleQueryResult qres = sparqlCl.sparqlToQResult( org.openiot.scheduler.core.utils.lsmpa.entities.User.Queries.selectUserByEmail(schedulerLsmFunctionalGraph,this.userMail)); ArrayList<org.openiot.scheduler.core.utils.lsmpa.entities.User> usrEnt = org.openiot.scheduler.core.utils.lsmpa.entities.User.Queries.parseUserData(qres); if (usrEnt.size()==0) { replyMessage="user mail not found"; } else { if (usrEnt.get(0).getPasswd().equals(this.userPasw)) replyMessage=usrEnt.get(0).getId(); else replyMessage="wrong password"; } } }