Create a Filtextulator

Assignment Help Other Subject
Reference no: EM132163678

Apply advanced object-oriented language skills Assignment -

Instructions - For this assignment you will create a 'Filtextulator'.

Filtextulator is a new made-up word. It refers to a program that transforms text in weird and wonderful ways, using filters.

You will create a server application that accepts some text and some instructions, alters the text according to the instructions, and returns the result.

You will also create an Android client. This client will accept some text and instructions regarding the filters from the user, ask the server to process the information, and display the result to the user.

A Server Application - Using JEE, build a server application that:

  • contains at least four text filters (some suggestions are listed below)
  • can accept a request for, and respond with, a list of available filters
  • can accept some text, plus a list of filters in a specific order, and respond with the text after those filters have been applied

The server application should include -

  • unit tests, using mocking where appropriate - each filter should have at least one unit test
  • some integration tests - some of the tests should test the result of applying multiple filters
  • JavaDoc

Filter Suggestions -

This is a list of possible text filters you could implement. You are not required to implement these specific ones, however this list should indicate the type and range of filters expected.

  • change each word to start with uppercase, with remaining letters lowercase
  • remove all spaces
  • remove all vowels
  • apply simple encryption using ROT13 ('a' becomes 'n', 'b' becomes 'o' and so on.
  • encrypt using the latin alphabet version of Atbash ('a' becomes 'z', 'b' becomes 'y' and so on.
  • use 'pig latin' (move the first consonant to the end, and add 'ay'. So 'pig' becomes 'igpay' and 'hello' becomes 'ellohay'.
  • use 'opish' ('op' is added after each consonant. So 'pig' becomes 'popigop' and 'hello' becomes 'hopeloplopo')
  • reverse each word (So 'pig' becomes 'gip' and 'hello' becomes 'olleh')

A Client Application -

Build an Android application that:

1. requests from the server a list of available filters

2. displays that list to the user

3. allows the user to reorder the list of filters using drag and drop

4. allows the user to turn off one or more of the filters

5. allows the user to type in some text

6. when the user clicks a specific button, the client sends the text plus the list of chosen filters to the server for processing, then displays to the user the altered text returned from the server.

The application should include:

  • documentation for the user
  • JavaDoc
  • error handling: if the server returns an error, or cannot be contacted, the application should detect this and inform the user

Design Guidelines and Suggestions -

  • Create an interface or an abstract class for use by all filters. Your server code should use these filters by their interface/abstract class type. That way you can later add more filters with minimal change to your server.
  • Think about design patterns you could use. For example, depending on how you decide to design your filters, the Factory Pattern might be useful.
  • The body of your requests should be formatted in your choice of either XML or JSON. The format should also be documented.
  • A servlet or controller should contain as little code as possible. Your filters, and the code to use them, should mostly not be in a servlet, but instead called upon by the servlet.
  • The list of filters sent to the client should include some sort of description of the filter, for display to the user, as well as some sort of 'short' name, that the server uses to recognise a specific filter.
  • Think about handling the following sorts of errors in the client: server not reachable, server's response missing expected information, and server responds with error message
  • Think about handling the following sorts of errors in the server: client requests unknown filter, client sends empty text to be filtered, and client requests no filters

If you haven't created a program of this size before, it can seem a bit daunting. Pick one small part that seems easier than the rest, that will let you see something. Create a program that does this thing, only. Then pick another small feature, and add that. Keep going, and you end up with a full program!

Attachment:- Assignment File.rar

Reference no: EM132163678

Questions Cloud

Relationship of structure to higher leadership performance : Which of the following statements best describes the relationship of structure to higher leadership performance?
Explain the decline in the rent-price ratio in the sydney : What factor(s) appear to explain the decline in the rent-price ratio in the Sydney market in the period 1996-2004?
Mean of the price-to-income ratio : A mean of the price-to-income ratio has been used by commentators to evaluate whether house prices might be too high (or too low).
Why might a person be a member of a religious group : Why might a person be a member of a religious group even if her ideal strictness is very different from the religious group's strictness?
Create a Filtextulator : ICTPRG501 Apply advanced object-oriented language skills Assignment - Instructions - For this assignment you will create a 'Filtextulator'
Prevent the recurrence of such ethical transgressions : Finally, I have to propose recommendations to prevent the recurrence of such ethical transgressions.
What do you think of realistic job preview : Discuss why two restaurants in the same community might have different pay levels? Support your answer with examples.
Estimate that the price elasticity of demand for clinic : You estimate that the price elasticity of demand for clinic visits is -0.25. You anticipate that a major insurer will increase the copayment from $20 to $25.
Explain vibration techniques and its application : Explain Vibration techniques and its application

Reviews

len2163678

11/11/2018 9:24:28 PM

The Assignment will assess competencies for ICTPRG501 Apply advanced object-oriented language skills. If you haven’t created a program of this size before, it can seem a bit daunting. Pick one small part that seems easier than the rest, that will let you see something. Create a program that does this thing, only. Then pick another small feature, and add that. Keep going, and you end up with a full program! For example, you might approach the Android app by first creating an app that shows a screen wth a list. The list might be String resources, and might be a list of fruit, or your favourite movie titles. Try it out, make sure it works as you want. Then you might add a text box where the user can type something. Then add a button. Then add code so that when the user taps the button, a new screen displays the text. Keep going in this way, and eventually you will have an entire app.

len2163678

11/11/2018 9:24:18 PM

Performance Evidence (Note: If a specific volume or frequency is not stated, then evidence must be provided at least once) Evidence of the ability to: develop client-server applications using an object oriented language produce a graphical user interface (GUI) build, debug and test the applications produce documentation for the applications. Knowledge Evidence - To complete the unit requirements safely and effectively, the individual must: describe the architecture of a framework for web-enabled application development, summarise the techniques for implementing inter-process communication describe the process for the development of large-size application, identify and outline testing techniques as applied to distributed application development, identify and outline techniques for implementing third-party supplied code.

len2163678

11/11/2018 9:23:51 PM

Code Design and Quality - Has a coding standard been followed consistently? Are classes divided into logically sensible packages? Are controller methods short? Non-trivial work should be in a separate, potentially reusable class. Is invalid input checked for and handled? Does the design support easy addition of new filters, preferably via polymorphism? Is there evidence of considered use of Design Patterns? Are all Exceptions handled? Unit Testing - Are Unit Tests included? There should be, at minimum, one for each text filter. Is each unit test small, and easy to understand? Has mocking been used appropriately? Is there at least one integration test that tests applying more than one filter? Does each test have either a comment, or suitable name, so it is easy to tell what it is designed to test and what the expected outcome is? Do all tests pass?

Write a Review

Other Subject Questions & Answers

  Groundwater to streams and rivers separately

1. Compare the differences between groundwater to streams and rivers separately. 2. What are the major geological impacts running water and groundwater have on people?

  What concept is central to all evolutionary theories

In the Kolondahar, a small group of high ranking military officers make the decisions that determine national policy. This form of government describes ________.  For a government to be stable, what quality must exist? and  Which of the following c..

  Write your paper on infidelity and divorce

Review the article, "Outcomes of couples with infidelity in a community-based sample of couple therapy."

  Explain the ethical issues related to the supervisor

For this assignment, reread the case study, looking specifically at issues related to clinical supervision. Examine the ACA's ethical guidelines related to the issue of supervision in Section F and answer the following questions: Explain the ethic..

  Identify the critical issues in the scenario

You are a general manager with a service company. You are hearing comments from your sales group that customers are unhappy with your company.

  Discuss the various health care system models

Discuss the various health care system models and compare the systems in England, Canada, France and China to that in the U.S.

  Power of the native societies represented

Considering the power of the native societies represented in symbolic images such as the Goddess Coatlicue statue, how do you think the European conquerors were able to overtake these cultures?

  Which topic did you find the easiest to learn

What concept could you use in your job or in your personal life? What are you most proud of accomplishing this semester?

  What technique will be used for data collection

How will you measure each variable? Discuss the reliability and validity of these measures in general terms. What technique will be used for data collection (e.g., observation, survey, interview, archival, etc.)? What type of research design is being..

  Summarize the article - what is the main focus of article

Summarize the article: what is the main focus of the article; what are the main points? If a research study was involved, what were its major findings? What are the author(s) conclusions and/or recommendations

  What you have learned about succeeding in your field

Important points to include are the name of the company and a brief description of its nature and history in Seattle, its mission statement.

  Development of human services in america

What was deinstitutionalization? How did it influence the development of the human services movement?

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd