0% found this document useful (0 votes)
75 views

Implementation Details

This document outlines several implementation details for a user registration and authentication system including: 1) How user registration information is set on a registration VO object and passed to the registration service. 2) How user authentication works by looking up the user from the data store and comparing passwords. 3) Methods for validating login details, getting pending user activities, activating a user account, editing a user profile, and searching users.

Uploaded by

Sunil Nair
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
75 views

Implementation Details

This document outlines several implementation details for a user registration and authentication system including: 1) How user registration information is set on a registration VO object and passed to the registration service. 2) How user authentication works by looking up the user from the data store and comparing passwords. 3) Methods for validating login details, getting pending user activities, activating a user account, editing a user profile, and searching users.

Uploaded by

Sunil Nair
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 4

IMPLEMENTATION DETAILS

REGISTRATION

registerVO.setUserName(userName);
registerVO.setPassword(password);
registerVO.setPassword2(password2);
registerVO.setBranch(branch);
registerVO.setName(name);
registerVO.setEmail(email);
registerVO.setDob(dob);
registerVO.setSslc(sslc);
registerVO.setSslcYOP(sslcYOP);
registerVO.setPuc(puc);
registerVO.setPucYOP(pucYOP);
registerVO.setSemOne(semOne);
registerVO.setSemTwo(semTwo);
registerVO.setSemThree(semThree);
registerVO.setSemFour(semFour);
registerVO.setSemFive(semFive);
registerVO.setSemSix(semSix);
Double avgScore = ((semSix + semFive + semFour + semThree + semTwo
+ semOne) / 6.0);
registerVO.setAverageScore(avgScore);
registerVO.setAddress(address);
registerVO.setMobileNumber(mobileNumber);
registerVO.setExtraCA(extraCA);
registerVO.setPlaced("no");
registerVO.setVerified("no");

UserService.registerUser(registerVO)

AUTHENTICATION

private boolean authenticateTheUser(LoginVO loginVO) {


try {
Map<String, Object> user =
userService.authUser(loginVO.getUserName());
if( null != user) {
String passwordFromDs = (String) user.get("Password");
if(! loginVO.getPassword().equals(passwordFromDs) ) {
return false;
}
} else {
return false;
}

} catch (DataStoreException e) {
return false;
}

return true;
}
LOGIN VALIDATIONS

private boolean validateLoginDetails(HttpServletRequest req, LoginVO loginVO)


{
errorFields.clear();

String userName = null;


String password = null;

userName = req.getParameter("userName");

if(!validateField(userName)) {
errorFields.add("User Name is missing");
}

password = req.getParameter("password");

if(!validateField(password)) {
errorFields.add("Password is missing");
}

String role = req.getParameter("role");

if( errorFields.size() > 0 ) {


return false;
}

loginVO.setUserName(userName);
loginVO.setPassword(password);
return true;
}

GETTING ALL PENDING ACTIVITIES

public List<Map<String, Object>> getAllPendingActivities() {


Query query = new Query( "User" );
query.addFilter( "Verified", FilterOperator.EQUAL, "no");
PreparedQuery pQuery = datastoreService.prepare(query);
Iterator<Entity> entities = pQuery.asIterator();
List<Map<String, Object>> usersPropertiesList = new
ArrayList<Map<String,Object>>();
while(entities.hasNext()) {
Entity user = entities.next();
Map<String, Object> userProperties = user.getProperties();
usersPropertiesList.add(userProperties);
}
return usersPropertiesList;
}
ACTIVATE USER

public void activateUser(RegisterVO registerVO) throws DataStoreException{


try {
Entity existingUserDetails =
searchByUserName(registerVO.getUserName());
Map<String, Object> props =
existingUserDetails.getProperties();
Key existingKey = existingUserDetails.getKey();

Entity user = new Entity(existingKey);

Utils.convertValueObjectToEntity(user, registerVO);
user.setProperty("Verified", "yes");

datastoreService.put(user);
} catch (Exception e) {
throw new DataStoreException("Error at the database
level while activating the user");
}
}

EDIT USERPROFILE

public void editUserProfile(String userName, String email, String address,


String mN, String eCA) {
try {
Entity existingUserDetails = searchByUserName(userName);
Key existingKey = existingUserDetails.getKey();
Map<String, Object> props =
existingUserDetails.getProperties();

Entity user = new Entity(existingKey);


Utils.convertValueObjectToEntity(user,
Utils.convertPropertiesToVO(props));
user.setProperty("MobileNumber", mN);
user.setProperty("Address", address);
user.setProperty("Email", email);
user.setProperty("ExtraCA", eCA);

datastoreService.put(user);
}catch(Exception ex) {

}
}
SEARCH

public List<String> searchPublic(String branch, String minPercent, String


sslc, String puc, String placed) throws DataStoreException {
List<String> emailList = null;
Query query = new Query( "User" );
if(! "All".equalsIgnoreCase(branch)) {
query.addFilter( "Branch", FilterOperator.EQUAL,
branch);
}
query.addFilter( "AverageScore",
FilterOperator.GREATER_THAN_OR_EQUAL, minPercent);

PreparedQuery pQuery = datastoreService.prepare(query);


Iterator<Entity> entities = pQuery.asIterator();;
emailList = new ArrayList<String>();
while(entities.hasNext()) {
Entity user = entities.next();
Map<String, Object> userProperties =
user.getProperties();
emailList.add((String)userProperties.get("Email"));
}
return emailList;
}

You might also like