Házi feladat témák
Feladatok cím szerint • ADATBÁZIS NÉLKÜL 1. 2. 3.
Római szám - decimális szám konverter Caesar-titkosító Kalkulátor
• ADATBÁZISSAL 4. 5. 6. 7. 8. 9. 10. 11. 12.
Irányítószám-konverter (.csv) Periódikus tábla (.xml) Lakásbiztosítás Felhasználó kezelés Kalkulátor memóriával Többnyelvű üzenetkezelés Könyvesbolt Könyvszállító vállalat Könyvnyomda
Általános előírások • CXF típusú web service-t kell készíteni – ha sok metódust tartalmaz a következő oldalakon látható definíció, akkor elegendő 4 különbözőt kiválasztani és implementálni – a választott feladat kisebb átfogalmazása megengedett
• A web service Tomcat-en fusson • A kliens egy egyszerű java program legyen – az implementált metódusok működését kell bemutatni
• REST-alapú web service megoldást is ki lehet dolgozni – ekkor a java-kliens helyett egy böngésző használata is elegendő
• Tcp-monitorral vizsgálni kell a kommunikációt
Beadandó • Java forráskódok • Tcp-monitor nyomkövetések • Rövid (2-3 oldalas) dokumentáció – Mi volt a feladat – Mik a megvalósítás legfontosabb pontjai – A nyomkövetések értékelése – Egyéb megjegyzések
1. Római szám konverter • int Roman2Decimal(String roman) throws ConverterException; • String Decimal2Roman(int decimal) throws ConverterException;
2. Caesar-titkosító • String code(String base, char shift); • String[] code(String base); • String decode(String base, char shift); • String[] decode(String base);
3. Kalkulátor • double add(double par1, double par2) throws CalcException; • double sub(double par1, double par2) throws CalcException; • double mul(double par1, double par2) throws CalcException; • double div(double par1, double par2) throws CalcException;
4. Irányítószám • List
getZip(String city) throws BadParamException; • List getZip(Location location) throws BadParamException; • Zip getSingleZip(String city) throws MultipleZipException, BadParamException; • Zip getSingleZip(Location location) throws MultipleZipException, BadParamException;
• List getLocation(Zip zip) throws BadParamException;
• ZIP – private String value;
• Location – String city; – String street;
//0000-9999
5. Periódikus tábla • boolean getElement(String name); • List<String> getAllElementNames(); • Element getElementBySymbol(String name); • List<Element> getElementByState(int state); • List<Element> getElementByAtomicNumber(int min, int max); • List<Element> getElementByMeltingPoint(int min, int max);
• Element – – – – – – – –
int state; String symbol; String name; int atomincNumber; double atomicWeigth; Value bolilingPoint; Value meltingPoint; Value density;
• Value – String unit; – double value;
//légnemű, szilárd, …
6. Lakásbiztosítás • CalculatedFee calculate(Params param); – a biztosítandó lakás melyik településen van (ún. kockázatviselési hely) – a hely irányítószáma – mikor épült – lakás céllal használják vagy üzleti céllal – alapterülete – miből készült (tégla, panel, vályog) – milyen típusú (lakás, családi ház, nyaraló, garázs, egyéb) – hány szobás – állandóan lakott-e vagy csak időszakosan – hány melléképület tartozik hozzá – van-e hozzátartozó tároló
• CalculatedFee – int[] e_insurance; – int[] insurance;
//havi, negyedéves, féléves, éves //havi, negyedéves, féléves, éves
7. Felhasználó kezelés • User getUser(String username); • void addUser(User user) throws UserException; • User modifyUser(User user) throws UserException;
• User – private String username; – private String name; – private String password; – private String zip; – private String city; – private String street; – private Integer birthyear; //!!!
8. Kalkulátor memóriával • long open(); • void close(long id); • double add(double par1, double par2); • double add(long id, double par2); //mem += par2 • … • double read(long id); • void clear(long id); • void write(long id, double par);
//return = mem //mem = 0 //mem = par
9. Többnyelvű üzenetkezelés •
public MessageOut addNewPattern(Message base);
•
public boolean deletePattern(String name, String locale);
•
public boolean deletePatterns(String locale);
•
public boolean modifyPattern(Message base);
•
public String getMessage(String name, String locale, Object[] vars);
•
public Message[] getAllSimpleMessages(String locale);
•
public Message[] getAllMessages(String locale);
•
public String[] getMessageNames(String locale);
• Message – – – – –
private int messageId; private String messageName; private String messageLoc; private String messagePattern; private String messageType; //kérdés, hibajelzés, stb.
• MessageOut – – – –
private int id; private String name; private String locale; private int error;
10. Könyvesbolt •
List getAllBooks() throws PublisherNotFoundException;
•
long orderBooks(List booksToOrder, String deliveryDestinationId) throws PublisherNotFoundException, DeliveryCompanyNotFoundException, BookOrderException;
•
BookOrder getBookOrderById(long bookOrderId) throws InvalidBookOrderIdException;
•
List getAllBookOrders();
•
void addDeliveryCompany(String jndiName);
•
void addPublisherCompany(String jndiName);
•
void refreshBookOrderStates();
• Book – String publisherCompanyId; – long id; – String title; – int amount;
• BookOrder – private long id; – private int state; – – – –
//pending=1, accepted, underCollection, //underDelivery, delivered, failed private List orderedBooks; private String deliveryDestinationId; private String deliveryCompanyId; private long deliveryOrderId;
11. Könyvszállító vállalat •
long addDeliveryOrder(List<PackInfo> packsToDeliver, String deliveryDestinationId);
•
int getDeliverOrderState(long deliveryOrderId) throws DeliveryOrderNotFoundException;
•
List getAllDeliveryOrders();
•
void startDeliveryOrder(long deliveryOrderId) throws DeliveryOrderNotFoundException, DeliveryOrderInWrongStateException;
•
void setPackCollected(long deliveryOrderId, PackInfo packInfo) throws DeliveryOrderNotFoundException, DeliveryOrderInWrongStateException, PackInfoNotFoundException;
•
void setDeliveryOrderDelivered(long deliveryOrderId) throws DeliveryOrderNotFoundException, DeliveryOrderInWrongStateException;
•
List getDeliveryOrdersWithPacksToCollect();
• PackInfo – private String deliverySourceId; – private long packId;
• DeliveryOrder – private long id; – private int state; //accepted=1, underCollection, underDelivery, //delivered – private String deliveryDestinationId; – private List<PackInfo> packsToCollect; – private List<PackInfo> packsCollected; – private String packsToCollectInfo; – private String packsCollectedInfo;
12. Könyvnyomda • List getAllBooks; • void addBook(Book book);
• long reserveBooks(List booksToReserve) throws NotEnoughBooksExcexption, BookNotFoundExeption, NotValidOrderEcxeption; • RealPack relesasPack(long packId) throws PackNotFoundException;
• List getPacks();
• Book – private long id; – private String title; – private int amount;
• RealPack – private String deliverySourceId; – private long packId; – private List packs;