You are going to implement a small client-server system, which simulates a burger bar.
You’ll be given the following classes:
• The class ArrayList and its interface ListADT
• The interface RecipeProvider and class RecipeReader. Also, a file with recipes for burgers.
• You will also receive the data objects: Recipe, Burger
You can find the Java documentation for the provided code:
[login to view URL]
[login to view URL]
• The application must use RMI to connect the clients and server
• On the server side there must be a Bounded Blocking Queue (there is a max capacity), containing Burgers. You must use the Adapter design pattern to “change” the provided ArrayList to a BlockingQueue.
• The Consumer client will retrieve one Burger at a time from the Server. Just create a while(true) loop, with a small random sleep duration.
• The Producer clients will create the Burgers. You must use the given RecipeProvider, RecipeReader and the file to get the Recipe for a specific Burger.
The Burger creation should happen in a while(true), also with a small random sleep duration.
There will be 3 types of burgers. Randomly decide which Burger to create each time. Get the Recipe through the RecipeProvider interface, and then on the Recipe object call the createBurger-method.
A Producer Client will send one Burger at a time to the Server.
• Use the Proxy design pattern to create a cache around the RecipeReader. When a recipe is loaded, store it in a field variable, currentRecipe, in the Proxy and when a recipe is requested by the Producer, first check if it is in the cache. Otherwise request the recipe from the RecipeReader.
• You must test the given ArrayList with Junit, the class contains a handful of errors.
• Each Client represents a person, so if you want more Burger Bar employees, you’ll start multiple instances of that client. If you want more Customers, you’ll start multiple consumer programs.
• Add print-outs at relevant places so you can follow what happens in the program.
26 freelancers are bidding on average $20/hour for this job
HI. As a Java expert, I have experience enough with RMI(experience with poker and email server, client). I believe I can finsh your project perfectly. Please let me know your deadline and budget. Thanks!
As a full time java developer since 2010 I can help you with your project. The requirements are pretty clear on first reading and I' about to look at the code given in order to estimate the time needed.
I can start your project immediately. I can provide full-time communication and work your time-zone. If you give me a chance to serve you, I will provide a high quality product within the deadline. Best Regards