Problem Description Universal Manufacturers Manufacturing Company Manufactures Engineering Q43866323
java.












Problem Description: Universal Manufacturers is a manufacturing Company that manufactures Engineering tools since 1961. The company has however not been automated and works on mechanical logging of new tools that are manufacture here The company now understands that it is time that they catch up with the world and automate their process of adding tools they manufacture and displaying tools that match the consumer’s requirement An application is hence needed to be created to automate the manufacturing process. Can we trust you to create this application with the below mentioned requirements within 3 hours so that the company can run smoothly and come back to the currenter of technology? It includes the following two modules • Add Tools Details • View Tools that match the customer’s requirements Artifact Description File Name application. Tool.java application Data Provider rep ort resources LogConfig java Implemented • Add Tools Details • View Tools that match the customer’s requirements rtifact Description: Description Implemented File Name pplication Tool application Data Provider application. Tester resource.AppConte resources.loyConfig java resources.configuration properties reure el application. Tool Detail java application Validater je application Applications test.Application Test Java To be implemented Incomplete file is given) The Tester class is used as an interface between the system and the user to accept the inputs and display the output. For all the requirements, the populated bean object or variables with hard-coded alues have been provided. You may need to change the values to verify different scenarios. The code to invoke appropriate Application class methods and the code to display appropriate output is ready provided Tote • Uncomment the commented code in the Tester and DataProvider classes after the required bean classes have been implemented • Exception messages should not be hard coded and should be read from properties file in the Tester e vị thi HH Li HLV PARK HANH • Exception messages should not be hard-coded and should be read from properties file in the Tester Module 1: Add Tools Details Inputs: Tool Description: This module is used to validate and add the tool details. Valid Input: When the user enters valid inputs as given in the table below! H002 toolName manufacturingid quality Grade durabilityin Years percentage Strength manufacturingate 870 16 April 2017 The output should be displayed as shown below: Tool details are successfully added Invalid Inputs: • When the user enters an invalid toolName as “Hammer_122”, then output should be displayed as shown below The Tool Name entered should not contain special character or just spaces. • When the user enters an invalid manufacturingld as “1234567”, then output should be displayed as shown below. Exam Data Subrnit Help • When the user enters an invalid toolName as “Hammer_122”, then output should be displayed as shown below: The Tool Name entered should not contain special character or just spaces. • When the user enters an invalid manufacturingid as “1234567”, then output should be displayed as shown below: Manufacturing Id should be of for at first letter of tool name> < digit 10 . When the user enters an invalid manufacturing Date as “15-Jan-2009”, then output should be displayed as shown below! Manufacturing Date should be greater than today or old • When the user enters an Invalid qualityGrade as “F”, then output should be displayed as shown below: Grade quality can range from: ‘A’, ‘a’, ‘c’ and ‘o’. A being best and worst. . When the user enters an invalid durability In Years as “211.0”, then output should be displayed as shown below: Durability of the tool should be in years and not more than 50. When the user enters an invalid percentageStrength as “101.9′, then output should be displayed as shown below. Percentage of strength can range from 0 to 100 only. Module 2: View Student Details Input: Maximum Strength, minimum durability Percentage of strength can range from 0 to 100 only. Module 2: View Student Details Input: Maximum Strength, minimum durability Description: This module is used to show the Tools which have their strength not greater than the entered value and durability more than or equal to the input provided. Valid Input: When the strength is 71.0 and durability is 1.9: then the output should be displayed as shown below: Universal Manufacturer Manufacturing ID Tool Manufacturing Date 2017-07-09 Screwdriver Rodes and Saw Wrenchers 2018-04-11 2019-01-22 2016-05-18 Invalid Input When the user enters strength as 12.0 and durability as 9.0, then the output should be displayed as shown below No details were found for the entered input Bean Classes: Objects of these classes are used to transfer values between the different layers of the application. You need to use them wherever applicable ToolDetail (To be implemented): application. ToolDetail toolName: String – manufacturingid String quality Grade String – manufacturing Date: LocalDate get ToolName: String set ToolNameſtoolNameStringh:void getManufacturingid: String set Manufacturingid[manufacturingid String) void .getQuality Grade: String seQuality Gradeſquality Grade Stringvoid getManufacturingDate: LocalDate set ManufacturingDate[manufacturing Dates LocalDate): void Tool (Implemented): application. Tool – toolName: String – manufacturingId: String – quality Grade: String • durability in Years Double • percentageStrength Double ready To Use Boolean – manufacturingute LocalDate getToolName: String setToolName toolName String) void C application.Tool a toolName String o manufacturingld: String o qualtity Grade: String o durability In Years: Double • percentageStrength: Double o ready ToUse: Boolean a manufacturing Date: LocalDate .getToolName(: String set ToolName(toolName: String): void getManufacturingld(): String set ManufacturingId(manufacturingld: String): void getQualtityGrade(): String setQualtityGrade(qualtityGrade: String): void getDurabilityIn Years(): Double setDurabilityIn Years(durabilityIn Years: Double): void getPercentageStrength(): Double SetPercentageStrength(percentageStrength: Double): void getReady To Use(: Boolean setReady ToUse(readyToUse: Boolean); void getManufacturingDate(: LocalDate set ManufacturingDate(manufacturingDate: LocalDate): void Validator: application Validator • validatetool Toolt void • Valid Quality Grade quality Grade String Boolean • ValidPercentageStrength(percentageStrength Double Boolean . ValidDurability in Years durabilityinYears Double Boolean isValid Manufacturing Date(manufacturingDate LocalDate: Boolean isValidToolNameſtoName String Boolean isValid Manufacturingid[manufacturingle String to Name Strings Bo validate(Tool tool) This method receives Tool and calls the respective methods to validate the values. On violations, it should throw exceptions with messages as per the table shown below. It sho exceptions and re-throw them. Violation For qualityGrade percentage strength durabilityinYears manufacturing Date toolName manufacturingid Message Validator INVALID QUALITY ORADE Validator INVALID PERCENTAGE STRENGTH Validator.INVALID DURABILITY IN YEARS Validator.INVAUD MANUFACTURINGOATE Validator, INVALID TOOLNAME Validator INVALID MANUFACTURINGID isValidQuality Grade(String qualityGrade) This method validates the qualityGrade recelved. o quality Grade should be in upper case letter and can have only following four entries: • o This method validates the qualityGrade received. quality Grade should be in upper case letter and can have only following four entries: quality Grade А If the rule is violated, then it should return false else return true isValid PercentageStrength (Double percentageStrength) o This method validates the percentageStrength received. o percentageStrength cannot be less than 0 or greater than 100 o If the rule is violated, then it should return false else return true. o Valid Inputs: 11.3,56.0, 0.0, 100.0 o Invalid Inputs: 103.0, -13.1 isValidDurabilityIn Years (Double durabilityinYears) This method validates the durability In Years received o durability In Years cannot be greater than 50 years. If the rule is violated, then it should return false else return true. o f o • the rule is violated, then it should return false else return true. Valid Inputs: 12.3,50.0, 0.0 Invalid Inputs: 50.1, 89.9.-23.3 isValid Manufacturing Date (LocalDate manufacturing Date) This method validates the manufacturingDate received. o manufacturingDate should not be greater than or equal to current date and should within 4 years from current date. o If the rule is violated, then it should return false else return true. • Valid Inputs if current date is 10-October-2019: · 09-October-2019 23-August-2016 . 09-October-2015 o Invalid Inputs if current date is 10-October-2019: . 10-October-2019 . 01-July-2020 . 17-April-2014 isValidToolName (String toolName) This method validates the toolName received It should NOT be empty or just spaces. Single spaces between words are allowed o It should ONLY have alphabets, hyphen(-) or spaces. It should begin with upper case and rest in lower case. Each word should have at least length It should ONLY have alphabets, hyphen(-) or spaces. It should begin with upper case and rest in lower case. Each word should have at least length of 2 o When a “.” or space is encountered the next letter must be in upper case o It should have maximum of two words. O if the rule is violated, then it should return false else it should return true. • Valid Inputs: “Screw-Driver”, “Hammer”, “Drill Machine o Invalid Inputs: “Screw driver”, “hammer”, “drill machine”, “hammer12”,”Nails isValid Manufacturingld (String manufacturingld, String toolName) This method validates the manufacturingld received. o manufacturingld should be in a format <<First Letter of Tool Name>><cany 3 Digits>> o If the rule is violated, then it should return false else return true • Valid Inputs: . For toolName = “Hammer”, manufacturingid “H003” . For toolName – “Nail Guard”, manufacturingid “N121” For toolName “Screw-Driver”, manufacturingid “S454” o Invalid Inputs: . For toolName = “Hammer”, manufacturingid “h002” • For toolName = “Nail Guard”, manufacturingid “NG021” For toolName = “Screw.Driver”, manufacturingld – “44” pogon addTool Toon Boolean strendy To Use Tool Boolean get Tool Depechenhet ddTool (Tool tool) • This method is used to validate the tool details and save the same • Invoke the validate() method of Validator class and pass the Tool object. • If all the validations are successful, then it should set the readyToUse attribute of the tool by calling the check Readiness() method of the Application dans le passing will return a Boolean value. • Save tool details by invoking addTool (Tool tool) of Data Provider, which in turn returns a Boolean value • Return the Boolean value obtained in the above step. neckReadiness (Tool tool) This method returns the readyToUse value of the tools being added. Create a variable with the name ready ToUse. If durability is more than 3 years, quality is ‘A’ or ‘B’, and percentage of strength is higher or equal to 60 then readyToUse should be set as trueekse setas false Return the readyToUse. “oolDetails (Double durability In Year, Double percentageStrength) . This method returns the tool details, for the tools which have their percentageStrength less than or equal to the entered value and durabilityinYear more than or equal tot T o vetails (Uouble durabilitylnYear, Double percentageStrength) • This method returns the tool details, for the tools which have their percentageStrength less than or equal to the entered value and durability in Year more than or equal to the input • It should invoke getToolDetails() of DataProvider, which in turn returns a SetcTools It should check if every Tool in the Set Tool> obtained in the previous step have the percentageStrength less than or equal to the entered vakre and durabilityinYear more than input provided. If so then create and populate a new ToolDetail object using the Tool attribute values. It should populate a Set ToolDetail using the ToolDetail populated in previous step • It should check if the Sets ToolDetail > is empty, if it is empty then throw an Exception with the message Application.NO_RECORDS_FOUND. • Else it should return the Set< ToolDetail populated above. • The method should catch all the exceptions thrown, log only the Application exceptions and re throw all the exceptions, if any. DataProvider (Implemented): application Data Provider add Toolttole Too Botan o get ToolDetaik Set Tools addTool (Tool tool) This method receives a Tool and returns getReady To Use EetToolDetails 0 This method returns a Set Tool with all the required tool details • Junit Test Cases: hedefnplication: i e ns Ret Ready ToUse getToolDetails 0 This method returns a SetTool with all the required tool details . Junit Test Cases: Implement the following test cases for testing the methods of Application: No. addToolmalidityGrade toolName Screw-Driver manufacturingid 5103 manufacturingate 23-Jun-17 grade Quality F durability Yews 34.1 percentage Strength 78.1 tool Name Screw-Driver manufacturingid 5103 manufacturingute 2 .17 pradelity B durables 34.1 percentageStrength 173.1 durability ears 88.9 percentagestrength 913 addToolinalidPercentage Strength getfoolDetails Noecords Show transcribed image text Problem Description: Universal Manufacturers is a manufacturing Company that manufactures Engineering tools since 1961. The company has however not been automated and works on mechanical logging of new tools that are manufacture here The company now understands that it is time that they catch up with the world and automate their process of adding tools they manufacture and displaying tools that match the consumer’s requirement An application is hence needed to be created to automate the manufacturing process. Can we trust you to create this application with the below mentioned requirements within 3 hours so that the company can run smoothly and come back to the currenter of technology? It includes the following two modules • Add Tools Details • View Tools that match the customer’s requirements Artifact Description File Name application. Tool.java application Data Provider rep ort resources LogConfig java Implemented
• Add Tools Details • View Tools that match the customer’s requirements rtifact Description: Description Implemented File Name pplication Tool application Data Provider application. Tester resource.AppConte resources.loyConfig java resources.configuration properties reure el application. Tool Detail java application Validater je application Applications test.Application Test Java To be implemented Incomplete file is given) The Tester class is used as an interface between the system and the user to accept the inputs and display the output. For all the requirements, the populated bean object or variables with hard-coded alues have been provided. You may need to change the values to verify different scenarios. The code to invoke appropriate Application class methods and the code to display appropriate output is ready provided Tote • Uncomment the commented code in the Tester and DataProvider classes after the required bean classes have been implemented • Exception messages should not be hard coded and should be read from properties file in the Tester e
vị thi HH Li HLV PARK HANH • Exception messages should not be hard-coded and should be read from properties file in the Tester Module 1: Add Tools Details Inputs: Tool Description: This module is used to validate and add the tool details. Valid Input: When the user enters valid inputs as given in the table below! H002 toolName manufacturingid quality Grade durabilityin Years percentage Strength manufacturingate 870 16 April 2017 The output should be displayed as shown below: Tool details are successfully added Invalid Inputs: • When the user enters an invalid toolName as “Hammer_122”, then output should be displayed as shown below The Tool Name entered should not contain special character or just spaces. • When the user enters an invalid manufacturingld as “1234567”, then output should be displayed as shown below.
Exam Data Subrnit Help • When the user enters an invalid toolName as “Hammer_122”, then output should be displayed as shown below: The Tool Name entered should not contain special character or just spaces. • When the user enters an invalid manufacturingid as “1234567”, then output should be displayed as shown below: Manufacturing Id should be of for at first letter of tool name> o If the rule is violated, then it should return false else return true • Valid Inputs: . For toolName = “Hammer”, manufacturingid “H003” . For toolName – “Nail Guard”, manufacturingid “N121” For toolName “Screw-Driver”, manufacturingid “S454” o Invalid Inputs: . For toolName = “Hammer”, manufacturingid “h002” • For toolName = “Nail Guard”, manufacturingid “NG021” For toolName = “Screw.Driver”, manufacturingld – “44”
pogon addTool Toon Boolean strendy To Use Tool Boolean get Tool Depechenhet ddTool (Tool tool) • This method is used to validate the tool details and save the same • Invoke the validate() method of Validator class and pass the Tool object. • If all the validations are successful, then it should set the readyToUse attribute of the tool by calling the check Readiness() method of the Application dans le passing will return a Boolean value. • Save tool details by invoking addTool (Tool tool) of Data Provider, which in turn returns a Boolean value • Return the Boolean value obtained in the above step. neckReadiness (Tool tool) This method returns the readyToUse value of the tools being added. Create a variable with the name ready ToUse. If durability is more than 3 years, quality is ‘A’ or ‘B’, and percentage of strength is higher or equal to 60 then readyToUse should be set as trueekse setas false Return the readyToUse. “oolDetails (Double durability In Year, Double percentageStrength) . This method returns the tool details, for the tools which have their percentageStrength less than or equal to the entered value and durabilityinYear more than or equal tot
T o vetails (Uouble durabilitylnYear, Double percentageStrength) • This method returns the tool details, for the tools which have their percentageStrength less than or equal to the entered value and durability in Year more than or equal to the input • It should invoke getToolDetails() of DataProvider, which in turn returns a SetcTools It should check if every Tool in the Set Tool> obtained in the previous step have the percentageStrength less than or equal to the entered vakre and durabilityinYear more than input provided. If so then create and populate a new ToolDetail object using the Tool attribute values. It should populate a Set ToolDetail using the ToolDetail populated in previous step • It should check if the Sets ToolDetail > is empty, if it is empty then throw an Exception with the message Application.NO_RECORDS_FOUND. • Else it should return the Set
Expert Answer
Answer to Problem Description: Universal Manufacturers is a manufacturing Company that manufactures Engineering tools since 1961. …
OR