READ THIS: DO NOT GIVE ME A CODE THAT ISNT PART OF MY CODE. DO NOT GIVE A CODE THAT IS COPIED FROM SOMEONE ELSE. JUST HELP ME WITH MY OWN CODE.   edit and finish class authenticate below do not give a solution (example copying from another source and giving it as a solution) that is not part of my code below. Also provided is user class. HELP ME FINISH CLASS AUTHENTICATE. I have done some but am stuck. I also provided the user class. The task is also there incase you are confused what Im trying to complete    //Authenticate.java import java.util.Scanner; import java.io.File; Class Authenticate { private final int SIZE = 100; private User() users = new User[SIZE]; public Authenticator (String fileName) throws Exception; Scanner sc = new Scanner(new File(fileName)); int i = 0; While(sc.hasNext() && i < SIZE) { users[i] = Users.read(sc); i++ } } public void authenticate(String username, String password) throws Exception{ try { User u = null; for(User X : users) { if(x.getUsername().equals(username) && x.verifyPassword(password){ return ;  _________________________________________________________________ //User.java import java.io.File; import java.io.FileNotFoundException; import java.util.Scanner; public class User { private String username; private String password; private String hint; public User(String username, String password, String hint) { this.username = username; this.password = password; this.hint = hint; } public boolean verifyPassword(String Password) { return Password.equals(password); } public String toString() { return "User "+username; } public static User read(Scanner scanner) { if(scanner.hasNext()){ }else {return null;} return new User(scanner.next(), scanner.next(), scanner.next()); } public String getUsername() { return username; } public String getHint() { return hint; } } TASK Implement the following class name Authenticator: State An array of type User (use a capacity of 100 — I would recommend using a class constant the way I did in the 06-Array class of Lecture 2). An integer size Behavior A constructor accepting a file name, that opens a Scanner on the file and reads in User objects A method named authenticate that accepts a username and password and attempts to authenticate them against the User array (by doing a search). Not finding the username in the array causes an exception to be thrown finding the username, but not matching the password (via verifyPassword) causes an exception with a different message to be thrown (this one with the password hint included). See below for the exact exception messages expected The return type of the method is void, i.e., the method returns nothing if the username and password are matched; otherwise an exception is thrown, as described above. (This is a common pattern for authentication methods — if everything is fine, the method simply returns, otherwise it throws an exception.) The name of your class should be Authenticator. Please remove the public attribute from the class header. Your class is tested by a AuthenticatorApp class that reads in Users from a file using your read method, loads them into an array and prompts the keyboard for a login sequence (username/password). For example, if the file users.data contains: weiss  puppy2  woof-woof arnow  java  cuppa sokol  brooklyn  college here are some sample excutions of the program: username? arnow password? java Welcome to the system Sample Test Run #2 Given the same users.data file as above, execution of the program should look like: username? weiss password? dontremember *** Invalid password - hint: woof-woof username? weiss password? puppy2 Welcome to the system Sample Test Run #3 Given the same users.data file as above, execution of the program should look like: username? sokol password? CUNY *** Invalid password - hint: college username? sokol password? SUNY *** Invalid password - hint: college username? sokol password? BC *** Invalid password - hint: college Too many failed attempts... please try again later

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question

READ THIS: DO NOT GIVE ME A CODE THAT ISNT PART OF MY CODE. DO NOT GIVE A CODE THAT IS COPIED FROM SOMEONE ELSE. JUST HELP ME WITH MY OWN CODE.  

edit and finish class authenticate below do not give a solution (example copying from another source and giving it as a solution) that is not part of my code below. Also provided is user class.

HELP ME FINISH CLASS AUTHENTICATE. I have done some but am stuck. I also provided the user class. The task is also there incase you are confused what Im trying to complete 

 

//Authenticate.java

import java.util.Scanner;
import java.io.File;

Class Authenticate {
private final int SIZE = 100;
private User() users = new User[SIZE];

public Authenticator (String fileName) throws Exception;
Scanner sc = new Scanner(new File(fileName));
int i = 0;
While(sc.hasNext() && i < SIZE) {
users[i] = Users.read(sc);
i++
}
}

public void authenticate(String username, String password) throws Exception{
try {
User u = null;
for(User X : users) {
if(x.getUsername().equals(username) && x.verifyPassword(password){

return ; 

_________________________________________________________________

//User.java

import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;

public class User
{

private String username;
private String password;
private String hint;


public User(String username, String password, String hint)
{
this.username = username;
this.password = password;
this.hint = hint;
}

public boolean verifyPassword(String Password)
{
return Password.equals(password);
}

public String toString()
{
return "User "+username;
}

public static User read(Scanner scanner)
{
if(scanner.hasNext()){ }else {return null;}
return new User(scanner.next(), scanner.next(), scanner.next());

}

public String getUsername()
{
return username;
}

public String getHint()
{
return hint;
}
}

TASK

Implement the following class name Authenticator:

State

An array of type User (use a capacity of 100 — I would recommend using a class constant the way I did in the 06-Array class of Lecture 2).

An integer size

Behavior

A constructor accepting a file name, that opens a Scanner on the file and reads in User objects

A method named authenticate that accepts a username and password and attempts to authenticate them against the User array (by doing a search).

Not finding the username in the array causes an exception to be thrown

finding the username, but not matching the password (via verifyPassword) causes an exception with a different message to be thrown (this one with the password hint included).

See below for the exact exception messages expected

The return type of the method is void, i.e., the method returns nothing if the username and password are matched; otherwise an exception is thrown, as described above. (This is a common pattern for authentication methods — if everything is fine, the method simply returns, otherwise it throws an exception.)

The name of your class should be Authenticator. Please remove the public attribute from the class header.

Your class is tested by a AuthenticatorApp class that reads in Users from a file using your read method, loads them into an array and prompts the keyboard for a login sequence (username/password).

For example, if the file users.data contains:

weiss  puppy2  woof-woof

arnow  java  cuppa

sokol  brooklyn  college

here are some sample excutions of the program:

username? arnow
password? java
Welcome to the system

Sample Test Run #2

Given the same users.data file as above, execution of the program should look like:

username? weiss
password? dontremember
*** Invalid password - hint: woof-woof
username? weiss
password? puppy2
Welcome to the system

Sample Test Run #3

Given the same users.data file as above, execution of the program should look like:

username? sokol
password? CUNY
*** Invalid password - hint: college
username? sokol
password? SUNY
*** Invalid password - hint: college
username? sokol
password? BC
*** Invalid password - hint: college
Too many failed attempts... please try again later

Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 3 steps with 2 images

Blurred answer
Knowledge Booster
Software products
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education