hi , i am looking for the same tutor from last assignment 1 and 2 to help me with my assignment 3…

hi , i am looking for the same tutor from last assignment 1 and 2 to help me with my assignment 3 please, because all these 3 assignments have connection , thanks
Version Number: 1.00 (July 14, 2020) Worth 4.0% of your total mark }Assignment 3 Land Registry, Part 3 To be submitted online not later than Saturday, July 26, 2020, 11:59 p.m. Description: In this lab youll make changes to the Land Registry you built in Assignment 1 and augmented in Assignment II. Along the way, youll demonstrate your understanding of the following course learning requirements (CLRs), as stated in the CST8284
hi , i am looking for the same tutor from last assignment 1 and 2 to help me with my assignment 3 please, because all these 3 assignments have connection , thanks
Version Number: 1.00 (July 14, 2020) Worth 4.0% of your total mark }Assignment 3 Land Registry, Part 3 To be submitted online not later than Saturday, July 26, 2020, 11:59 p.m. Description: In this lab youll make changes to the Land Registry you built in Assignment 1 and augmented in Assignment II. Along the way, youll demonstrate your understanding of the following course learning requirements (CLRs), as stated in the CST8284Object Oriented Programming (Java) course outline: 1. Write java code to implement exception handling (CLR VI) 2. Produce code that has been tested and executes reliably (CLR VIII) 3. Prepare program documentation using prescribed program specifiers, including JavaDoc (CLR IX) 4. Debug program problems using manual methods and computerized tools in an appropriate manner. (CLR X) 5. Identify appropriate strategies for solving a problem (CLR XI) } Assignment 3 } Page 1 Assignment 3 Land Registry, Part 3 Program Description In this assignment, youll document our code, explore exception handling, and tidy up the existing code in preparation for Assignment IV, when well add a graphical front end to our application. For those students who failed to submit Assignment 2, you can use my starter copy, available on Brightspace, as the starting point for your Assignment 3 code. This code is provided as is; you are responsible for tidying up any bugs that may exist. But be certain to include in your Javadocs at the top of each class the line: @author: yourname, based on code supplied by Prof. Dave Houtman I. Load the Assignment2 project and copy your existing classes to the new Project a) In Eclipse, create a new project folder called CST8284_20S_Assignment3, copy the landRegistry package over from Assignment2 (including all its classes), and refactor the package name to reflect the change from the asgmt2 package to asgmt3. b) The UML diagram for this assignment is almost unchanged from the last assignment, except for the addition of some methods and classes noted below. As before, the principles of good code design still apply. So, at the markers discretion, you will lose marks for not implementing best practices such as, e.g. not using getters and setters (in particular, remember to use getRegControl() rather than rc), not chaining methods and constructors, not practicing code reuse, not employing the principle of least privilege in your code design, sloppy design that uses several lines of code where only a few are needed, etc. II. Add the following new features to your Land Registry Application a) Tighten up the existing code in preparation for the GUI interface in Assignment 4 Youve added a few new features since Assignment 1, and refactored your code to use ArrayLists and File IO as well. Before you reimplement your Land Registry program as a GUI application, its crucial that you tidy up your program, which in many cases has grown to include some very messy code. This house cleaning should be directed at the following areas: i) RegView methods handle console-based IO ONLY; RegControl methods NEVER request or output text. This has been stated before, but it needs to be reinforced, particularly with regards to the new RegControl File IO methods. If a RegControl method is successful, it returns true or an object, typically an ArrayList of Propertys or Registrants; if unsuccessful it return false or . Under NO circumstance should your RegControl methods output text-based information to the console, much less print out the stack trace from an exception. For RegView, this means that whatever the operation of a View method internally, it usually only has two things to decide: was the requested operation performed or not? If the former, the output message is something like: method executed successfully; if the latter, the message looks something like: could not complete the request. In a few rare cases, where the possible results of an operation can not be signaled by a simple binary response, well throw an Exception, and let the handler deal with it. (For more on this subject, see section II.b). But for the most part, your code should be written in such a way that each of the eleven RegView View methods uses an ifthen statement (or better still, a ternary if, when } Assignment 3 } Page 2 appropriate) to determine the String output from the method. Since a successful output often results in looping through an ArrayList to display its contents, add the private static method shown below to simplify data output. where the String output is just one long string built up using the toString() methods for each object in the ArrayList. (Note that ArrayList has a toString() method, inherited from its Collection class parent, which you can use to output the content of the displayList. However, the output is formatted in a peculiar way, and while you can use various String methods to excise the extra characters out of the output String, its generally to simpler to write a loop that uses each component objects toString() to generate exactly the output you desire.) With the addition of this new method, along with the new RegControl methods listed below, you should be able to implement the logic code in each of the RegView methods in five concise lines of code or less (excluding the println() outputs that signal method completion, just mentioned above.) More than that, and your code is less efficient than it should be, and you need to rethink your approach to the logic. ii) In RegControl, add or revise the methods shown below to your existing code. The first two methods repackage the loadFromFile() method you wrote for Assignment 2, allowing you to offload much of the functionality (and clutter) that resulted in having to first delete and then reload the two ArrayLists from their files using just the public RegControl methods only. This should streamline your code considerably, not just in RegView, but in RegControl as well, since you can now deal with the two ArrayLists directly, using ArrayLists native methods. Note however that code reuse is still expected; you should not be duplicating code that already exists elsewhere in RegControl. (And there are further restrictions imposed on your RegControl methods as well: see below.) The third method to add/revise is changePropertyRegistrant(). In this revised version, you read in an ArrayList of type Property, rather than a single Property. You then reset the regNum of each Property using the second parameter, and return the ArrayList of properties with the new regNum. The final alteration is to the listOfProperties() method, the one that lists all the properties with a particular regNum. In particular, your code should ensure that when a regNum of 0 is passed to listOfProperties(), the method outputs an ArrayList of all the Properties. In short, it operates as before, but with the added feature that it calls listOfAllPropeties() whenever a regNum of 0 is entered. Well put this new feature to use in Assignment 4. // add to existing methods -toString(ArrayList displayList): String RegView // add the following two methods to RegControl +refreshProperties(): void +refreshRegistrants(): void // changed from the original +changePropertyRegistrant(ArrayList oldRegNumPropertyArrayList, int newRegNum): ArrayList // chain according to instructions +listOfProperties(regNum: int): ArrayList RegControl } Assignment 3 } Page 3 Just as there are limitations on the size of RegViews methods, there are limitations on the eleven public RegControl methods used directly by RegView. They are: 1. Whenever you absolutely need to loop through an ArrayList (see below!), you must use the enhanced for loop (except for loadFromFile(), which can use while(true).); 2. You must (still) check for and remove values returned by the listOfRegistrants() and the (revised) listOfProperties() methods; 3. You cannot use streams, or anything not already taught as part of the course. If you use any material obtained from a web site (e.g. the Oracle web site on ArrayList), you must provide an appropriate citation; 4. For the following five methods, you should only need to use a single loop to perform the methods basic operations: loadFromFile saveToFile changePropertyRegistrant listOfProperties findRegistrant For the remaining six methods, you must not use a loop of any kind. In other words, you must only use existing methods, both those you have created yourself, and those that exist in the ArrayList class, to perform each operationin short, code reuse. Marks will be deducted if these rules are not adhered to. b) Throw a BadLandRegistryException whenever there is bad data input Add a BadLandRegistryException class to your project, which should extend from RuntimeException. Add two constructors to your new class: a no-arg constructor and a two-String constructor, which passes both a header String along with a message String describing the exception and the action the user should take. Pass the message String to the superclass using super() (as you did in Lab 7) so that it will be returned when you call getMessage(). Store the header parameter in a private String field named header (which youll need to add to your new exception class, along with an appropriate getter and setter for it). Chain the no-arg BadLandRegistryException constructor to the 2-String constructor, passing the default message Please try again and the default header Bad land registry data entered. In your existing code, throw a BadLandRegistryException for each of the exceptions indicated in the table below. The header to be displayed along with its associated message is indicated in the table; you should use your new getHeader() method, along with the getMessage() superclass method whenever you need to output this information. As with Lab 7, you should write a special method for each of the exceptions listed above to test the validity of the data. A series of tests will be performed on your code to check that throws a BadLandRegistryException for each error condition indicated. So test your code thoroughly to make certain that the appropriate exception is generated for each of the error conditions listed below. In particular, note: (1) You should not use regular expressions (regex) in any of your code, aside from simple strings used for comparison; each test can be performed using code youre already familiar with. In some cases it may be beneficial to use an existing exception thrown by a class when bad input is entered and use this to throw a } Assignment 3 } Page 4 BadLandRegistryException. (Yes, this is another example of code reuse.) See, for example, the documentation on Integer.decode(), which throws a NumberFormatException. In many cases, some combination of the standard String methods (such as contains(), split(), and length()) will suffice, and allow for quicker and more reliable tests than attempting to build your own regex expressions. (And by the way, most of these methods use regex internally. And its much better written and tested than anything most students can write. So again, using these existing String methods is an example of you guessed it, code reuse) (2) An empty ArrayList is not the same thing as a ArrayList; an empty String is not the same thing as a string. One way to test for a is to deliberately throw a PointerException in Example of Bad Input Header String Message String Bad Registrant input Enter registration number: -1000 Enter registration number: Q003 Enter registration number: 100# Invalid Registration number Registration number must contain digits only; alphabetic and special characters are prohibited Enter registration number: 1000 (when no registrants entered) No registrants available There are no registrants currently listed Enter registration number: 1017 (when highest regNum is 1016) Unregistered value There is no registrant having that registration number Bad Property input Enter top and left coordinates of property (as X, Y): 200, 400 Enter length and width of property (as length, width): 80, 80 (when there is an overlap) Property overlap The property entered overlaps with an existing property with coordinates 240 400 and size 100, 100 Enter top and left coordinates of property (as X, Y): 900, 900 Enter length and width of property (as length, width): 180, 80 Property exceeds available size The property requested extends beyond the boundary of the available land Enter top and left coordinates of property (as X, Y): 10, 10 Property below minimum size The minimum property size entered must have a length of at least 20 m and a width of 10 m Bad general input (Empty value entered) (for example, when a first name, last name, regNum, or property coordinate is missing Missing value Missing an input value. ( value entered) value entered An attempt was made to pass a value to a variable. } Assignment 3 } Page 5 your code during testingwhich must be removed from your finished submission. Note that all inputs, including those associated with the exceptions listed in the table below must test for empty or input; c) Document your code using Javadoc Javadoc adds hypertext-linked documentation to your codeyou saw it briefly in Lab 1 allowing you to output rich text comments similar to those seen on the Oracle web site for each Java class. Provided, that is, you take the time to write and lay out your comments correctly. (See the sample documentation, downloaded from the Oracle web site, below.) A good place to begin with Javadoc is https://idratherbewriting.com/java-javadoc-tags/ which explains what each tag does. For this assignment, the following tags are essential: For each class: For methods/constructors @author @param @version @returns @throws (You can safely ignore @see and @since for this assignment.) Feel free to implement any other Javadoc and HTML tags you feel are appropriate. Also, youll need to refer to the Algonquin College Documentation Standard (ACDS), a set of (somewhat dated) slides indicating which components of your code need to be documented (short answer: pretty much everything). This document is available on Brightspace. The ACDS specifies that you must document both the file and the class (because a file may contain more than one class.) In this assignment, youre fee to ignore the first requirement. But you must document each class. Your efforts to document your code correctly will all be for nothing if you dont follow the instructions in the Appendix A doc comment is written in HTML and must precede a class, field, constructor or method declaration. It is made up of two parts — a description followed by block tags. In the example below, the block tags are @param, @return, and @see. /** * Returns an Image object that can then be painted on the screen. * The url argument must specify an absolute {@link URL}. The name * argument is a specifier that is relative to the url argument. * * This method always returns immediately, whether or not the * image exists. When this applet attempts to draw the image on * the screen, the data will be loaded. The graphics primitives * that draw the image will incrementally paint on the screen. * * @param url an absolute URL giving the base location of the image * @param name the location of the image, relative to the url argument * @return the image at the specified URL * @see Image */ public Image getImage(URL url, String name) { try { return getImage(new URL(url, name)); } catch (MalformedURLException e) { return ; } } From: How to write Doc Comments for the JavaDoc Tool, Oracle Corp., downloaded from http://www.oracle.com/technetwork/articles/java/index-137868.html April 11, 2017 } Assignment 3 } Page 6 below. This is because the Javadoc utility does not operate on all the folders in your project automatically, but only on the Project Explorer item last selected at the time you ran the utility. So if you click on a class and then execute the Javadoc utility, you will only generate Javadoc for the methods and constructors in that classand nothing else. And you will get 0 for your documentation as a result, regardless of how detailed the description of your code was inside each class, since you are marked on your Javadoc output only, not on the comments in your Java code. Lastly, note that Javadoc replaces the documentation you were required to provide at the top of each class in Assignments 1 and 2. So remove these comments, as they will now be superseded by the more extensive Javadoc comments youll provide. And while youre tidying up your documentation, remove any comments or commented-out code that is not part of your submission: if its not part of the code or documentation, I dont need to see it. III. Notes, Suggestions, Tips, and Warnings a) Your documentation needs to be complete. This means: (1) every field is documented; (2) Every method is documented, even one-line getters and setters; and (3) Every class is documented. You must give complete descriptions in your documentation for each of these. For example, trivial documentation such as Getter for RegControl will cost you marks, since this doesnt say anything that isnt obvious. Does a setter throw an exception? Is it only called by the constructor? Can an object be passed as to a method, and if so under what circumstances? How does your overlaps() method work? Can anyone else understand it? Proper documentation includes an analysis of all things you want someone else to understand whose never seen your code, things which Getter for RegControl doesnt begin to address. b) Students are reminded that: You should not need to use code/concepts that lie outside of the ideas presented in class and in the course notes; You must cite all sources used in the production of you code according to the format provided in Module00. Failure to do so will result in a charge of plagiarism. The one exception is the information provided in the course notes themselves; Students must be able to explain the execution of their code. If you cant explain its execution, then it is reasonable to question whether you actually wrote the code or not. Partial marks, including a mark of zero and a charge of plagiarism, may be awarded if a student is unable to explain the execution of code that he/she claims to have authored. A good safety precaution is to always take the .zip file you upload to Brightspace and open it on your laptop. Better still, in Eclipse, import the zipped file and check to make sure everything is there. In this case, you are strongly advised to open the docs folder and check that index.html gives you access to all the classes and methods AND THAT ALL YOUR COMMENTS APPEAR IN THE JAVADDOC-GENERATED WEB PAGES You can upload as many attempts at Assignment 3 as youd like, but only the final attempt is marked IV. Submission Guidelines Your code should be uploaded to Brightspace (via the link posted) in a single zip file obtained by: 1) In Eclipse, right click on the project name (CST8284_20S_Assignment3); 2) select Export then select General >> Archive File, then click Next; 3) in the Archive File menu make sure all of the project subfolders are selected (.settings, src, bin, and especially the doc folder, where the Javadoc HTML files are stored) and the Save in zip format and Create directory structure for files radio buttons are selected; } Assignment 3 } Page 7 4) In the To Archive File window, save your zip file to a location youll remember. But make certain to name your zip file according to the following format, as outlined in Module 00: Assignment3_Yourlastname_Yourfirstname.zip including the underscores and capitals, but with your last and first name inserted as indicated. Failure to label your zip file correctly will result in lost marks. Corrections and Addenda: To be added as required Assignment 3 Marking Guide Requirement Mark File labelled and zipped correctly, as per instructions above. The doc folder is supplied in your zip file and displays all the classes used in your project, hypertext-linked as required 2 Exception handling has been added so that bad values are not stored in the ArrayLists. All inputs should be checked for and empty inputs. 6 The new/modified methods have been added to RegView and RegControl, and are being used appropriately in the program. This should result in a noticeable reduction in RegView code 4 The eleven public RegControl methods use existing methods wherever possible. Loops are avoided when methods already exist that perform operations reliably. In the other classes indicated, one loop is sufficient to handle Property and Registrant information correctly 7 All classes, fields, methods and constructors have complete Javadoc comments according to ACDS. 5 MINUS: late penalty; failure to cite sources; private information not kept secure through data hiding; diagnostic strings output to the console, abnormal termination, exceptions thrown under certain circumstances; unusual, abnormal and erratic features displayed during execution; your documentation should not include comments which are not part of the program itself (e.g. TODOs and commented-out code: these are for your purposes only: if its not part of the program, I dont need to see it). TOTAL : 24 } Assignment 3 } Page 8 Appendix: Generating JavaDocs a. To generate JavaDoc, right click the project from the Package Explorer. (This is an essential step, and the contents of your Javadoc folder will be incorrect if you do not follow this simple instruction.) From the menu along the top of the Eclipse screen, select Project >> Generate Javadoc b. In the dialogue that appears, make sure the current assignment is selected from the list of types for which Javadocs will be generated. c. On occasion, Javadoc needs to be configured. If the Finish button is grayed out, then select the Configure button, and navigate to the folder in which the JDK is located. The javadoc.exe file is located in Javas bin directory. Hence your Javadoc path should look something like: C:Program FilesJava jdk1.8.0_versionbinjavadoc.exe If it doesnt, you may need to navigate to this file and install it manually in Eclipse. d. Select the Finish button. If you get additional messages during Javadoc setup, select the defaults. (Note that if you have any other tabs open in Eclipse, including malfunctioning code from previous projects, the Javadoc utility may get confused. Close the tabs for any old files that youve been working on, those which dont have anything to do with your current project. Then run the Javadoc utility again, being careful to select the project file before starting.) e. If there were errors in your Javadoc tags, javadoc may halt execution. Youll need to fix these errors to generate the doc folder required in your submission. This is the #1 reason students lose marks: they dont pay attention to the messages telling them that Javadoc has failed, and they submit incomplete or entirely absent documentation with their submission. f. Inspect the doc folder which appears in the CST8284_20S_Assignment3 project: this is where your hypertext-linked files are located. (Note that the doc folder must be in your final submission, or your Javadoc mark will be 0, even if your Java code is documented.) Open index.html (as you did in Lab 1), and verify that your documentation appears in each of the HTML files. If its not present, you need to rerun the Javadoc utility, paying close attention to the messages generated during the process of tying together the various linked pieces of information in your classes. g. Most of the files in the doc folder are HTML files, which can be opened in Eclipse simply by double-clicking on them. Double click the index.html file (this is the main point of entry for Javadoc files) and a web page, like the one shown below, should appear in the Eclipse code window. Javadoc files are hypertext linked to one another, hence you can click on any link in any Javadoc HTML file to take you to any other file. If you see only HTML code then you should right click on index.html and select Open With > Web Browser, which should then display the web page rather than the HTML text file on which it is based. But if your Eclipse setup is configured correctly, you should see the web page in the Eclipse code window, like the one shown above, complete with all of your classes, all of their methods and fields, and all of your documenation.

View less

Custom Paper Help
Calculate your paper price
Pages (550 words)
Approximate price: -

Why Work with Us

Top Quality and Well-Researched Papers

We always make sure that writers follow all your instructions precisely. You can choose your academic level: high school, college/university or professional, and we will assign a writer who has a respective degree.

Professional and Experienced Academic Writers

We have a team of professional writers with experience in academic and business writing. Many are native speakers and able to perform any task for which you need help.

Free Unlimited Revisions

If you think we missed something, send your order for a free revision. You have 10 days to submit the order for review after you have received the final document. You can do this yourself after logging into your personal account or by contacting our support.

Prompt Delivery and 100% Money-Back-Guarantee

All papers are always delivered on time. In case we need more time to master your paper, we may contact you regarding the deadline extension. In case you cannot provide us with more time, a 100% refund is guaranteed.

Original & Confidential

We use several writing tools checks to ensure that all documents you receive are free from plagiarism. Our editors carefully review all quotations in the text. We also promise maximum confidentiality in all of our services.

24/7 Customer Support

Our support agents are available 24 hours a day 7 days a week and committed to providing you with the best customer experience. Get in touch whenever you need any assistance.

Try it now!

Calculate the price of your order

Total price:

How it works?

Follow these simple steps to get your paper done

Place your order

Fill in the order form and provide all details of your assignment.

Proceed with the payment

Choose the payment system that suits you most.

Receive the final file

Once your paper is ready, we will email it to you.

Our Services

No need to work on your paper at night. Sleep tight, we will cover your back. We offer all kinds of writing services.


Essay Writing Service

No matter what kind of academic paper you need and how urgent you need it, you are welcome to choose your academic level and the type of your paper at an affordable price. We take care of all your paper needs and give a 24/7 customer care support system.


Admission Essays & Business Writing Help

An admission essay is an essay or other written statement by a candidate, often a potential student enrolling in a college, university, or graduate school. You can be rest assurred that through our service we will write the best admission essay for you.


Editing Support

Our academic writers and editors make the necessary changes to your paper so that it is polished. We also format your document by correctly quoting the sources and creating reference lists in the formats APA, Harvard, MLA, Chicago / Turabian.


Revision Support

If you think your paper could be improved, you can request a review. In this case, your paper will be checked by the writer or assigned to an editor. You can use this option as many times as you see fit. This is free because we want you to be completely satisfied with the service offered.