ONLINE EVENT MANAGEMENT
EVENT MANAGEMENT INTERFACE
import java.rmi.Remote;
import java.rmi.RemoteException;
import java.util.List;
public interface EventManager extends Remote {
void createEvent(String eventName, String eventDate) throws RemoteException;
List<String> getEvents() throws RemoteException;
void registerForEvent(String eventName, String participantName) throws RemoteException;
boolean isRegistered(String eventName, String participantName) throws RemoteException;
}
EVENT MANAGEMENT IMPLEMENTATION
import java.rmi.server.UnicastRemoteObject;
import java.rmi.RemoteException;
import java.util.ArrayList;
import java.util.List;
public class EventManagerImpl extends UnicastRemoteObject implements EventManager {
private List<String> events;
private List<String> registrations;
public EventManagerImpl() throws RemoteException {
super();
events = new ArrayList<>();
registrations = new ArrayList<>();
}
public void createEvent(String eventName, String eventDate) throws RemoteException {
events.add(eventName + " on " + eventDate);
System.out.println("Event Created: " + eventName + " on " + eventDate);
}
public List<String> getEvents() throws RemoteException {
return events;
}
public void registerForEvent(String eventName, String participantName) throws RemoteException {
registrations.add(participantName + " registered for " + eventName);
System.out.println(participantName + " registered for " + eventName);
}
public boolean isRegistered(String eventName, String participantName) throws RemoteException {
return registrations.contains(participantName + " registered for " + eventName);
}
}
EVENT MANAGER SERVER
import java.rmi.Naming;
import java.rmi.registry.LocateRegistry;
public class EventManagerServer {
public static void main(String[] args) {
try {
EventManagerImpl eventManager = new EventManagerImpl();
LocateRegistry.createRegistry(1099);
Naming.rebind("EventManager", eventManager);
System.out.println("EventManager Server is ready.");
} catch (Exception e) {
e.printStackTrace();
}
}
}
EVENT MANAGEMENT CLIENT
import java.rmi.Naming;
import java.util.List;
import java.util.Scanner;
public class EventManagerClient {
private static EventManager eventManager;
public static void main(String[] args) {
try {
eventManager = (EventManager) Naming.lookup("rmi://localhost/EventManager");
Scanner scanner = new Scanner(System.in);
while (true) {
System.out.println("\n----- Event Management System -----");
System.out.println("1. Create Event");
System.out.println("2. View Events");
System.out.println("3. Register for Event");
System.out.println("4. Check Registration");
System.out.println("5. Exit");
System.out.print("Enter your choice: ");
int choice = scanner.nextInt();
scanner.nextLine();
switch (choice) {
case 1:
createEvent(scanner);
break;
case 2:
viewEvents();
break;
case 3:
registerForEvent(scanner);
break;
case 4:
checkRegistration(scanner);
break;
case 5:
System.out.println("Exiting...");
return;
default:
System.out.println("Invalid choice. Please try again.");
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
private static void createEvent(Scanner scanner) {
System.out.print("Enter event name: ");
String eventName = scanner.nextLine();
System.out.print("Enter event date (YYYY-MM-DD): ");
String eventDate = scanner.nextLine();
try {
eventManager.createEvent(eventName, eventDate);
System.out.println("Event created successfully.");
} catch (Exception e) {
System.out.println("Error creating event: " + e.getMessage());
}
}
private static void viewEvents() {
try {
List<String> events = eventManager.getEvents();
if (events.isEmpty()) {
System.out.println("No events available.");
} else {
System.out.println("Upcoming Events:");
for (String event : events) {
System.out.println(event);
}
}
} catch (Exception e) {
System.out.println("Error retrieving events: " + e.getMessage());
}
}
private static void registerForEvent(Scanner scanner) {
System.out.print("Enter event name to register for: ");
String eventName = scanner.nextLine();
System.out.print("Enter your name: ");
String participantName = scanner.nextLine();
try {
eventManager.registerForEvent(eventName, participantName);
System.out.println("You have successfully registered for " + eventName);
} catch (Exception e) {
System.out.println("Error registering for event: " + e.getMessage());
}
}
private static void checkRegistration(Scanner scanner) {
System.out.print("Enter event name to check registration: ");
String eventName = scanner.nextLine();
System.out.print("Enter your name: ");
String participantName = scanner.nextLine();
try {
boolean isRegistered = eventManager.isRegistered(eventName, participantName);
if (isRegistered) {
System.out.println("You are registered for " + eventName);
} else {
System.out.println("You are not registered for " + eventName);
}
} catch (Exception e) {
System.out.println("Error checking registration: " + e.getMessage());
}
}
}
SERVER OUTPUT
CLIENT OUTPUT
Comments
Post a Comment