Roland Haeder [Fri, 28 Aug 2015 09:16:36 +0000 (11:16 +0200)]
Migration to JSF continued:
- used lesser scriptlets where possible, e.g.:
- <%=request.getContextPath()%> can be converted to ${pageContext.request.contextPath}
- after that, set it with <c:set var="basePath" value="${pageContext....}" />
- then you can use it: ${basePath}
Signed-off-by:Roland Häder <roland@mxchange.org>
Roland Haeder [Thu, 27 Aug 2015 21:52:56 +0000 (23:52 +0200)]
Continued with project:
- added method getProduct()
- added method getLast()
- added method getAll() (again?)
- Used BasketBean instead of Basket
- Yepp, JSPs don't support @Inject and @PostConstruct ... :-(
- added getLastNumRows() which deligates this call to jcore's method
- implemented MiniBasketTag (a bit broken)
- added missing language resourced
- updated jcore.jar
Signed-off-by:Roland Häder <roland@mxchange.org>
Roland Haeder [Thu, 27 Aug 2015 19:05:37 +0000 (21:05 +0200)]
Continued with project:
- started to refacture all JSPs towards JSFs
- this requires a lot to be rewritten
- moved some classes to better location
- deleted some old JSPs
- moved constants from FooBarConstants class to proper interface
- removed above mentioned classes
- added interface BasketTag
- updated jcore.jar
Signed-off-by:Roland Häder <roland@mxchange.org>
Roland Haeder [Wed, 26 Aug 2015 12:39:32 +0000 (14:39 +0200)]
Continued with project:
- Had to renamed id -> itemId and categoryId accordingly to allow databased- baskets
- Implemented almost all methods in basket database frontend class
- Added constants class for above frontend
- Updated jcore
Signed-off-by:Roland Häder <roland@mxchange.org>
Roland Haeder [Wed, 26 Aug 2015 08:24:20 +0000 (10:24 +0200)]
Rewrote item handling in BaseBasket to a database approach:
- added method addItem() for adding items, please make sure to call ...
- added method isItemAdded() which checks if the given item is found by its id number
- added method getItem() to get an item from given Product instance
Signed-off-by:Roland Häder <roland@mxchange.org>
Roland Haeder [Tue, 25 Aug 2015 16:10:50 +0000 (18:10 +0200)]
Added path for sources (relative). You need to have jsfcore cloned there to have this working. Else you may accidentally commit your path and then it may get silently merged.
Signed-off-by:Roland Häder <roland@mxchange.org>
Roland Haeder [Mon, 24 Aug 2015 09:49:47 +0000 (11:49 +0200)]
Converted private constructor to public init() method with context, still this cannot be converted to a bean as the context is somehow needed. :-(
Signed-off-by:Roland Häder <roland@mxchange.org>
Roland Haeder [Mon, 24 Aug 2015 09:49:47 +0000 (11:49 +0200)]
Converted private constructor to public init() method with context, still this cannot be converted to a bean as the context is somehow needed. :-(
Signed-off-by:Roland Häder <roland@mxchange.org>
Roland Haeder [Sat, 22 Aug 2015 11:25:31 +0000 (13:25 +0200)]
The item bean must go into request scope, else all added items have same amount + began to cleanup rudimentary JSPs for a basket-based approach
Signed-off-by:Roland Häder <roland@mxchange.org>
Roland Haeder [Thu, 20 Aug 2015 12:26:09 +0000 (14:26 +0200)]
update jcore.jar ... Yes, maybe a lot more updates now. This way the application is independent from latest jcore updates, means it is decentralized. If you add jcore as a project dependency, the application becomes directly depending on latest changes in jcore which centralizes it.
Signed-off-by:Roland Häder <roland@mxchange.org>
Roland Haeder [Wed, 19 Aug 2015 15:38:31 +0000 (17:38 +0200)]
Some fixes:
- fixes for `updated` column as MariaDB doesn't seem to like ON UPDATE CURRENT_TIMESTAMP on one column *and* DEFAULT CURRENT_TIMESTAMP on other column in same table
- Again some properties fixed
- updated 'jcore.jar'
Roland Haeder [Wed, 19 Aug 2015 10:00:14 +0000 (12:00 +0200)]
Changed field 'surname' to 'firstName' as surname is an other word for family name + updated 'jcore.lib'
Signed-off-by:Roland Häder <roland@mxchange.org>
Roland Haeder [Tue, 18 Aug 2015 13:22:35 +0000 (15:22 +0200)]
Continued with project:
- added filter for handling added basket items
- added frontend class for baskets (not their items) as they may be stored in database for later reusage
- Renamed "FooHttpFilter" to "FooServletFilter" as they actually are servlet filters
- Other minor improvements
- BaseServletFilter is now abstract and implements Filter, so all filters extendending (and re-implementing Filter) must implement at least doFilter(). Please call chain.doFilter() in your own filter
Signed-off-by:Roland Häder <roland@mxchange.org>
Roland Haeder [Tue, 18 Aug 2015 09:45:36 +0000 (11:45 +0200)]
Continued with project:
- no flush, maybe better?
- space removed
- Renamed variable "value" to "customerGender" for making it more clear
- Some more debug logging
- Added missing error handler (but commented out for developing)
Signed-off-by:Roland Häder <roland@mxchange.org>
Roland Haeder [Tue, 18 Aug 2015 04:59:47 +0000 (06:59 +0200)]
Continued with project:
- started to rewrite to a more flexible solution: a general item basket that will accept OrderableItem instances
- added parameter "type" for upcoming basket feature
- renamed "choose" to "id", this old thing will be completely rewritten
- added new script "add_item.jsp"
- added some more CSS for footer navigation
- Accessing the JSPs directly may not be a good idea, better is to have aliases (more about that later)
- added generic interface OrderableItem and BasketItem class (unfinished)
- added links in footer.jsp for new pages "privacy.jsp", "terms.jsp" and "imprint.jsp"
- using JSTL "fmt" for formatting currency values
- added project's license "GPL3"
Signed-off-by:Roland Häder <roland@mxchange.org>
Roland Haeder [Mon, 17 Aug 2015 13:45:28 +0000 (15:45 +0200)]
Continued with project:
- added new pages "privacy.jsp" and "terms.jsp"
- form "register.jsp" is basicly finished
- added more CSS classes
Signed-off-by:Roland Häder <roland@mxchange.org>
Roland Haeder [Mon, 17 Aug 2015 07:30:17 +0000 (09:30 +0200)]
Replace multiple-added strings/objects into MessageFormat.format() call to reduce string objects in string pool + ignored them for internationalization
Signed-off-by:Roland Häder <roland@mxchange.org>
Roland Haeder [Sat, 15 Aug 2015 11:24:47 +0000 (13:24 +0200)]
Continued with project:
- added doAdminHandleCategoryForms() and doAdminHandleProductForms()
- isCategoryTitleUsed() and isProductTitleUsed() are now private and continue to throw all "low-level" exceptions and never a ServletException as this is thrown by publicc access methods (which servets may invoke)
Roland Haeder [Sat, 15 Aug 2015 10:25:32 +0000 (12:25 +0200)]
Continued with project:
- added showing product's category in admin area
- added method getPrintableProduktCategory() for this
- fixed logger XML file
- added method getCategory() of given Product instance to category database frontend
- added method isProductTitleUsed() to pre-check if the title has been used. This avoids an exception thrown in doAdminAddProduct() which expects that the product's title is not yet used.
Signed-off-by:Roland Häder <roland@mxchange.org>
Roland Haeder [Fri, 14 Aug 2015 19:51:00 +0000 (21:51 +0200)]
Added more thrown exception (yes, again)Changed parameter type from String to Object + implemented one setter
Signed-off-by:Roland Häder <roland@mxchange.org>
Roland Haeder [Fri, 14 Aug 2015 18:36:36 +0000 (20:36 +0200)]
Continued with project:
- moved PizzaProduct to own package and created BaseProduct from it. This class and interface Product are possible candidates for jcore
- Added Apache commons jar (for new jcore changes for having a non-proprietary implementation of BASE64 encoding and decoding
- Added newly thrown exception CorruptedDatabaseFileException
- Ignored some strings for internationalization
- Id needs to be initialized with zero, not null
- Method toStoreable() has been fully rewritten to a more flexible solution
- Removed some deprecated/unused methods
Signed-off-by:Roland Häder <roland@mxchange.org>
Roland Haeder [Fri, 14 Aug 2015 13:39:12 +0000 (15:39 +0200)]
Continued with project:
- added install.sql
- Renamed method getProducts() to getAvailableProducts()
- Added method getAllProducts()
- Renamed parseLineToCategory() and parseLineToProduct() to parseLine()
- All products are now comparable + compareTo() implemented in BaseProduct
- Added column "id" for product database
- Implemented getPrintableProduktAvailability() very rudely
- Ids must be parsed as Long, not Integer, as the BASE64-encoded database backend does parse it so
- Added "available" to HTML form and all relevant methods
- Added method decodedTitle() to have a UTF8-decoded title
- Constructor PizzaProduct (id, title, price) is now deprecated
- Some other cleanups
Signed-off-by:Roland Häder <roland@mxchange.org>
Roland Haeder [Fri, 14 Aug 2015 12:46:08 +0000 (14:46 +0200)]
Continued with project:
- Used "category" instead of "id" for category selection box
- Added method addProduct()
- Added method isProductTitleUsed()
- Added new exception ProductTitleAlreadyUsedException
- Changed parameter type of "parent" to Integer as it can be done (better type-hint)
- Rewrote addCategory() a bit for this
- Added database columns "category", "price" and "title" for products
- Renamed method isCategoryUsed() to isCategoryTitleUsed()
- Deleted do_products.jsp
Signed-off-by:Roland Häder <roland@mxchange.org>
Roland Haeder [Fri, 14 Aug 2015 11:22:29 +0000 (13:22 +0200)]
Continued with project:
- Added parent_category_selection_box.jsp which holds the selection box for parent categories
- Added method generateLinkForParent()
- Fixed wrong use of COLUMN_PARENT for title
- Catched newly thrown CategoryTitleAlreadyUsedException
Roland Haeder [Fri, 14 Aug 2015 10:05:07 +0000 (12:05 +0200)]
Continued with project:
- Added new class BaseCategory and ProductCategory
- Implemented newly required method emptyStringToNull() in category database frontend
- Half-implemented newly required method emptyStringToNull() in product database frontend (unfinished)
- Category is now Comparable and asks for compareTo() method as well
- Added method addCategory() to database frontend
- doAdminAddCategory() should be "basicly finished" by now
- Better implement generateLinkForParent() to generate a HTML link for parent id. This links to product.jsp?category_id=x
Signed-off-by:Roland Häder <roland@mxchange.org>
Roland Haeder [Fri, 14 Aug 2015 06:14:47 +0000 (08:14 +0200)]
Continued with project:
- Added method isCategoryUsed() and implemented it rudely in frontend, too.
- doAdminAddCategory() does now check request parameter if they exist and are not empty
Roland Haeder [Thu, 13 Aug 2015 11:42:33 +0000 (13:42 +0200)]
Continued with project:
- added doAdminAddCategory() and doAdminAddProduct()
- it is getParameter() for HttpServletRequest instances to get the actual POST/GET *parameter*
- Ignored more strings for internationalization
Signed-off-by:Roland Häder <roland@mxchange.org>
Roland Haeder [Thu, 13 Aug 2015 11:21:21 +0000 (13:21 +0200)]
Continued with project:
- added placeholder class for category datbase constants
- added stub JSPs for handling category and product requests in admin area
- improved category handling a little more
Signed-off-by:Roland Häder <roland@mxchange.org>
Roland Haeder [Thu, 13 Aug 2015 10:51:46 +0000 (12:51 +0200)]
Continued with project:
- added thrown exceptions
- Very rude implementation of getResultFromSet()
- getProducts() and getCategories() now only throw ServletException
- The above change allows to remove the try-catch block
Signed-off-by:Roland Häder <roland@mxchange.org>
Roland Haeder [Thu, 13 Aug 2015 08:41:26 +0000 (10:41 +0200)]
Continued with project:
- Added new frontend class and interface for categories + rewritings
- Used <c:forEach> instead of for-loop where possible, else a while() loop has to be used with iterator.hasNext() and iterator.next()