From 118d95a69df28033dd964a7514c20c0beabab30c Mon Sep 17 00:00:00 2001 From: Caleb Fontenot Date: Thu, 21 Mar 2024 17:08:36 -0500 Subject: [PATCH] It works but the output is broken :) --- .gitignore | 7 + .../AjaxReview/nb-configuration.xml | 21 ++ Semester 3/Assignments/AjaxReview/pom.xml | 48 ++++ .../ajaxreview/JakartaRestConfiguration.java | 13 + .../resources/JakartaEE10Resource.java | 20 ++ .../AjaxReview/src/main/java/beans/Ajax1.java | 40 +++ .../AjaxReview/src/main/java/beans/Ajax2.java | 78 ++++++ .../AjaxReview/src/main/java/beans/Ajax3.java | 73 +++++ .../AjaxReview/src/main/java/beans/Ajax5.java | 73 +++++ .../AjaxReview/src/main/java/beans/Ajax6.java | 44 +++ .../AjaxReview/src/main/java/beans/Ajax7.java | 60 ++++ .../src/main/java/utilities/Utilities.java | 47 ++++ .../main/resources/META-INF/persistence.xml | 7 + .../src/main/webapp/WEB-INF/beans.xml | 6 + .../src/main/webapp/WEB-INF/glassfish-web.xml | 25 ++ .../src/main/webapp/WEB-INF/web.xml | 56 ++++ .../AjaxReview/src/main/webapp/ajax1.xhtml | 37 +++ .../AjaxReview/src/main/webapp/ajax2.xhtml | 95 +++++++ .../AjaxReview/src/main/webapp/ajax3.xhtml | 126 +++++++++ .../AjaxReview/src/main/webapp/ajax4.xhtml | 123 ++++++++ .../AjaxReview/src/main/webapp/ajax5.xhtml | 36 +++ .../AjaxReview/src/main/webapp/ajax6.xhtml | 42 +++ .../AjaxReview/src/main/webapp/ajax7.xhtml | 53 ++++ .../AjaxReview/src/main/webapp/index.xhtml | 29 ++ .../nb-configuration.xml | 21 ++ .../TermProject1_CalebFontenot/pom.xml | 48 ++++ .../JakartaRestConfiguration.java | 13 + .../beans/MatrixBeanA.java | 24 ++ .../beans/MatrixBeanB.java | 26 ++ .../beans/MatrixBeanC.java | 24 ++ .../beans/MatrixOperations.java | 42 +++ .../beans/MenuBar.java | 64 +++++ .../bl/Matrices.java | 261 +++++++++++++++++ .../termproject1_calebfontenot/bl/Matrix.java | 19 ++ .../resources/JakartaEE10Resource.java | 20 ++ .../utilities/Utilities.java | 123 ++++++++ .../main/resources/META-INF/persistence.xml | 7 + .../src/main/webapp/WEB-INF/beans.xml | 6 + .../src/main/webapp/WEB-INF/glassfish-web.xml | 25 ++ .../src/main/webapp/WEB-INF/web.xml | 24 ++ .../src/main/webapp/index.xhtml | 56 ++++ .../main/webapp/login-n-search/login.xhtml | 25 ++ .../main/webapp/login-n-search/search.xhtml | 21 ++ .../src/main/webapp/matrices/compose.xhtml | 26 ++ .../src/main/webapp/matrices/matrixA.xhtml | 24 ++ .../src/main/webapp/matrices/matrixB.xhtml | 18 ++ .../src/main/webapp/matrices/matrixC.xhtml | 18 ++ .../main/webapp/matrices/menuActivities.xhtml | 29 ++ .../main/webapp/matrices/menuMatrices.xhtml | 39 +++ .../resources/css/layout-css/bottomStyle.css | 18 ++ .../resources/css/layout-css/contentStyle.css | 3 + .../resources/css/layout-css/cssLayout.css | 50 ++++ .../resources/css/layout-css/dataTable.css | 237 ++++++++++++++++ .../resources/css/layout-css/default.css | 8 + .../css/layout-css/imageZoomStyle.css | 34 +++ .../resources/css/layout-css/leftStyle.css | 22 ++ .../resources/css/layout-css/loginStyle.css | 65 +++++ .../css/layout-css/login_and_searchStyle.css | 8 + .../resources/css/layout-css/logoStyle.css | 9 + .../resources/css/layout-css/menuStyle.css | 37 +++ .../resources/css/layout-css/rightStyle.css | 5 + .../resources/css/layout-css/searchStyle.css | 3 + .../resources/css/layout-css/stylesLinks.css | 67 +++++ .../resources/css/layout-css/titleStyle.css | 9 + .../resources/css/layout-css/topStyle.css | 9 + .../main/webapp/resources/images/download.png | Bin 0 -> 3737 bytes .../src/main/webapp/resources/images/owl.png | Bin 0 -> 6205 bytes .../main/webapp/resources/js/do_validation.js | 22 ++ .../templates/default/bottomDefault.xhtml | 12 + .../templates/default/contentDefault.xhtml | 12 + .../templates/default/leftDefault.xhtml | 12 + .../templates/default/loginDefault.xhtml | 12 + .../templates/default/logoDefault.xhtml | 12 + .../templates/default/menuDefault.xhtml | 14 + .../templates/default/rightDefault.xhtml | 12 + .../templates/default/searchDefault.xhtml | 12 + .../templates/default/titleDefault.xhtml | 12 + .../templates/default/topDefault.xhtml | 12 + .../templates/generic/generic-layout.xhtml | 115 ++++++++ Semester 3/Assignments/functions/.dep.inc | 5 + Semester 3/Assignments/functions/Makefile | 128 +++++++++ Semester 3/Assignments/functions/arrays.cpp | 48 ++++ Semester 3/Assignments/functions/arrays.h | 21 ++ .../Assignments/functions/functions.cpp | 46 +++ Semester 3/Assignments/functions/functions.h | 27 ++ Semester 3/Assignments/functions/main.cpp | 52 ++++ .../functions/nbproject/Makefile-Debug.mk | 95 +++++++ .../functions/nbproject/Makefile-Release.mk | 95 +++++++ .../functions/nbproject/Makefile-impl.mk | 133 +++++++++ .../functions/nbproject/Makefile-variables.mk | 35 +++ .../functions/nbproject/Package-Debug.bash | 76 +++++ .../functions/nbproject/Package-Release.bash | 76 +++++ .../functions/nbproject/configurations.xml | 86 ++++++ .../nbproject/private/Makefile-variables.mk | 7 + .../private/c_standard_headers_indexer.c | 75 +++++ .../nbproject/private/configurations.xml | 72 +++++ .../private/cpp_standard_headers_indexer.cpp | 135 +++++++++ .../nbproject/private/launcher.properties | 42 +++ .../functions/nbproject/private/private.xml | 7 + .../functions/nbproject/project.xml | 28 ++ Semester 3/Assignments/params.zip | Bin 0 -> 12412 bytes .../Assignments/params/nb-configuration.xml | 21 ++ Semester 3/Assignments/params/pom.xml | 48 ++++ .../java/asdv/JakartaRestConfiguration.java | 13 + .../asdv/resources/JakartaEE10Resource.java | 20 ++ .../src/main/java/beans/ClientBean.java | 58 ++++ .../params/src/main/java/beans/StockBean.java | 61 ++++ .../src/main/java/bl/DataFromDatabase.java | 40 +++ .../params/src/main/java/pojos/Stock.java | 138 +++++++++ .../java/utilities/UtilitiesDatabase.java | 111 ++++++++ .../main/resources/META-INF/persistence.xml | 7 + .../params/src/main/webapp/WEB-INF/beans.xml | 6 + .../src/main/webapp/WEB-INF/glassfish-web.xml | 25 ++ .../params/src/main/webapp/WEB-INF/web.xml | 24 ++ .../params/src/main/webapp/client-page.xhtml | 29 ++ .../params/src/main/webapp/index.xhtml | 84 ++++++ .../templates4_2/nb-configuration.xml | 21 ++ Semester 3/Assignments/templates4_2/pom.xml | 48 ++++ .../src/main/java/beans/Admin.java | 46 +++ .../main/resources/META-INF/persistence.xml | 7 + .../src/main/webapp/WEB-INF/beans.xml | 6 + .../src/main/webapp/WEB-INF/glassfish-web.xml | 25 ++ .../src/main/webapp/WEB-INF/web.xml | 24 ++ .../templates4_2/src/main/webapp/index.xhtml | 55 ++++ .../main/webapp/resources/css/bottomStyle.css | 18 ++ .../webapp/resources/css/contentStyle.css | 3 + .../main/webapp/resources/css/cssLayout.css | 51 ++++ .../src/main/webapp/resources/css/default.css | 8 + .../src/main/webapp/resources/css/dummy.css | 2 + .../webapp/resources/css/imageZoomStyle.css | 38 +++ .../main/webapp/resources/css/leftStyle.css | 22 ++ .../main/webapp/resources/css/loginStyle.css | 65 +++++ .../resources/css/login_and_searchStyle.css | 5 + .../main/webapp/resources/css/logoStyle.css | 7 + .../main/webapp/resources/css/menuStyle.css | 37 +++ .../main/webapp/resources/css/rightStyle.css | 5 + .../main/webapp/resources/css/searchStyle.css | 3 + .../main/webapp/resources/css/stylesLinks.css | 67 +++++ .../main/webapp/resources/css/titleStyle.css | 9 + .../main/webapp/resources/css/topPhones.css | 14 + .../main/webapp/resources/css/topStyle.css | 8 + .../src/main/webapp/resources/css/zoomcss.css | 24 ++ .../images/photos_original/iPhone11.png | Bin 0 -> 152146 bytes .../images/photos_original/sumsung.jpg | Bin 0 -> 36876 bytes .../webapp/resources/images/site/iPhone11.png | Bin 0 -> 152146 bytes .../webapp/resources/images/site/logo.png | Bin 0 -> 15695 bytes .../webapp/resources/images/site/menu.png | Bin 0 -> 1203 bytes .../webapp/resources/images/site/next.png | Bin 0 -> 1845 bytes .../webapp/resources/images/site/previous.png | Bin 0 -> 1840 bytes .../webapp/resources/images/site/sumsung.jpg | Bin 0 -> 36876 bytes .../webapp/templates/default_templates.zip | Bin 0 -> 5118 bytes .../default_templates/bottomDefault.xhtml | 12 + .../default_templates/contentDefault.xhtml | 12 + .../default_templates/leftDefault.xhtml | 12 + .../default_templates/loginDefault.xhtml | 12 + .../default_templates/logoDefault.xhtml | 12 + .../default_templates/menuDefault.xhtml | 22 ++ .../default_templates/rightDefault.xhtml | 12 + .../default_templates/searchDefault.xhtml | 12 + .../default_templates/titleDefault.xhtml | 12 + .../default_templates/topDefault.xhtml | 12 + .../templates/layout_templates/layout.xhtml | 88 ++++++ .../Assignments/templatesMatricesSample.zip | Bin 0 -> 48563 bytes .../nb-configuration.xml | 21 ++ .../templatesMatricesSample/pom.xml | 83 ++++++ .../java/edu/slcc/asdv/beans/MatrixBeanA.java | 48 ++++ .../java/edu/slcc/asdv/beans/MatrixBeanB.java | 50 ++++ .../java/edu/slcc/asdv/beans/MatrixBeanC.java | 49 ++++ .../edu/slcc/asdv/beans/MatrixOperations.java | 87 ++++++ .../java/edu/slcc/asdv/beans/MenuBar.java | 78 ++++++ .../main/java/edu/slcc/asdv/bl/Matrices.java | 265 ++++++++++++++++++ .../main/java/edu/slcc/asdv/bl/Matrix.java | 19 ++ .../asdv/resources/JakartaEE9Resource.java | 20 ++ .../edu/slcc/asdv/utilities/Utilities.java | 123 ++++++++ .../main/resources/META-INF/persistence.xml | 7 + .../src/main/webapp/WEB-INF/beans.xml | 6 + .../src/main/webapp/WEB-INF/beans_1.xml | 6 + .../src/main/webapp/WEB-INF/faces-config.xml | 15 + .../webapp/WEB-INF/glassfish-resources.xml | 14 + .../src/main/webapp/WEB-INF/glassfish-web.xml | 25 ++ .../src/main/webapp/WEB-INF/web.xml | 40 +++ .../src/main/webapp/index.xhtml | 56 ++++ .../main/webapp/login-n-search/login.xhtml | 25 ++ .../main/webapp/login-n-search/search.xhtml | 21 ++ .../src/main/webapp/matrices/compose.xhtml | 26 ++ .../src/main/webapp/matrices/matrixA.xhtml | 51 ++++ .../src/main/webapp/matrices/matrixB.xhtml | 48 ++++ .../src/main/webapp/matrices/matrixC.xhtml | 47 ++++ .../main/webapp/matrices/menuMatrices.xhtml | 39 +++ .../resources/css/layout-css/bottomStyle.css | 18 ++ .../resources/css/layout-css/contentStyle.css | 3 + .../resources/css/layout-css/cssLayout.css | 50 ++++ .../resources/css/layout-css/dataTable.css | 237 ++++++++++++++++ .../resources/css/layout-css/default.css | 8 + .../css/layout-css/imageZoomStyle.css | 34 +++ .../resources/css/layout-css/leftStyle.css | 22 ++ .../resources/css/layout-css/loginStyle.css | 65 +++++ .../css/layout-css/login_and_searchStyle.css | 8 + .../resources/css/layout-css/logoStyle.css | 9 + .../resources/css/layout-css/menuStyle.css | 37 +++ .../resources/css/layout-css/rightStyle.css | 5 + .../resources/css/layout-css/searchStyle.css | 3 + .../resources/css/layout-css/stylesLinks.css | 67 +++++ .../resources/css/layout-css/titleStyle.css | 9 + .../resources/css/layout-css/topStyle.css | 9 + .../main/webapp/resources/images/download.png | Bin 0 -> 3737 bytes .../src/main/webapp/resources/images/owl.png | Bin 0 -> 6205 bytes .../main/webapp/resources/js/do_validation.js | 22 ++ .../templates/default/bottomDefault.xhtml | 12 + .../templates/default/contentDefault.xhtml | 12 + .../templates/default/leftDefault.xhtml | 12 + .../templates/default/loginDefault.xhtml | 12 + .../templates/default/logoDefault.xhtml | 12 + .../templates/default/menuDefault.xhtml | 14 + .../templates/default/rightDefault.xhtml | 12 + .../templates/default/searchDefault.xhtml | 12 + .../templates/default/titleDefault.xhtml | 12 + .../templates/default/topDefault.xhtml | 12 + .../templates/generic/generic-layout.xhtml | 115 ++++++++ 219 files changed, 7927 insertions(+) create mode 100644 Semester 3/Assignments/AjaxReview/nb-configuration.xml create mode 100644 Semester 3/Assignments/AjaxReview/pom.xml create mode 100644 Semester 3/Assignments/AjaxReview/src/main/java/asdv/ajaxreview/JakartaRestConfiguration.java create mode 100644 Semester 3/Assignments/AjaxReview/src/main/java/asdv/ajaxreview/resources/JakartaEE10Resource.java create mode 100644 Semester 3/Assignments/AjaxReview/src/main/java/beans/Ajax1.java create mode 100644 Semester 3/Assignments/AjaxReview/src/main/java/beans/Ajax2.java create mode 100644 Semester 3/Assignments/AjaxReview/src/main/java/beans/Ajax3.java create mode 100644 Semester 3/Assignments/AjaxReview/src/main/java/beans/Ajax5.java create mode 100644 Semester 3/Assignments/AjaxReview/src/main/java/beans/Ajax6.java create mode 100644 Semester 3/Assignments/AjaxReview/src/main/java/beans/Ajax7.java create mode 100644 Semester 3/Assignments/AjaxReview/src/main/java/utilities/Utilities.java create mode 100644 Semester 3/Assignments/AjaxReview/src/main/resources/META-INF/persistence.xml create mode 100644 Semester 3/Assignments/AjaxReview/src/main/webapp/WEB-INF/beans.xml create mode 100644 Semester 3/Assignments/AjaxReview/src/main/webapp/WEB-INF/glassfish-web.xml create mode 100644 Semester 3/Assignments/AjaxReview/src/main/webapp/WEB-INF/web.xml create mode 100644 Semester 3/Assignments/AjaxReview/src/main/webapp/ajax1.xhtml create mode 100644 Semester 3/Assignments/AjaxReview/src/main/webapp/ajax2.xhtml create mode 100644 Semester 3/Assignments/AjaxReview/src/main/webapp/ajax3.xhtml create mode 100644 Semester 3/Assignments/AjaxReview/src/main/webapp/ajax4.xhtml create mode 100644 Semester 3/Assignments/AjaxReview/src/main/webapp/ajax5.xhtml create mode 100644 Semester 3/Assignments/AjaxReview/src/main/webapp/ajax6.xhtml create mode 100644 Semester 3/Assignments/AjaxReview/src/main/webapp/ajax7.xhtml create mode 100644 Semester 3/Assignments/AjaxReview/src/main/webapp/index.xhtml create mode 100644 Semester 3/Assignments/TermProject1_CalebFontenot/nb-configuration.xml create mode 100644 Semester 3/Assignments/TermProject1_CalebFontenot/pom.xml create mode 100644 Semester 3/Assignments/TermProject1_CalebFontenot/src/main/java/edu/slcc/asdv/caleb/termproject1_calebfontenot/JakartaRestConfiguration.java create mode 100644 Semester 3/Assignments/TermProject1_CalebFontenot/src/main/java/edu/slcc/asdv/caleb/termproject1_calebfontenot/beans/MatrixBeanA.java create mode 100644 Semester 3/Assignments/TermProject1_CalebFontenot/src/main/java/edu/slcc/asdv/caleb/termproject1_calebfontenot/beans/MatrixBeanB.java create mode 100644 Semester 3/Assignments/TermProject1_CalebFontenot/src/main/java/edu/slcc/asdv/caleb/termproject1_calebfontenot/beans/MatrixBeanC.java create mode 100644 Semester 3/Assignments/TermProject1_CalebFontenot/src/main/java/edu/slcc/asdv/caleb/termproject1_calebfontenot/beans/MatrixOperations.java create mode 100644 Semester 3/Assignments/TermProject1_CalebFontenot/src/main/java/edu/slcc/asdv/caleb/termproject1_calebfontenot/beans/MenuBar.java create mode 100644 Semester 3/Assignments/TermProject1_CalebFontenot/src/main/java/edu/slcc/asdv/caleb/termproject1_calebfontenot/bl/Matrices.java create mode 100644 Semester 3/Assignments/TermProject1_CalebFontenot/src/main/java/edu/slcc/asdv/caleb/termproject1_calebfontenot/bl/Matrix.java create mode 100644 Semester 3/Assignments/TermProject1_CalebFontenot/src/main/java/edu/slcc/asdv/caleb/termproject1_calebfontenot/resources/JakartaEE10Resource.java create mode 100644 Semester 3/Assignments/TermProject1_CalebFontenot/src/main/java/edu/slcc/asdv/caleb/termproject1_calebfontenot/utilities/Utilities.java create mode 100644 Semester 3/Assignments/TermProject1_CalebFontenot/src/main/resources/META-INF/persistence.xml create mode 100644 Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/WEB-INF/beans.xml create mode 100644 Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/WEB-INF/glassfish-web.xml create mode 100644 Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/WEB-INF/web.xml create mode 100644 Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/index.xhtml create mode 100644 Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/login-n-search/login.xhtml create mode 100644 Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/login-n-search/search.xhtml create mode 100644 Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/matrices/compose.xhtml create mode 100644 Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/matrices/matrixA.xhtml create mode 100644 Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/matrices/matrixB.xhtml create mode 100644 Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/matrices/matrixC.xhtml create mode 100644 Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/matrices/menuActivities.xhtml create mode 100644 Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/matrices/menuMatrices.xhtml create mode 100644 Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/resources/css/layout-css/bottomStyle.css create mode 100644 Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/resources/css/layout-css/contentStyle.css create mode 100644 Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/resources/css/layout-css/cssLayout.css create mode 100644 Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/resources/css/layout-css/dataTable.css create mode 100644 Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/resources/css/layout-css/default.css create mode 100644 Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/resources/css/layout-css/imageZoomStyle.css create mode 100644 Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/resources/css/layout-css/leftStyle.css create mode 100644 Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/resources/css/layout-css/loginStyle.css create mode 100644 Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/resources/css/layout-css/login_and_searchStyle.css create mode 100644 Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/resources/css/layout-css/logoStyle.css create mode 100644 Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/resources/css/layout-css/menuStyle.css create mode 100644 Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/resources/css/layout-css/rightStyle.css create mode 100644 Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/resources/css/layout-css/searchStyle.css create mode 100644 Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/resources/css/layout-css/stylesLinks.css create mode 100644 Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/resources/css/layout-css/titleStyle.css create mode 100644 Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/resources/css/layout-css/topStyle.css create mode 100644 Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/resources/images/download.png create mode 100644 Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/resources/images/owl.png create mode 100644 Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/resources/js/do_validation.js create mode 100644 Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/resources/templates/default/bottomDefault.xhtml create mode 100644 Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/resources/templates/default/contentDefault.xhtml create mode 100644 Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/resources/templates/default/leftDefault.xhtml create mode 100644 Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/resources/templates/default/loginDefault.xhtml create mode 100644 Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/resources/templates/default/logoDefault.xhtml create mode 100644 Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/resources/templates/default/menuDefault.xhtml create mode 100644 Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/resources/templates/default/rightDefault.xhtml create mode 100644 Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/resources/templates/default/searchDefault.xhtml create mode 100644 Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/resources/templates/default/titleDefault.xhtml create mode 100644 Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/resources/templates/default/topDefault.xhtml create mode 100644 Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/resources/templates/generic/generic-layout.xhtml create mode 100644 Semester 3/Assignments/functions/.dep.inc create mode 100644 Semester 3/Assignments/functions/Makefile create mode 100644 Semester 3/Assignments/functions/arrays.cpp create mode 100644 Semester 3/Assignments/functions/arrays.h create mode 100644 Semester 3/Assignments/functions/functions.cpp create mode 100644 Semester 3/Assignments/functions/functions.h create mode 100644 Semester 3/Assignments/functions/main.cpp create mode 100644 Semester 3/Assignments/functions/nbproject/Makefile-Debug.mk create mode 100644 Semester 3/Assignments/functions/nbproject/Makefile-Release.mk create mode 100644 Semester 3/Assignments/functions/nbproject/Makefile-impl.mk create mode 100644 Semester 3/Assignments/functions/nbproject/Makefile-variables.mk create mode 100644 Semester 3/Assignments/functions/nbproject/Package-Debug.bash create mode 100644 Semester 3/Assignments/functions/nbproject/Package-Release.bash create mode 100644 Semester 3/Assignments/functions/nbproject/configurations.xml create mode 100644 Semester 3/Assignments/functions/nbproject/private/Makefile-variables.mk create mode 100644 Semester 3/Assignments/functions/nbproject/private/c_standard_headers_indexer.c create mode 100644 Semester 3/Assignments/functions/nbproject/private/configurations.xml create mode 100644 Semester 3/Assignments/functions/nbproject/private/cpp_standard_headers_indexer.cpp create mode 100644 Semester 3/Assignments/functions/nbproject/private/launcher.properties create mode 100644 Semester 3/Assignments/functions/nbproject/private/private.xml create mode 100644 Semester 3/Assignments/functions/nbproject/project.xml create mode 100644 Semester 3/Assignments/params.zip create mode 100644 Semester 3/Assignments/params/nb-configuration.xml create mode 100644 Semester 3/Assignments/params/pom.xml create mode 100644 Semester 3/Assignments/params/src/main/java/asdv/JakartaRestConfiguration.java create mode 100644 Semester 3/Assignments/params/src/main/java/asdv/resources/JakartaEE10Resource.java create mode 100644 Semester 3/Assignments/params/src/main/java/beans/ClientBean.java create mode 100644 Semester 3/Assignments/params/src/main/java/beans/StockBean.java create mode 100644 Semester 3/Assignments/params/src/main/java/bl/DataFromDatabase.java create mode 100644 Semester 3/Assignments/params/src/main/java/pojos/Stock.java create mode 100644 Semester 3/Assignments/params/src/main/java/utilities/UtilitiesDatabase.java create mode 100644 Semester 3/Assignments/params/src/main/resources/META-INF/persistence.xml create mode 100644 Semester 3/Assignments/params/src/main/webapp/WEB-INF/beans.xml create mode 100644 Semester 3/Assignments/params/src/main/webapp/WEB-INF/glassfish-web.xml create mode 100644 Semester 3/Assignments/params/src/main/webapp/WEB-INF/web.xml create mode 100644 Semester 3/Assignments/params/src/main/webapp/client-page.xhtml create mode 100644 Semester 3/Assignments/params/src/main/webapp/index.xhtml create mode 100644 Semester 3/Assignments/templates4_2/nb-configuration.xml create mode 100644 Semester 3/Assignments/templates4_2/pom.xml create mode 100644 Semester 3/Assignments/templates4_2/src/main/java/beans/Admin.java create mode 100644 Semester 3/Assignments/templates4_2/src/main/resources/META-INF/persistence.xml create mode 100644 Semester 3/Assignments/templates4_2/src/main/webapp/WEB-INF/beans.xml create mode 100644 Semester 3/Assignments/templates4_2/src/main/webapp/WEB-INF/glassfish-web.xml create mode 100644 Semester 3/Assignments/templates4_2/src/main/webapp/WEB-INF/web.xml create mode 100644 Semester 3/Assignments/templates4_2/src/main/webapp/index.xhtml create mode 100644 Semester 3/Assignments/templates4_2/src/main/webapp/resources/css/bottomStyle.css create mode 100644 Semester 3/Assignments/templates4_2/src/main/webapp/resources/css/contentStyle.css create mode 100644 Semester 3/Assignments/templates4_2/src/main/webapp/resources/css/cssLayout.css create mode 100644 Semester 3/Assignments/templates4_2/src/main/webapp/resources/css/default.css create mode 100644 Semester 3/Assignments/templates4_2/src/main/webapp/resources/css/dummy.css create mode 100644 Semester 3/Assignments/templates4_2/src/main/webapp/resources/css/imageZoomStyle.css create mode 100644 Semester 3/Assignments/templates4_2/src/main/webapp/resources/css/leftStyle.css create mode 100644 Semester 3/Assignments/templates4_2/src/main/webapp/resources/css/loginStyle.css create mode 100644 Semester 3/Assignments/templates4_2/src/main/webapp/resources/css/login_and_searchStyle.css create mode 100644 Semester 3/Assignments/templates4_2/src/main/webapp/resources/css/logoStyle.css create mode 100644 Semester 3/Assignments/templates4_2/src/main/webapp/resources/css/menuStyle.css create mode 100644 Semester 3/Assignments/templates4_2/src/main/webapp/resources/css/rightStyle.css create mode 100644 Semester 3/Assignments/templates4_2/src/main/webapp/resources/css/searchStyle.css create mode 100644 Semester 3/Assignments/templates4_2/src/main/webapp/resources/css/stylesLinks.css create mode 100644 Semester 3/Assignments/templates4_2/src/main/webapp/resources/css/titleStyle.css create mode 100644 Semester 3/Assignments/templates4_2/src/main/webapp/resources/css/topPhones.css create mode 100644 Semester 3/Assignments/templates4_2/src/main/webapp/resources/css/topStyle.css create mode 100644 Semester 3/Assignments/templates4_2/src/main/webapp/resources/css/zoomcss.css create mode 100644 Semester 3/Assignments/templates4_2/src/main/webapp/resources/images/photos_original/iPhone11.png create mode 100644 Semester 3/Assignments/templates4_2/src/main/webapp/resources/images/photos_original/sumsung.jpg create mode 100644 Semester 3/Assignments/templates4_2/src/main/webapp/resources/images/site/iPhone11.png create mode 100644 Semester 3/Assignments/templates4_2/src/main/webapp/resources/images/site/logo.png create mode 100644 Semester 3/Assignments/templates4_2/src/main/webapp/resources/images/site/menu.png create mode 100644 Semester 3/Assignments/templates4_2/src/main/webapp/resources/images/site/next.png create mode 100644 Semester 3/Assignments/templates4_2/src/main/webapp/resources/images/site/previous.png create mode 100644 Semester 3/Assignments/templates4_2/src/main/webapp/resources/images/site/sumsung.jpg create mode 100644 Semester 3/Assignments/templates4_2/src/main/webapp/templates/default_templates.zip create mode 100644 Semester 3/Assignments/templates4_2/src/main/webapp/templates/default_templates/bottomDefault.xhtml create mode 100644 Semester 3/Assignments/templates4_2/src/main/webapp/templates/default_templates/contentDefault.xhtml create mode 100644 Semester 3/Assignments/templates4_2/src/main/webapp/templates/default_templates/leftDefault.xhtml create mode 100644 Semester 3/Assignments/templates4_2/src/main/webapp/templates/default_templates/loginDefault.xhtml create mode 100644 Semester 3/Assignments/templates4_2/src/main/webapp/templates/default_templates/logoDefault.xhtml create mode 100644 Semester 3/Assignments/templates4_2/src/main/webapp/templates/default_templates/menuDefault.xhtml create mode 100644 Semester 3/Assignments/templates4_2/src/main/webapp/templates/default_templates/rightDefault.xhtml create mode 100644 Semester 3/Assignments/templates4_2/src/main/webapp/templates/default_templates/searchDefault.xhtml create mode 100644 Semester 3/Assignments/templates4_2/src/main/webapp/templates/default_templates/titleDefault.xhtml create mode 100644 Semester 3/Assignments/templates4_2/src/main/webapp/templates/default_templates/topDefault.xhtml create mode 100644 Semester 3/Assignments/templates4_2/src/main/webapp/templates/layout_templates/layout.xhtml create mode 100644 Semester 3/Assignments/templatesMatricesSample.zip create mode 100644 Semester 3/Assignments/templatesMatricesSample/nb-configuration.xml create mode 100644 Semester 3/Assignments/templatesMatricesSample/pom.xml create mode 100644 Semester 3/Assignments/templatesMatricesSample/src/main/java/edu/slcc/asdv/beans/MatrixBeanA.java create mode 100644 Semester 3/Assignments/templatesMatricesSample/src/main/java/edu/slcc/asdv/beans/MatrixBeanB.java create mode 100644 Semester 3/Assignments/templatesMatricesSample/src/main/java/edu/slcc/asdv/beans/MatrixBeanC.java create mode 100644 Semester 3/Assignments/templatesMatricesSample/src/main/java/edu/slcc/asdv/beans/MatrixOperations.java create mode 100644 Semester 3/Assignments/templatesMatricesSample/src/main/java/edu/slcc/asdv/beans/MenuBar.java create mode 100644 Semester 3/Assignments/templatesMatricesSample/src/main/java/edu/slcc/asdv/bl/Matrices.java create mode 100644 Semester 3/Assignments/templatesMatricesSample/src/main/java/edu/slcc/asdv/bl/Matrix.java create mode 100644 Semester 3/Assignments/templatesMatricesSample/src/main/java/edu/slcc/asdv/resources/JakartaEE9Resource.java create mode 100644 Semester 3/Assignments/templatesMatricesSample/src/main/java/edu/slcc/asdv/utilities/Utilities.java create mode 100644 Semester 3/Assignments/templatesMatricesSample/src/main/resources/META-INF/persistence.xml create mode 100644 Semester 3/Assignments/templatesMatricesSample/src/main/webapp/WEB-INF/beans.xml create mode 100644 Semester 3/Assignments/templatesMatricesSample/src/main/webapp/WEB-INF/beans_1.xml create mode 100644 Semester 3/Assignments/templatesMatricesSample/src/main/webapp/WEB-INF/faces-config.xml create mode 100644 Semester 3/Assignments/templatesMatricesSample/src/main/webapp/WEB-INF/glassfish-resources.xml create mode 100644 Semester 3/Assignments/templatesMatricesSample/src/main/webapp/WEB-INF/glassfish-web.xml create mode 100644 Semester 3/Assignments/templatesMatricesSample/src/main/webapp/WEB-INF/web.xml create mode 100644 Semester 3/Assignments/templatesMatricesSample/src/main/webapp/index.xhtml create mode 100644 Semester 3/Assignments/templatesMatricesSample/src/main/webapp/login-n-search/login.xhtml create mode 100644 Semester 3/Assignments/templatesMatricesSample/src/main/webapp/login-n-search/search.xhtml create mode 100644 Semester 3/Assignments/templatesMatricesSample/src/main/webapp/matrices/compose.xhtml create mode 100644 Semester 3/Assignments/templatesMatricesSample/src/main/webapp/matrices/matrixA.xhtml create mode 100644 Semester 3/Assignments/templatesMatricesSample/src/main/webapp/matrices/matrixB.xhtml create mode 100644 Semester 3/Assignments/templatesMatricesSample/src/main/webapp/matrices/matrixC.xhtml create mode 100644 Semester 3/Assignments/templatesMatricesSample/src/main/webapp/matrices/menuMatrices.xhtml create mode 100644 Semester 3/Assignments/templatesMatricesSample/src/main/webapp/resources/css/layout-css/bottomStyle.css create mode 100644 Semester 3/Assignments/templatesMatricesSample/src/main/webapp/resources/css/layout-css/contentStyle.css create mode 100644 Semester 3/Assignments/templatesMatricesSample/src/main/webapp/resources/css/layout-css/cssLayout.css create mode 100644 Semester 3/Assignments/templatesMatricesSample/src/main/webapp/resources/css/layout-css/dataTable.css create mode 100644 Semester 3/Assignments/templatesMatricesSample/src/main/webapp/resources/css/layout-css/default.css create mode 100644 Semester 3/Assignments/templatesMatricesSample/src/main/webapp/resources/css/layout-css/imageZoomStyle.css create mode 100644 Semester 3/Assignments/templatesMatricesSample/src/main/webapp/resources/css/layout-css/leftStyle.css create mode 100644 Semester 3/Assignments/templatesMatricesSample/src/main/webapp/resources/css/layout-css/loginStyle.css create mode 100644 Semester 3/Assignments/templatesMatricesSample/src/main/webapp/resources/css/layout-css/login_and_searchStyle.css create mode 100644 Semester 3/Assignments/templatesMatricesSample/src/main/webapp/resources/css/layout-css/logoStyle.css create mode 100644 Semester 3/Assignments/templatesMatricesSample/src/main/webapp/resources/css/layout-css/menuStyle.css create mode 100644 Semester 3/Assignments/templatesMatricesSample/src/main/webapp/resources/css/layout-css/rightStyle.css create mode 100644 Semester 3/Assignments/templatesMatricesSample/src/main/webapp/resources/css/layout-css/searchStyle.css create mode 100644 Semester 3/Assignments/templatesMatricesSample/src/main/webapp/resources/css/layout-css/stylesLinks.css create mode 100644 Semester 3/Assignments/templatesMatricesSample/src/main/webapp/resources/css/layout-css/titleStyle.css create mode 100644 Semester 3/Assignments/templatesMatricesSample/src/main/webapp/resources/css/layout-css/topStyle.css create mode 100644 Semester 3/Assignments/templatesMatricesSample/src/main/webapp/resources/images/download.png create mode 100644 Semester 3/Assignments/templatesMatricesSample/src/main/webapp/resources/images/owl.png create mode 100644 Semester 3/Assignments/templatesMatricesSample/src/main/webapp/resources/js/do_validation.js create mode 100644 Semester 3/Assignments/templatesMatricesSample/src/main/webapp/resources/templates/default/bottomDefault.xhtml create mode 100644 Semester 3/Assignments/templatesMatricesSample/src/main/webapp/resources/templates/default/contentDefault.xhtml create mode 100644 Semester 3/Assignments/templatesMatricesSample/src/main/webapp/resources/templates/default/leftDefault.xhtml create mode 100644 Semester 3/Assignments/templatesMatricesSample/src/main/webapp/resources/templates/default/loginDefault.xhtml create mode 100644 Semester 3/Assignments/templatesMatricesSample/src/main/webapp/resources/templates/default/logoDefault.xhtml create mode 100644 Semester 3/Assignments/templatesMatricesSample/src/main/webapp/resources/templates/default/menuDefault.xhtml create mode 100644 Semester 3/Assignments/templatesMatricesSample/src/main/webapp/resources/templates/default/rightDefault.xhtml create mode 100644 Semester 3/Assignments/templatesMatricesSample/src/main/webapp/resources/templates/default/searchDefault.xhtml create mode 100644 Semester 3/Assignments/templatesMatricesSample/src/main/webapp/resources/templates/default/titleDefault.xhtml create mode 100644 Semester 3/Assignments/templatesMatricesSample/src/main/webapp/resources/templates/default/topDefault.xhtml create mode 100644 Semester 3/Assignments/templatesMatricesSample/src/main/webapp/resources/templates/generic/generic-layout.xhtml diff --git a/.gitignore b/.gitignore index 817f0f2..e067009 100644 --- a/.gitignore +++ b/.gitignore @@ -92,3 +92,10 @@ /Semester 3/Assignments/Templates01_CalebFontenot/target/ /Semester 3/Assignments/MaxTask/target/ /Semester 3/Assignments/MP1_Ajax/target/ +/Semester 3/Assignments/templates4_2/target/ +/Semester 3/Assignments/functions/build/ +/Semester 3/Assignments/functions/dist/ +/Semester 3/Assignments/AjaxReview/target/ +/Semester 3/Assignments/TermProject1_CalebFontenot/target/ +/Semester 3/Assignments/params/target/ +/Semester 3/Assignments/templatesMatricesSample/target/ diff --git a/Semester 3/Assignments/AjaxReview/nb-configuration.xml b/Semester 3/Assignments/AjaxReview/nb-configuration.xml new file mode 100644 index 0000000..f7b0362 --- /dev/null +++ b/Semester 3/Assignments/AjaxReview/nb-configuration.xml @@ -0,0 +1,21 @@ + + + + + + 10-web + gfv700ee10 + Facelets + JDK_15__System_ + + diff --git a/Semester 3/Assignments/AjaxReview/pom.xml b/Semester 3/Assignments/AjaxReview/pom.xml new file mode 100644 index 0000000..53f53fa --- /dev/null +++ b/Semester 3/Assignments/AjaxReview/pom.xml @@ -0,0 +1,48 @@ + + 4.0.0 + asdv + AjaxReview + 1 + war + AjaxReview-1 + + + UTF-8 + 10.0.0 + + + + + jakarta.platform + jakarta.jakartaee-api + ${jakartaee} + provided + + + org.primefaces + primefaces + 13.0.3 + jakarta + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.8.1 + + 11 + 11 + + + + org.apache.maven.plugins + maven-war-plugin + 3.3.2 + + + + \ No newline at end of file diff --git a/Semester 3/Assignments/AjaxReview/src/main/java/asdv/ajaxreview/JakartaRestConfiguration.java b/Semester 3/Assignments/AjaxReview/src/main/java/asdv/ajaxreview/JakartaRestConfiguration.java new file mode 100644 index 0000000..c2d1703 --- /dev/null +++ b/Semester 3/Assignments/AjaxReview/src/main/java/asdv/ajaxreview/JakartaRestConfiguration.java @@ -0,0 +1,13 @@ +package asdv.ajaxreview; + +import jakarta.ws.rs.ApplicationPath; +import jakarta.ws.rs.core.Application; + +/** + * Configures Jakarta RESTful Web Services for the application. + * @author Juneau + */ +@ApplicationPath("resources") +public class JakartaRestConfiguration extends Application { + +} diff --git a/Semester 3/Assignments/AjaxReview/src/main/java/asdv/ajaxreview/resources/JakartaEE10Resource.java b/Semester 3/Assignments/AjaxReview/src/main/java/asdv/ajaxreview/resources/JakartaEE10Resource.java new file mode 100644 index 0000000..5f27c81 --- /dev/null +++ b/Semester 3/Assignments/AjaxReview/src/main/java/asdv/ajaxreview/resources/JakartaEE10Resource.java @@ -0,0 +1,20 @@ +package asdv.ajaxreview.resources; + +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.core.Response; + +/** + * + * @author + */ +@Path("jakartaee10") +public class JakartaEE10Resource { + + @GET + public Response ping(){ + return Response + .ok("ping Jakarta EE") + .build(); + } +} diff --git a/Semester 3/Assignments/AjaxReview/src/main/java/beans/Ajax1.java b/Semester 3/Assignments/AjaxReview/src/main/java/beans/Ajax1.java new file mode 100644 index 0000000..d23ccf6 --- /dev/null +++ b/Semester 3/Assignments/AjaxReview/src/main/java/beans/Ajax1.java @@ -0,0 +1,40 @@ +/* + * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license + * Click nbfs://nbhost/SystemFileSystem/Templates/JSF/JSFManagedBean.java to edit this template + */ +package beans; + +import jakarta.inject.Named; +import jakarta.enterprise.context.RequestScoped; + +/** + * + * @author asdv5 + */ +@Named(value = "ajax1") +@RequestScoped +public class Ajax1 +{ + private String input1; + private String input2; + + public String getInput1() + { + return input1; + } + + public void setInput1(String input1) + { + this.input1 = input1; + } + + public String getInput2() + { + return input2; + } + + public void setInput2(String input2) + { + this.input2 = input2; + } +} diff --git a/Semester 3/Assignments/AjaxReview/src/main/java/beans/Ajax2.java b/Semester 3/Assignments/AjaxReview/src/main/java/beans/Ajax2.java new file mode 100644 index 0000000..b9c2fda --- /dev/null +++ b/Semester 3/Assignments/AjaxReview/src/main/java/beans/Ajax2.java @@ -0,0 +1,78 @@ +package beans; + +import jakarta.enterprise.context.RequestScoped; +import jakarta.faces.application.FacesMessage; +import jakarta.inject.Named; +import utilities.Utilities; + + +@Named(value = "ajax2") +@RequestScoped +public class Ajax2 +{ +private String farheneitTemperature; +private String celciusTemperature = "default value"; +private String testInput; +private String miles; + +public Ajax2() +{ + System.out.println("-----------------------------------------constructor Ajax2()"); +} +public String getTestInput() +{ + return this.testInput; +} +public void setTestInput( String testInput) +{ + System.out.println("testInput setter called"); + this.testInput = testInput; +} + + + public String getMiles() + { + return miles; + } + + public void setMiles(String miles) + { + System.out.println("miles: " + miles); + this.miles = miles; + } + + public String milesToKilometers() + { + if ( this.miles == null ) + return null; + double miles = Double.parseDouble( this.miles ); + double km = miles * 1.65; + return String.valueOf(km); + } + + + public String getFarheneitTemperature(){return farheneitTemperature;} + + public void setFarheneitTemperature(String farheneitTemperature) + { + System.out.println("setFarheneitTemperature: " + farheneitTemperature); + this.farheneitTemperature = farheneitTemperature; + this.celciusTemperature = convertFtoC(); + Utilities.addMessage(FacesMessage.SEVERITY_INFO, farheneitTemperature, celciusTemperature); + + } + public String getCelciusTemperature(){ + return celciusTemperature;} + private String convertFtoC() + { + double f = Double.parseDouble( this.farheneitTemperature ); + double c = (f - 32) * ( 5.0 / 9.0); + System.out.println("far: " + this.farheneitTemperature); + System.out.println("convert " + c); + celciusTemperature = String.valueOf(c); + return celciusTemperature; + } + + + +} diff --git a/Semester 3/Assignments/AjaxReview/src/main/java/beans/Ajax3.java b/Semester 3/Assignments/AjaxReview/src/main/java/beans/Ajax3.java new file mode 100644 index 0000000..0d517e4 --- /dev/null +++ b/Semester 3/Assignments/AjaxReview/src/main/java/beans/Ajax3.java @@ -0,0 +1,73 @@ +package beans; +import java.util.logging.Level; +import java.util.logging.Logger; +import jakarta.enterprise.context.RequestScoped; +import jakarta.inject.Named; + +@Named(value = "ajax3") +@RequestScoped +public class Ajax3 +{ + private static final Logger logger + = Logger.getLogger(Ajax3.class.getName()); + private String firstName = "default"; + private String lastName; + private String phone; + private String age; + private String address; +public Ajax3() +{ + logger.log(Level.INFO, "Ajax3 constructor called" ); +} + public String getFirstName() + { + + return firstName; + } + public void setFirstName(String firstName) + { + this.firstName = firstName; + } + public String getLastName() + { + return lastName; + } + public void setLastName(String lastName) + { + this.lastName = lastName; + } + public String getPhone() + { + return phone; + } + public void setPhone(String phone) + { + this.phone = phone; + } + public String getAge() + { + return age; + } + public void setAge(String age) + { + this.age = age; + } + public String getAddress() + { + return address; + } + public void setAddress(String address) + { + this.address = address; + } + public void ajaxAction(String executeNrender) + { + System.out.println(executeNrender); + logger.log(Level.INFO, "First Name = {0}", this.firstName); + logger.log(Level.INFO, "Last Name = {0}", this.lastName); + logger.log(Level.INFO, "Phone = {0}", this.phone); + logger.log(Level.INFO, "Age = {0}", this.age); + logger.log(Level.INFO, "Address = {0}", this.address); + System.out.println("--------------------------------------"); + } +} diff --git a/Semester 3/Assignments/AjaxReview/src/main/java/beans/Ajax5.java b/Semester 3/Assignments/AjaxReview/src/main/java/beans/Ajax5.java new file mode 100644 index 0000000..9d15706 --- /dev/null +++ b/Semester 3/Assignments/AjaxReview/src/main/java/beans/Ajax5.java @@ -0,0 +1,73 @@ + +package beans; + +import jakarta.inject.Named; +import jakarta.enterprise.context.SessionScoped; +import java.io.Serializable; +import jakarta.faces.application.FacesMessage; +import jakarta.faces.event.AbortProcessingException; +import jakarta.faces.event.AjaxBehaviorEvent; +import utilities.Utilities; + +@Named(value = "ajax5") +@SessionScoped +public class Ajax5 implements Serializable +{ + + private boolean buttonRed = false; + private String input; + + + public void mouseOverListener(AjaxBehaviorEvent event) + throws AbortProcessingException + { + System.out.println("mouseOverListener"); + setButtonRed(true); + Utilities.addMessage(FacesMessage.SEVERITY_INFO, "mouseOverListener", "red = true, input=" + input); + + } + + public void mouseOutListener(AjaxBehaviorEvent event) + throws AbortProcessingException + { + System.out.println("mouseOutListener"); + setButtonRed(false); + Utilities.addMessage(FacesMessage.SEVERITY_INFO, "mouseOutListener", "red = false, input=" + input); + + } + + public String getInput() + { + return input; + } + + public void setInput(String input) + { + this.input = input; + } + + + + + + + + + public boolean isButtonRed() + { + return buttonRed; + } + + public void setButtonRed(boolean buttonRed) + { + this.buttonRed = buttonRed; + } + + + public void actionMethod() + { + Utilities.addMessage(FacesMessage.SEVERITY_INFO, "actionMethod()", "input=" + input); + + } + +} diff --git a/Semester 3/Assignments/AjaxReview/src/main/java/beans/Ajax6.java b/Semester 3/Assignments/AjaxReview/src/main/java/beans/Ajax6.java new file mode 100644 index 0000000..5f6e990 --- /dev/null +++ b/Semester 3/Assignments/AjaxReview/src/main/java/beans/Ajax6.java @@ -0,0 +1,44 @@ +package beans; + +import jakarta.inject.Named; +import jakarta.enterprise.context.SessionScoped; +import java.io.Serializable; +import jakarta.faces.application.FacesMessage; +import jakarta.faces.event.AbortProcessingException; +import jakarta.faces.event.AjaxBehaviorEvent; +import utilities.Utilities; + +/** + * + * @author ASDV2 + */ +@Named(value = "ajax6") +@SessionScoped +public class Ajax6 implements Serializable +{ + private int brand = 0; + + public int getBrand() + { + return brand; + } + + public void setBrand(int brand) + { + this.brand = brand; + } + + + + public void clickListener(AjaxBehaviorEvent event) + throws AbortProcessingException + { + Utilities.addMessage(FacesMessage.SEVERITY_INFO, "clickListener", "brand= "+ brand); + } + public void changeListener(AjaxBehaviorEvent event) + throws AbortProcessingException + { + Utilities.addMessage(FacesMessage.SEVERITY_INFO, "changeListener", "brand= "+ brand); + } + +} diff --git a/Semester 3/Assignments/AjaxReview/src/main/java/beans/Ajax7.java b/Semester 3/Assignments/AjaxReview/src/main/java/beans/Ajax7.java new file mode 100644 index 0000000..a494c85 --- /dev/null +++ b/Semester 3/Assignments/AjaxReview/src/main/java/beans/Ajax7.java @@ -0,0 +1,60 @@ +package beans; + +import jakarta.enterprise.context.RequestScoped; +import jakarta.faces.application.FacesMessage; +import jakarta.inject.Named; +import utilities.Utilities; + + +@Named(value = "ajax7") +@RequestScoped +public class Ajax7 +{ +private String farheneitTemperature; +private String celciusTemperature; +private String miles; + + public String getMiles() + { + return miles; + } + + public void setMiles(String miles) + { + this.miles = miles; + } + + public String milesToKilometers() + { + if ( this.miles == null || "".equals(miles) ) + return null; + double miles = Double.parseDouble( this.miles ); + double km = miles * 1.65; + return String.valueOf(km); + } + + + public String getFarheneitTemperature(){return farheneitTemperature;} + + public void setFarheneitTemperature(String farheneitTemperature) + { + this.farheneitTemperature = farheneitTemperature; + this.celciusTemperature = convertFtoC(); + Utilities.addMessage(FacesMessage.SEVERITY_INFO, farheneitTemperature, celciusTemperature); + + } + public String getCelciusTemperature(){ + return celciusTemperature;} + private String convertFtoC() + { + if ( "".equals(this.farheneitTemperature ) ||farheneitTemperature == null ) + return ""; + double f = Double.parseDouble( this.farheneitTemperature ); + double c = (f - 32) * ( 5.0 / 9.0); + celciusTemperature = String.valueOf(c); + return celciusTemperature; + } + + + +} diff --git a/Semester 3/Assignments/AjaxReview/src/main/java/utilities/Utilities.java b/Semester 3/Assignments/AjaxReview/src/main/java/utilities/Utilities.java new file mode 100644 index 0000000..0e9efb2 --- /dev/null +++ b/Semester 3/Assignments/AjaxReview/src/main/java/utilities/Utilities.java @@ -0,0 +1,47 @@ +package utilities; + +/* + * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license + * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template + */ + + +import jakarta.faces.application.FacesMessage; +import jakarta.faces.context.FacesContext; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.Iterator; + +/** + * + * @author asdv5 + */ +public class Utilities +{ + public static String simpleDateFormat( Date date) + { + if ( date == null ) + return null; + SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd hh:mm"); + String s = sdf.format( date); + return s; + } + + public static void addMessage(FacesMessage.Severity severity, String summary, String detail) + { + FacesMessage msg = new FacesMessage(severity, summary, detail); + FacesContext.getCurrentInstance().addMessage(null, msg); + } + + public static void clearAllMessages() + { + FacesContext context = FacesContext.getCurrentInstance(); + Iterator it = context.getMessages(); + while (it.hasNext()) + { + it.next(); + it.remove(); + } + } + +} diff --git a/Semester 3/Assignments/AjaxReview/src/main/resources/META-INF/persistence.xml b/Semester 3/Assignments/AjaxReview/src/main/resources/META-INF/persistence.xml new file mode 100644 index 0000000..7582bf1 --- /dev/null +++ b/Semester 3/Assignments/AjaxReview/src/main/resources/META-INF/persistence.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/Semester 3/Assignments/AjaxReview/src/main/webapp/WEB-INF/beans.xml b/Semester 3/Assignments/AjaxReview/src/main/webapp/WEB-INF/beans.xml new file mode 100644 index 0000000..9dfae34 --- /dev/null +++ b/Semester 3/Assignments/AjaxReview/src/main/webapp/WEB-INF/beans.xml @@ -0,0 +1,6 @@ + + + \ No newline at end of file diff --git a/Semester 3/Assignments/AjaxReview/src/main/webapp/WEB-INF/glassfish-web.xml b/Semester 3/Assignments/AjaxReview/src/main/webapp/WEB-INF/glassfish-web.xml new file mode 100644 index 0000000..673cc06 --- /dev/null +++ b/Semester 3/Assignments/AjaxReview/src/main/webapp/WEB-INF/glassfish-web.xml @@ -0,0 +1,25 @@ + + + + + + + + Keep a copy of the generated servlet class' java code. + + + diff --git a/Semester 3/Assignments/AjaxReview/src/main/webapp/WEB-INF/web.xml b/Semester 3/Assignments/AjaxReview/src/main/webapp/WEB-INF/web.xml new file mode 100644 index 0000000..b35126a --- /dev/null +++ b/Semester 3/Assignments/AjaxReview/src/main/webapp/WEB-INF/web.xml @@ -0,0 +1,56 @@ + + + + jakarta.faces.PROJECT_STAGE + Development + + + Faces Servlet + jakarta.faces.webapp.FacesServlet + 1 + + + Faces Servlet + /faces/* + + + + 30 + + + + faces/index.xhtml + + + + eot + application/vnd.ms-fontobject + + + + otf + font/opentype + + + + ttf + application/x-font-ttf + + + + woff + application/x-font-woff + + + + woff2 + application/x-font-woff2 + + + svg + image/svg+xml + + + + + diff --git a/Semester 3/Assignments/AjaxReview/src/main/webapp/ajax1.xhtml b/Semester 3/Assignments/AjaxReview/src/main/webapp/ajax1.xhtml new file mode 100644 index 0000000..6c98bb1 --- /dev/null +++ b/Semester 3/Assignments/AjaxReview/src/main/webapp/ajax1.xhtml @@ -0,0 +1,37 @@ + + + + + ajax1 + + +

Ajax tag embedded

+

On event keyup we execute/process this and we render one ID

+ + + + + + + + + + + + + + + + + +
+ diff --git a/Semester 3/Assignments/AjaxReview/src/main/webapp/ajax2.xhtml b/Semester 3/Assignments/AjaxReview/src/main/webapp/ajax2.xhtml new file mode 100644 index 0000000..8ed9f46 --- /dev/null +++ b/Semester 3/Assignments/AjaxReview/src/main/webapp/ajax2.xhtml @@ -0,0 +1,95 @@ + + + + + ajax2 + + + +

Ajax tag embedded -- Temperature Converter

+

event keyup reg-ex validation and multi-render with nested IDs. No need to specify IDs of parents

+ 1. The Ajax2 constructor is called once, even though we have 2 h:forms, upon rendering. ( see Glassfish Log and line 20 of Ajax2.java) +

+ 2. Upon entering numbers in h:form id="idForm1" at LINE 34, we execute the inputText and we render all + ids that exits within h:form id="idForm1". We cannot render IDs outside this form. + We CANNOT render outPutText id_nested_cField2 +

+ + 3. Upon entering numbers in h:form id="idForm2" at LINE 51, we execute the inputText and we render all + ids that exists within h:form id="idForm2". + We CAN render outputText id_nested_cField2 becuase it is in within the form idForm2. +

+ 4. Upon every number typed in inputText id="id_in1" of form id="idForm1" + the constructor of the bean is called , then its setter. The output to celcius and the grown are called when we render. +

+ 5. The nested ID= id_nested_cField2 can be accessed only from with form + id="idForm2" +

+ 6. The command button of id=id_cm2 only updates the upper form with id="idForm1", because it has ajax=true + while the command button id=id_cm2 updates both upper and lpwer form forms + + + + + + +
+ +
+ +
+ + + + + + + + +

nested Ids

+ +

+ + +

+
+
+
+
+
+ + + + + + +
+

+ Temperature in Celsius: + + +

+ + +
+ +
+ + diff --git a/Semester 3/Assignments/AjaxReview/src/main/webapp/ajax3.xhtml b/Semester 3/Assignments/AjaxReview/src/main/webapp/ajax3.xhtml new file mode 100644 index 0000000..d91f422 --- /dev/null +++ b/Semester 3/Assignments/AjaxReview/src/main/webapp/ajax3.xhtml @@ -0,0 +1,126 @@ + + + + + ajax3 + + + + 1. constructor of ajax3 bean called once upon rending +

+ 2. Test all cases one by one and see the outputs +
+ AJAX - execute=form a render=@form + + First Name + Last Name + Phone: + Age: + Address: + + + + + + + + + + + + + + +
+
+ AJAX - execute=@none , render=@form + + First Name: + Last Name: + Phone: + Age: + Address: + + + + + + + + + + + + +
+
+ AJAX - execute=@this render=@form + + First Name + Last Name + Phone: + Age: + Address: + + + +
+ + + + + + + + +
+
+
+ AJAX - identifiers + + First Name + Last Name + Phone: + Age: + Address: + + + +
+ + + + + + + + +
+
+
+ AJAX - execute=@all render=@all +
+ + First Name + Last Name + Phone: + Age: + Address: + + + +
+ + + + + + + + +
+ +
+ diff --git a/Semester 3/Assignments/AjaxReview/src/main/webapp/ajax4.xhtml b/Semester 3/Assignments/AjaxReview/src/main/webapp/ajax4.xhtml new file mode 100644 index 0000000..f1a7520 --- /dev/null +++ b/Semester 3/Assignments/AjaxReview/src/main/webapp/ajax4.xhtml @@ -0,0 +1,123 @@ + + + + + ajax4 + + +
+ AJAX - process=form a update=@form + + First Name + Last Name + Phone: + Age: + Address: + + + + + + + + + + + + + + +
+
+ AJAX - process=@none , update=@form + + First Name: + Last Name: + Phone: + Age: + Address: + + + + + + + + + + + + +
+
+ AJAX - process=@this update=@form + + First Name + Last Name + Phone: + Age: + Address: + + + +
+ + + + + + + + +
+
+
+ AJAX - identifiers + + First Name + Last Name + Phone: + Age: + Address: + + + +
+ + + + + + + + +
+
+
+ AJAX - process=@all update=@all +
+ + First Name + Last Name + Phone: + Age: + Address: + + + +
+ + + + + + + + +
+ +
+ diff --git a/Semester 3/Assignments/AjaxReview/src/main/webapp/ajax5.xhtml b/Semester 3/Assignments/AjaxReview/src/main/webapp/ajax5.xhtml new file mode 100644 index 0000000..4335509 --- /dev/null +++ b/Semester 3/Assignments/AjaxReview/src/main/webapp/ajax5.xhtml @@ -0,0 +1,36 @@ + + + + + ajax5 + + + 1.When an Ajax event triggers in the button, then it calls its listener AND the action method +

+ 2. In Order to send the form you must use f:ajax execute="@form" render="@form", line 25 +

+ + + + +
+ + + + + + +
+ +
+ + diff --git a/Semester 3/Assignments/AjaxReview/src/main/webapp/ajax6.xhtml b/Semester 3/Assignments/AjaxReview/src/main/webapp/ajax6.xhtml new file mode 100644 index 0000000..c301ce4 --- /dev/null +++ b/Semester 3/Assignments/AjaxReview/src/main/webapp/ajax6.xhtml @@ -0,0 +1,42 @@ + + + + + ajax6 + + +

Valid event names you may use : blur, change, click, dblclick, focus, keydown, keypress, keyup, mousedown, mousemove, mouseout, mouseover, mouseup, valueChange.

+
+ 1. When it makes sense you can add events as needed and listeners for them. +

+ + + + + + + + + + + + + + + + + + + +
+ + diff --git a/Semester 3/Assignments/AjaxReview/src/main/webapp/ajax7.xhtml b/Semester 3/Assignments/AjaxReview/src/main/webapp/ajax7.xhtml new file mode 100644 index 0000000..8d24ca2 --- /dev/null +++ b/Semester 3/Assignments/AjaxReview/src/main/webapp/ajax7.xhtml @@ -0,0 +1,53 @@ + + + + + ajax7 + + +

1. Ajax tag as Wrapper, the keyup applies to all wrapped in it

+

2. Both inputs are validated and executed

+ + + + + + + + + +

+ + + + +
+ +

+ Temperature in Celsius: + +

+ +

+ Kilometers: + +

+ + +
+
+ + diff --git a/Semester 3/Assignments/AjaxReview/src/main/webapp/index.xhtml b/Semester 3/Assignments/AjaxReview/src/main/webapp/index.xhtml new file mode 100644 index 0000000..b34f1b6 --- /dev/null +++ b/Semester 3/Assignments/AjaxReview/src/main/webapp/index.xhtml @@ -0,0 +1,29 @@ + + + + + Ajax in button + + + + + + +

+ +

+ +

+ +

+ +

+ +

+ + +
+
+ diff --git a/Semester 3/Assignments/TermProject1_CalebFontenot/nb-configuration.xml b/Semester 3/Assignments/TermProject1_CalebFontenot/nb-configuration.xml new file mode 100644 index 0000000..39d0b87 --- /dev/null +++ b/Semester 3/Assignments/TermProject1_CalebFontenot/nb-configuration.xml @@ -0,0 +1,21 @@ + + + + + + 10-web + gfv700ee10 + JDK_11__System_ + Facelets + + diff --git a/Semester 3/Assignments/TermProject1_CalebFontenot/pom.xml b/Semester 3/Assignments/TermProject1_CalebFontenot/pom.xml new file mode 100644 index 0000000..6570dbd --- /dev/null +++ b/Semester 3/Assignments/TermProject1_CalebFontenot/pom.xml @@ -0,0 +1,48 @@ + + 4.0.0 + edu.slcc.asdv.caleb + TermProject1_CalebFontenot + 1.0-SNAPSHOT + war + TermProject1_CalebFontenot-1.0-SNAPSHOT + + + UTF-8 + 10.0.0 + + + + + jakarta.platform + jakarta.jakartaee-api + ${jakartaee} + provided + + + org.primefaces + primefaces + 13.0.5 + jakarta + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.8.1 + + 11 + 11 + + + + org.apache.maven.plugins + maven-war-plugin + 3.3.2 + + + + \ No newline at end of file diff --git a/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/java/edu/slcc/asdv/caleb/termproject1_calebfontenot/JakartaRestConfiguration.java b/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/java/edu/slcc/asdv/caleb/termproject1_calebfontenot/JakartaRestConfiguration.java new file mode 100644 index 0000000..b095b4f --- /dev/null +++ b/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/java/edu/slcc/asdv/caleb/termproject1_calebfontenot/JakartaRestConfiguration.java @@ -0,0 +1,13 @@ +package edu.slcc.asdv.caleb.termproject1_calebfontenot; + +import jakarta.ws.rs.ApplicationPath; +import jakarta.ws.rs.core.Application; + +/** + * Configures Jakarta RESTful Web Services for the application. + * @author Juneau + */ +@ApplicationPath("resources") +public class JakartaRestConfiguration extends Application { + +} diff --git a/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/java/edu/slcc/asdv/caleb/termproject1_calebfontenot/beans/MatrixBeanA.java b/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/java/edu/slcc/asdv/caleb/termproject1_calebfontenot/beans/MatrixBeanA.java new file mode 100644 index 0000000..69c989b --- /dev/null +++ b/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/java/edu/slcc/asdv/caleb/termproject1_calebfontenot/beans/MatrixBeanA.java @@ -0,0 +1,24 @@ +/* + * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license + * Click nbfs://nbhost/SystemFileSystem/Templates/JSF/JSFManagedBean.java to edit this template + */ +package edu.slcc.asdv.caleb.termproject1_calebfontenot.beans; + +import jakarta.inject.Named; +import jakarta.faces.view.ViewScoped; +import java.io.Serializable; +import java.util.ArrayList; + +/** + * + * @author A. V. Markou + */ +@Named(value = "matrixBeanA") +@ViewScoped +public class MatrixBeanA implements Serializable +{ + + ArrayList> matrix = new ArrayList>(); + + +} diff --git a/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/java/edu/slcc/asdv/caleb/termproject1_calebfontenot/beans/MatrixBeanB.java b/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/java/edu/slcc/asdv/caleb/termproject1_calebfontenot/beans/MatrixBeanB.java new file mode 100644 index 0000000..696d221 --- /dev/null +++ b/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/java/edu/slcc/asdv/caleb/termproject1_calebfontenot/beans/MatrixBeanB.java @@ -0,0 +1,26 @@ +/* + * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license + * Click nbfs://nbhost/SystemFileSystem/Templates/JSF/JSFManagedBean.java to edit this template + */ +package edu.slcc.asdv.caleb.termproject1_calebfontenot.beans; + +import jakarta.inject.Named; +import jakarta.faces.view.ViewScoped; +import java.io.Serializable; +import java.util.ArrayList; +import java.util.Arrays; +import org.primefaces.PrimeFaces; + +/** + * + * @author A. V. Markou + */ +@Named(value = "matrixBeanB") +@ViewScoped +public class MatrixBeanB implements Serializable +{ + + ArrayList> matrix = new ArrayList>(); + + +} diff --git a/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/java/edu/slcc/asdv/caleb/termproject1_calebfontenot/beans/MatrixBeanC.java b/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/java/edu/slcc/asdv/caleb/termproject1_calebfontenot/beans/MatrixBeanC.java new file mode 100644 index 0000000..955bd86 --- /dev/null +++ b/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/java/edu/slcc/asdv/caleb/termproject1_calebfontenot/beans/MatrixBeanC.java @@ -0,0 +1,24 @@ +/* + * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license + * Click nbfs://nbhost/SystemFileSystem/Templates/JSF/JSFManagedBean.java to edit this template + */ +package edu.slcc.asdv.caleb.termproject1_calebfontenot.beans; + +import jakarta.inject.Named; +import jakarta.faces.view.ViewScoped; +import java.io.Serializable; +import java.util.ArrayList; +import java.util.Arrays; + +/** + * + * @author A. V. Markou + */ +@Named(value = "matrixBeanC") +@ViewScoped +public class MatrixBeanC implements Serializable +{ + + ArrayList> matrix = new ArrayList>(); + +} diff --git a/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/java/edu/slcc/asdv/caleb/termproject1_calebfontenot/beans/MatrixOperations.java b/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/java/edu/slcc/asdv/caleb/termproject1_calebfontenot/beans/MatrixOperations.java new file mode 100644 index 0000000..faa3cbf --- /dev/null +++ b/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/java/edu/slcc/asdv/caleb/termproject1_calebfontenot/beans/MatrixOperations.java @@ -0,0 +1,42 @@ +/* + * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license + * Click nbfs://nbhost/SystemFileSystem/Templates/JSF/JSFManagedBean.java to edit this template + */ +package edu.slcc.asdv.caleb.termproject1_calebfontenot.beans; + +import jakarta.inject.Named; +import jakarta.faces.view.ViewScoped; +import jakarta.inject.Inject; +import java.io.Serializable; +import java.math.BigInteger; +import java.util.ArrayList; + +/** + * + * @author A. V. Markou + */ +@Named(value = "matrixOperations") +@ViewScoped +public class MatrixOperations implements Serializable +{ + + @Inject + MatrixBeanA matrixA; + @Inject + MatrixBeanB matrixB; + + @Inject + MatrixBeanC matrixC; + + public String add(){return "";} + + public String multiply(){return "";} + + + public MatrixBeanC getMatrixC(){return this.matrixC;} + + public MatrixBeanA getMatrixA(){return matrixA;} + + public MatrixBeanB getMatrixB(){return matrixB;} + +} diff --git a/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/java/edu/slcc/asdv/caleb/termproject1_calebfontenot/beans/MenuBar.java b/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/java/edu/slcc/asdv/caleb/termproject1_calebfontenot/beans/MenuBar.java new file mode 100644 index 0000000..99504fa --- /dev/null +++ b/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/java/edu/slcc/asdv/caleb/termproject1_calebfontenot/beans/MenuBar.java @@ -0,0 +1,64 @@ +/* + * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license + * Click nbfs://nbhost/SystemFileSystem/Templates/JSF/JSFManagedBean.java to edit this template + */ +package edu.slcc.asdv.caleb.termproject1_calebfontenot.beans; + +import jakarta.faces.application.FacesMessage; +import jakarta.faces.application.FacesMessage.Severity; +import jakarta.faces.context.FacesContext; +import jakarta.inject.Named; +import jakarta.faces.view.ViewScoped; +import jakarta.inject.Inject; +import java.io.Serializable; +import java.util.ArrayList; +import java.util.List; +import org.primefaces.PrimeFaces; + +@Named(value = "menuBar") +@ViewScoped +public class MenuBar implements Serializable +{ + @Inject + MatrixOperations matrixOperations; + private List> menus = new ArrayList>(); + + public void add() + { + System.out.println("Menu multiply was called"); + matrixOperations.multiply(); + List idsC = new ArrayList<>(); + idsC.add("formC"); + idsC.add("formC:datatableC"); + idsC.add("formC:datatableC:columnsC"); + idsC.add("formC:datatableC:columnsC:inputTextC"); + //idsC.add("form-menu");//:menuBar:submenu_matricies:menuitem_add"); + PrimeFaces.current().ajax().update(idsC); + } + + public void multiply() + { + message( + FacesMessage.SEVERITY_INFO, + "Not implemented.", "To be implemented." + ); + } + + public void subtract() + { + message( + FacesMessage.SEVERITY_INFO, + "Not implemented.", "To be implemented." + ); + } + + + + + + public void message(Severity severity, String msg, String msgDetails) + { + FacesMessage m = new FacesMessage(severity, msg, msgDetails); + FacesContext.getCurrentInstance().addMessage("msg", m); + } +} diff --git a/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/java/edu/slcc/asdv/caleb/termproject1_calebfontenot/bl/Matrices.java b/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/java/edu/slcc/asdv/caleb/termproject1_calebfontenot/bl/Matrices.java new file mode 100644 index 0000000..eb98e93 --- /dev/null +++ b/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/java/edu/slcc/asdv/caleb/termproject1_calebfontenot/bl/Matrices.java @@ -0,0 +1,261 @@ +package edu.slcc.asdv.bl; + +import java.math.BigInteger; +import java.util.ArrayList; +import java.util.List; +import java.util.concurrent.ForkJoinPool; +import java.util.concurrent.RecursiveTask; + +/** + * + * @author A. V. Markou + */ +public class Matrices implements Matrix +{ + + + @Override + public ArrayList> addParallel(ArrayList> A, ArrayList> B) + { + RecursiveTask>> rt + = new Matrices.MatricesAddition(0, A.size() - 1, A, B); + ForkJoinPool pool = new ForkJoinPool(); + ArrayList> result = pool.invoke(rt); + return result; + } + + @Override + public ArrayList> multiplyParallel(ArrayList> A, ArrayList> B) + { + RecursiveTask>> rt + = new Matrices.MatricesMultiplication(0, A.size() - 1, A, B); + ForkJoinPool pool = new ForkJoinPool(); + ArrayList> result = pool.invoke(rt); + return result; + } + + + + + + + static class MatricesAddition extends RecursiveTask>> + { + + ArrayList> A; + ArrayList> B; + ArrayList> AplusB; + final int HOW_MANY_ROWS_IN_PARALLEL = 100;//threshold + int startIndex; + int endIndex; + + public MatricesAddition(int startIndex, int endIndex, + ArrayList> A, + ArrayList> B) + { + this.startIndex = startIndex;//start at this row of the matrix + this.endIndex = endIndex;//end at this row of the matrix + this.A = A; + this.B = B; + AplusB = new ArrayList>(); + + } + + @Override + protected ArrayList> compute() + { + //>>This is the addition of matrices in the IF. + //That is, HOW_MANY_ROWS_IN_PARALLEL from matrix A and HOW_MANY_ROWS_IN_PARALLEL from matrix B + if (this.endIndex - this.startIndex < HOW_MANY_ROWS_IN_PARALLEL) + { + ArrayList> resultC = new ArrayList>(); + for (int i = this.startIndex; i <= this.endIndex; ++i) + { + //>create a new row to add it to the resulting matrix resultC + ArrayList rowAplusB = new ArrayList(); + + for (int j = 0; j < A.get(0).size(); j++) + + //>get the Ith row from A and the Ith row from B and + //and add all the Jth entries from each row + { + BigInteger x = A.get(i).get(j); + BigInteger y = B.get(i).get(j); + BigInteger z = x.add(y); + + rowAplusB.add(z); + } + resultC.add(rowAplusB); + } + return resultC; + } + else + { //>> keep on FORKING the matrix until the + //side of the matric is equal or less to HOW_MANY_ROWS_IN_PARALLEL + + int mid = (this.endIndex + this.startIndex) / 2; + RecursiveTask>> firstHalf + = new MatricesAddition(this.startIndex, mid, A, B); + + RecursiveTask>> secondHalf + = new MatricesAddition(mid + 1, this.endIndex, A, B); + + firstHalf.fork();//this line will invoke method compute + secondHalf.fork();///this line will invoke method compute + + //>> join what the FORKs returned from the IFs + AplusB.addAll(firstHalf.join()); + AplusB.addAll(secondHalf.join()); + + return AplusB; + } + } + + } + + /** + * Multiples two lists one 1-t01 correspondence, that is the 1st element of + * the first list is multiplied with 1st elements of the second list and so + * on + * + * @param list1 + * @param list2 + * @return the multiplied results + */ + public static ArrayList multiplyLists(ArrayList list1, ArrayList list2) + { + ArrayList resultsOfMultiplications = new ArrayList(); + for (int bi = 0; bi < list1.size(); + ++bi) + { + resultsOfMultiplications.add(list1.get(bi).multiply(list2.get(bi))); + } + return resultsOfMultiplications; + } + + public static ArrayList> columnMajorOrderReversal(ArrayList> b) + { + ArrayList> tranformed = new ArrayList>(); + for (int column = 0; + column < b.get(0).size(); + ++column) + { + ArrayList rowTrandormedToColmn = new ArrayList(); + for (int row = 0; + row < b.size(); + ++row) + { + BigInteger bd = b.get(row).get(column); + rowTrandormedToColmn.add(bd); + } + tranformed.add(rowTrandormedToColmn); + } + + return tranformed; + } + + /** + * Adds a list of Big Decimals and returns the result of the addition. + * + * @param list - list of BigDecimal type + * @return the sum of the list + */ + public static BigInteger add(ArrayList list) + { + BigInteger bd = BigInteger.ZERO; + for (int bi = 0; bi < list.size(); + bi++) + { + bd = bd.add(list.get(bi)); + } + return bd; + } + + static class MatricesMultiplication extends RecursiveTask>> + { + + ArrayList> A; + ArrayList> B; + ArrayList> AxB; + final int HOW_MANY_ROWS_IN_PARALLEL = 3;//threshold + int startIndex; + int endIndex; + + public MatricesMultiplication(int startIndex, int endIndex, + ArrayList> A, + ArrayList> B) + { + this.startIndex = startIndex;//start at this row of the matrix + this.endIndex = endIndex;//end at this row of the matrix + this.A = A; + this.B = B; + AxB = new ArrayList>(); + + } + + /** + * matrix 1, 2, 3 4, 5, 6 + * + * will be transformed to 1, 4 2, 5 3, 6 + * + * @param list + * @return + */ + @Override + protected ArrayList> compute() + { + //>>This is the addition of matrices in the IF. + //That is, HOW_MANY_ROWS_IN_PARALLEL from matrix A and HOW_MANY_ROWS_IN_PARALLEL from matrix B + if (this.endIndex - this.startIndex < HOW_MANY_ROWS_IN_PARALLEL) + { + ArrayList> resultC = new ArrayList>(); + ArrayList> bTransformed = columnMajorOrderReversal(B); + + for (int biA = this.startIndex; + biA <= this.endIndex; + ++biA) + { + ArrayList rowA = A.get(biA); + ArrayList rowAxB = new ArrayList(); + ArrayList rowCalculation = new ArrayList(); + for (int biB = 0; + biB < bTransformed.size(); + ++biB) + { + ArrayList rowB = bTransformed.get(biB); + + ArrayList productsOfRow = multiplyLists(rowA, rowB); + BigInteger sumOfRow = add(productsOfRow); + rowCalculation.add(sumOfRow); + + } + resultC.add(rowCalculation); + + } + return resultC; + } + else + { //>> keep on FORKING the matrix until the + //side of the matric is equal or less to HOW_MANY_ROWS_IN_PARALLEL + + int mid = (this.startIndex + this.endIndex) / 2; + RecursiveTask>> firstHalf + = new MatricesMultiplication(this.startIndex, mid, A, B); + + RecursiveTask>> secondHalf + = new MatricesMultiplication(mid + 1, this.endIndex, A, B); + + firstHalf.fork();//this line will invoke method compute + secondHalf.fork();///this line will invoke method compute + + //>> join what the FORKs returned from the IFs + AxB.addAll(firstHalf.join()); + AxB.addAll(secondHalf.join()); + + return AxB; + } + } + + } + +} diff --git a/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/java/edu/slcc/asdv/caleb/termproject1_calebfontenot/bl/Matrix.java b/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/java/edu/slcc/asdv/caleb/termproject1_calebfontenot/bl/Matrix.java new file mode 100644 index 0000000..fd06101 --- /dev/null +++ b/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/java/edu/slcc/asdv/caleb/termproject1_calebfontenot/bl/Matrix.java @@ -0,0 +1,19 @@ +/* + * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license + * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Interface.java to edit this template + */ +package edu.slcc.asdv.bl; + +import java.math.BigInteger; +import java.util.ArrayList; + +/** + * + * @author ASDV1 + */ +public interface Matrix +{ + ArrayList> addParallel(ArrayList> A, ArrayList> B); + ArrayList> multiplyParallel(ArrayList> A, ArrayList> B); + +} diff --git a/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/java/edu/slcc/asdv/caleb/termproject1_calebfontenot/resources/JakartaEE10Resource.java b/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/java/edu/slcc/asdv/caleb/termproject1_calebfontenot/resources/JakartaEE10Resource.java new file mode 100644 index 0000000..8cef555 --- /dev/null +++ b/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/java/edu/slcc/asdv/caleb/termproject1_calebfontenot/resources/JakartaEE10Resource.java @@ -0,0 +1,20 @@ +package edu.slcc.asdv.caleb.termproject1_calebfontenot.resources; + +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.core.Response; + +/** + * + * @author + */ +@Path("jakartaee10") +public class JakartaEE10Resource { + + @GET + public Response ping(){ + return Response + .ok("ping Jakarta EE") + .build(); + } +} diff --git a/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/java/edu/slcc/asdv/caleb/termproject1_calebfontenot/utilities/Utilities.java b/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/java/edu/slcc/asdv/caleb/termproject1_calebfontenot/utilities/Utilities.java new file mode 100644 index 0000000..bbb2b11 --- /dev/null +++ b/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/java/edu/slcc/asdv/caleb/termproject1_calebfontenot/utilities/Utilities.java @@ -0,0 +1,123 @@ +/* + * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license + * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template + */ +package edu.slcc.asdv.caleb.termproject1_calebfontenot.utilities; + + +import jakarta.el.ELContext; +import jakarta.el.ELResolver; +import jakarta.faces.application.Application; +import jakarta.faces.application.FacesMessage; +import jakarta.faces.component.UIComponent; +import jakarta.faces.context.FacesContext; +import java.math.BigInteger; +import java.util.ArrayList; + + +public class Utilities +{ + + public static UIComponent findComponent(String id) + { + + UIComponent result = null; + UIComponent root = FacesContext.getCurrentInstance().getViewRoot(); + if (root != null) + { + result = findComponent(root, id); + } + return result; + + } + + public static UIComponent findComponent(UIComponent root, String id) + { + + UIComponent result = null; + if (root.getId().equals(id)) + { + return root; + } + + for (UIComponent child : root.getChildren()) + { + if (child.getId().equals(id)) + { + result = child; + break; + } + result = findComponent(child, id); + if (result != null) + { + break; + } + } + return result; + + } + + public static void printIDs(UIComponent component) + { + System.out.println("\n\nPARENT ID " + component.getId()); + + if (component.getChildren() == null) + { + return; + } + + for (UIComponent child : component.getChildren()) + { + System.out.println("\t\tCHILD ID " + child.getId()); + + printIDs(child); + + } + } + +public static boolean isNumberOrDecimal( String s ) +{ + System.out.println("isNumberOrDecimal called " + s); + //[+-]?([0-9]+([.][0-9]*)?|[.][0-9]+) + String regx = "^[+-]?(\\d*\\.)?\\d+$"; + return s.matches(regx); + +} + public static void message( FacesMessage.Severity severity, String msg, String msgDetails) + { + FacesMessage m = new FacesMessage(severity, msg, msgDetails); + FacesContext.getCurrentInstance().addMessage("msg", m); + } + + + public static T getCDIBean(String nameOfTheBean) + { + ELContext elc = FacesContext.getCurrentInstance().getELContext(); + FacesContext fc = FacesContext.getCurrentInstance(); + Application ap = fc.getApplication(); + ELResolver elr = ap.getELResolver(); + return (T) elr.getValue(elc, null, nameOfTheBean); + } + + + public static ArrayList> convertBigIntegerToString(ArrayList> matrix) + { + ArrayList> stringMatrix = new ArrayList>(); + + for (ArrayList row : matrix) + { + ArrayList stringRow = new ArrayList(); + for (BigInteger bigInt : row) + { + stringRow.add(new String(bigInt.toString())); + + } + stringMatrix.add(stringRow); + } + return stringMatrix; + } + + + + +} diff --git a/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/resources/META-INF/persistence.xml b/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/resources/META-INF/persistence.xml new file mode 100644 index 0000000..7582bf1 --- /dev/null +++ b/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/resources/META-INF/persistence.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/WEB-INF/beans.xml b/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/WEB-INF/beans.xml new file mode 100644 index 0000000..9dfae34 --- /dev/null +++ b/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/WEB-INF/beans.xml @@ -0,0 +1,6 @@ + + + \ No newline at end of file diff --git a/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/WEB-INF/glassfish-web.xml b/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/WEB-INF/glassfish-web.xml new file mode 100644 index 0000000..673cc06 --- /dev/null +++ b/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/WEB-INF/glassfish-web.xml @@ -0,0 +1,25 @@ + + + + + + + + Keep a copy of the generated servlet class' java code. + + + diff --git a/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/WEB-INF/web.xml b/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/WEB-INF/web.xml new file mode 100644 index 0000000..fcfcd54 --- /dev/null +++ b/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/WEB-INF/web.xml @@ -0,0 +1,24 @@ + + + + jakarta.faces.PROJECT_STAGE + Development + + + Faces Servlet + jakarta.faces.webapp.FacesServlet + 1 + + + Faces Servlet + /faces/* + + + + 30 + + + + faces/index.xhtml + + diff --git a/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/index.xhtml b/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/index.xhtml new file mode 100644 index 0000000..3018965 --- /dev/null +++ b/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/index.xhtml @@ -0,0 +1,56 @@ + + + + + + + + + + + + + Application Software Development, SLCC + + + + Templates, and Menus Illustration + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ASDV 2800 , Templates + + +
+
+ + diff --git a/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/login-n-search/login.xhtml b/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/login-n-search/login.xhtml new file mode 100644 index 0000000..e5b3f6c --- /dev/null +++ b/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/login-n-search/login.xhtml @@ -0,0 +1,25 @@ + + + + + Login + > + + + + + + + + + + + + + diff --git a/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/login-n-search/search.xhtml b/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/login-n-search/search.xhtml new file mode 100644 index 0000000..21586b9 --- /dev/null +++ b/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/login-n-search/search.xhtml @@ -0,0 +1,21 @@ + + + + + Login + > + + + + + + + + + + + + diff --git a/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/matrices/compose.xhtml b/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/matrices/compose.xhtml new file mode 100644 index 0000000..900ea85 --- /dev/null +++ b/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/matrices/compose.xhtml @@ -0,0 +1,26 @@ + + + + + Facelet Title + + + + + + + + + + + + + + + + + + diff --git a/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/matrices/matrixA.xhtml b/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/matrices/matrixA.xhtml new file mode 100644 index 0000000..59cb4a9 --- /dev/null +++ b/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/matrices/matrixA.xhtml @@ -0,0 +1,24 @@ + + + + + MatriX A + + + + + + + + + +

Matrix A

+

DataTable of dynamically created of input-texts

+ +
+
+ + diff --git a/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/matrices/matrixB.xhtml b/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/matrices/matrixB.xhtml new file mode 100644 index 0000000..381d7ef --- /dev/null +++ b/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/matrices/matrixB.xhtml @@ -0,0 +1,18 @@ + + + + + MatriX A + + + + +

Matrix B

+

DataTable of dynamically created of input-texts

+
+
+ + diff --git a/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/matrices/matrixC.xhtml b/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/matrices/matrixC.xhtml new file mode 100644 index 0000000..40e89d4 --- /dev/null +++ b/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/matrices/matrixC.xhtml @@ -0,0 +1,18 @@ + + + + + MAtrix C + + + + +

Matrix C = A menu-operation B

+
+ +
+ + diff --git a/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/matrices/menuActivities.xhtml b/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/matrices/menuActivities.xhtml new file mode 100644 index 0000000..c3363b5 --- /dev/null +++ b/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/matrices/menuActivities.xhtml @@ -0,0 +1,29 @@ + + + + + Menu Matricies + + + + + + + + + + + + + + + + + + diff --git a/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/matrices/menuMatrices.xhtml b/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/matrices/menuMatrices.xhtml new file mode 100644 index 0000000..b5229db --- /dev/null +++ b/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/matrices/menuMatrices.xhtml @@ -0,0 +1,39 @@ + + + + + Menu + + + + + + + + + + + + + + + + + + + + + diff --git a/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/resources/css/layout-css/bottomStyle.css b/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/resources/css/layout-css/bottomStyle.css new file mode 100644 index 0000000..eeca699 --- /dev/null +++ b/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/resources/css/layout-css/bottomStyle.css @@ -0,0 +1,18 @@ +#bottom { + margin: 0px 0px 0px 0px; + text-align:center; + color: #ffffff; + + background-image: -webkit-gradient( + linear, + left top, + left bottom, + color-stop(0, blue), + color-stop(1, blue) + ); + background-image: -o-linear-gradient(bottom, blue 0%, #120205 100%); + background-image: -moz-linear-gradient(bottom, blue 0%, #120205 100%); + background-image: -webkit-linear-gradient(bottom, blue 0%, #120205 100%); + background-image: -ms-linear-gradient(bottom, blue 0%, #120205 100%); + background-image: linear-gradient(to bottom, blue 0%, #120205 100%); +} diff --git a/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/resources/css/layout-css/contentStyle.css b/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/resources/css/layout-css/contentStyle.css new file mode 100644 index 0000000..f505a90 --- /dev/null +++ b/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/resources/css/layout-css/contentStyle.css @@ -0,0 +1,3 @@ +#content { + background: white; +} diff --git a/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/resources/css/layout-css/cssLayout.css b/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/resources/css/layout-css/cssLayout.css new file mode 100644 index 0000000..4b6e5ff --- /dev/null +++ b/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/resources/css/layout-css/cssLayout.css @@ -0,0 +1,50 @@ +#wrapper { + margin-left:auto; + margin-right:auto; +} + +#title { + position: relative; + margin: 1px 0px 0px 0px; +} + +#login_and_search { + position: relative; + margin: 0px 0px 5px 0px; +} + +#login { + float: left; + position: relative; +} + +#search { + float: right; + position: relative; +} + +#top { + position: relative; + overflow: hidden; +} + +#bottom { + position: relative; +} + +#left { + float: left; +} + +#logo { + float: left; +} + +#right { + float: right; +} + +#content { + overflow: hidden; +} + diff --git a/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/resources/css/layout-css/dataTable.css b/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/resources/css/layout-css/dataTable.css new file mode 100644 index 0000000..8b0bacf --- /dev/null +++ b/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/resources/css/layout-css/dataTable.css @@ -0,0 +1,237 @@ + +.rowNumber{ + + margin-right:20px; + width : 100px; + background: blue; + font-family: Impact; + font-size: 1.2em; + color: white; +} + +body .ui-datatable .ui-paginator { + position: relative; + text-align: left; + bottom: 0px; + width: inherit; + padding: 2px; + z-index: 1; +} + + +.input { + font-size: 1em; + max-width: 35px; + min-width: 35px; + height : 35px; + font-size: 1em; + font-family: inherit; + background-color: #fff; + border: solid 1px; + + border-color: blueviolet; + border-radius: 4px; +} + +.dataTables { + overflow-y:scroll; + overflow-x:scroll; + + + height : 386px; + width: 300px; + display:block; + background-color: #fff; + + zoom: 1; +} + +.ui-datatable table{ + border-collapse:collapse; + width:100%; +} +.ui-datatable.ui-datatable-header,.ui-datatable.ui-datatable-footer{ + text-align:center; + padding:4px 10px; + +} +.ui-datatable.ui-datatable-header{ + border-bottom:0px none; + +} +.ui-datatable.ui-datatable-footer{ + border-top:0px none; +} +.ui-datatable thead th +{ + font-family: Arial; + font-size: 1.2em; + color: blue; + background: white; +} +.ui-datatable thead td +{ + font-family: Impact; + font-size:1.2em; + color: blue; +} +.ui-datatable tfoot td{ + text-align:center; +} +ui-datatable thead th +{ + overflow:hidden; +} +.ui-datatable tbody td , .ui-datatable tfoot td{ + padding:4px 10px; + overflow:hidden; + white-space:nowrap; + border-width:1px; + border-style:solid; +} +.ui-datatable tbody tr +{ + clear: both; +} + +.ui-datatable .ui-sortable-column{ + cursor:pointer; +} +.ui-datatable div.ui-dt-c{ + position:relative; +} +.ui-datatable .ui-sortable-column-icon{ + display:inline-block; + margin:-3px 0px -3px 2px; +} +.ui-datatable .ui-column-filter{ + display:block; + width:100px; + margin:auto; +} +.ui-datatable .ui-expanded-row{ + border-bottom:0px none; +} +.ui-datatable .ui-expanded-row-content{ + border-top:0px none; +} +.ui-datatable .ui-row-toggler{ + cursor:pointer; +} +.ui-datatable tr.ui-state-highlight{ + cursor:pointer; +} +.ui-datatable .ui-selection-column .ui-chkbox-all{ + display:block; + margin:0px auto; + width:16px; + height:16px; +} +.ui-datatable-scrollable table{ + table-layout:auto; +} +.ui-datatable-scrollable-body{ + overflow:auto; +} +.ui-datatable-scrollable-header,.ui-datatable-scrollable-footer{ + overflow:hidden; + border:0px none; +} +.ui-datatable-scrollable .ui-datatable-scrollable-header,.ui-datatable-scrollable .ui-datatable-scrollable-footer{ + position:relative; +} +.ui-datatable-scrollable .ui-datatable-scrollable-header td{ + font-weight:normal; +} +.ui-datatable-scrollable-body::-webkit-scrollbar{ + -webkit-appearance:none; + width:15px; + background-color:transparent; +} +.ui-datatable-scrollable-body::-webkit-scrollbar-thumb{ + border-radius:8px; + border:1px solid white; + background-color:rgba(194,194,194,.5); +} +.ui-datatable .ui-datatable-data tr.ui-state-hover{ + border-color:inherit; + font-weight:inherit; + cursor:pointer; +} +.ui-datatable .ui-paginator,.ui-datatable .ui-paginator{ + padding:2px; +} +.ui-column-dnd-top, ui-column-dnd-bottom{ + display:none; + position:absolute; +} +.ui-column-dnd-top .ui-icon, ui-column-dnd-bottom .ui-icon{ + position:absolute; + top:-4px; +} +/* InCell Editing */.ui-datatable .ui-cell-editor-input{ + display:none; +} +.ui-datatable .ui-row-editing .ui-cell-editor .ui-cell-editor-output{ + display:none; +} +.ui-datatable .ui-row-editing .ui-cell-editor .ui-cell-editor-input{ + display:block; +} +.ui-datatable .ui-row-editor span{ + cursor:pointer; + display:inline-block; +} +.ui-datatable .ui-row-editor .ui-icon-pencil{ + display:inline-block; +} +.ui-datatable .ui-row-editing .ui-row-editor .ui-icon-pencil{ + display:none; +} +.ui-datatable .ui-row-editor .ui-icon-check,.ui-datatable .ui-row-editor .ui-icon-close{ + display:none; +} +.ui-datatable .ui-row-editing .ui-row-editor .ui-icon-check,.ui-datatable .ui-row-editing .ui-row-editor .ui-icon-close{ + display:inline-block; +} +.ui-datatable .ui-datatable-data tr.ui-row-editing td.ui-editable-column,.ui-datatable .ui-datatable-data td.ui-cell-editing{ + padding:0; + margin:0; +} +/*resizer */.ui-datatable .ui-column-resizer{ + width:8px; + height:20px; + padding:0px; + cursor:col-resize; + background-image:url("/ScraperOnWeb/javax.faces.resource/spacer/dot_clear.gif.jsf?ln=primefaces"); + margin:-4px -10px -4px 0px; + float:right; +} +.ui-datatable .ui-filter-column .ui-column-resizer{ + height:45px; +} +.ui-datatable .ui-column-resizer-helper{ + width:1px; + position:absolute; + z-index:10; + display:none; +} +.ui-datatable-resizable{ + padding-bottom:1px;/*fix for webkit overlow*/ + overflow:auto; +} +.ui-datatable-resizable table{ + table-layout:auto; +} +.ui-datatable-rtl{ + direction:rtl; +} +.ui-datatable-rtl.ui-datatable thead th, .ui-datatable-rtl.ui-datatable tfoot td{ + text-align:right; +} + + + + + + diff --git a/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/resources/css/layout-css/default.css b/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/resources/css/layout-css/default.css new file mode 100644 index 0000000..0c5e67f --- /dev/null +++ b/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/resources/css/layout-css/default.css @@ -0,0 +1,8 @@ + +body { + background-color: #ffffff; + font-size: 12px; + font-family: Verdana, "Verdana CE", Arial, "Arial CE", "Lucida Grande CE", lucida, "Helvetica CE", sans-serif; + color: #000000; + margin: 2px; +} diff --git a/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/resources/css/layout-css/imageZoomStyle.css b/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/resources/css/layout-css/imageZoomStyle.css new file mode 100644 index 0000000..8aa00a0 --- /dev/null +++ b/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/resources/css/layout-css/imageZoomStyle.css @@ -0,0 +1,34 @@ + +* {box-sizing: border-box;} + +.img-zoom-container { + position: relative; +} + +.img-zoom-lens { + position: absolute; + /*set the size of the lens:*/ + width: 40px; + height: 40px; +} + +.img-zoom-result { + + /*border: 5px solid #000000;*/ + /*set the size of the result div:*/ + width: 300px; + height: 300px; +} +.myDiv +{ + align: center; + padding: 30px; + margin: 10; + border-left: 10px solid navy; +} + +.hpanel{ + position: relative; + top: 0px; left: 0px; +} + diff --git a/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/resources/css/layout-css/leftStyle.css b/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/resources/css/layout-css/leftStyle.css new file mode 100644 index 0000000..aaafa7d --- /dev/null +++ b/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/resources/css/layout-css/leftStyle.css @@ -0,0 +1,22 @@ +#left { + + background-image: -webkit-gradient( + linear, + left top, + left bottom, + color-stop(0, #2D4A37), + color-stop(1, #789480) + ); + background-image: -o-linear-gradient(bottom, #2D4A37 0%, #789480 100%); + background-image: -moz-linear-gradient(bottom, #2D4A37 0%, #789480 100%); + background-image: -webkit-linear-gradient(bottom, #2D4A37 0%, #789480 100%); + background-image: -ms-linear-gradient(bottom, #2D4A37 0%, #789480 100%); + background-image: linear-gradient(to bottom, #2D4A37 0%, #789480 100%); + -moz-box-shadow: 0px 0px 15px 3px #333333; + -webkit-box-shadow: 0px 0px 15px 3px #333333; + box-shadow: 0px 0px 15px 3px #333333; + + text-align:left; + padding-left:10px; + margin-right: 5px; +} diff --git a/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/resources/css/layout-css/loginStyle.css b/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/resources/css/layout-css/loginStyle.css new file mode 100644 index 0000000..2849107 --- /dev/null +++ b/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/resources/css/layout-css/loginStyle.css @@ -0,0 +1,65 @@ +.inputs { + -moz-border-radius: 5px; + -webkit-border-radius: 5px; + background-color: #00f; + background: -moz-linear-gradient(top, #FFF, #EAEAEA); + background: -webkit-gradient(linear, left top, left bottom, color-stop(0.0, #FFF), color-stop(1.0, #EAEAEA)); + border: 1px solid #CACACA; + color: #444; + font-size: 1.1em; + margin: 0px 10px 0px 0px; + padding-left: 2px; + width:200px; +} +.inputs:focus { + color: #ffffff; + background: #0000cc; + -webkit-box-shadow: 0 0 25px #CCC; + -moz-box-shadow: 0 0 25px #cccc00; + box-shadow: 0 0 25px #CCCC00; + -webkit-transform: scale(1.05); + -moz-transform: scale(1.05); + transform: scale(1.05); +} + +.lbutton { + -moz-box-shadow: 4px 7px 13px -7px #276873; + -webkit-box-shadow: 4px 7px 13px -7px #276873; + box-shadow: 4px 7px 13px -7px #276873; + background:-webkit-gradient(linear, left top, left bottom, color-stop(0.05, #171717), color-stop(1, #d92323)); + background:-moz-linear-gradient(top, #171717 5%, #222 100%); + background:-webkit-linear-gradient(top, #171717 5%, #222 100%); + background:-o-linear-gradient(top, #171717 5%, #222 100%); + background:-ms-linear-gradient(top, #171717 5%, #222 100%); + background:linear-gradient(to bottom, #171717 5%, #222 100%); + filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#171717', endColorstr='#d92323',GradientType=0); + background-color:#222; + -moz-border-radius:17px; + -webkit-border-radius:17px; + border-radius:17px; + display:inline-block; + cursor:pointer; + color:#ffffff; + font-family:arial; + font-size:12px; + font-weight:bold; + padding:2px 12px; + text-decoration:none; + text-shadow:0px 1px 0px #3d768a; +} +.lbutton:hover { + background:-webkit-gradient(linear, left top, left bottom, color-stop(0.05, #222), color-stop(1, #171717)); + background:-moz-linear-gradient(top, #00f 5%, #222 100%); + background:-webkit-linear-gradient(top, 00f 5%, #222 100%); + background:-o-linear-gradient(top, #00f 5%, #222 100%); + background:-ms-linear-gradient(top, #00f 5%, #222 100%); + background:linear-gradient(to bottom, #00f 5%, #222 100%); + filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#d92323', endColorstr='#222',GradientType=0); + background-color:#00f; +} +.lbutton:active { + position:relative; + top:1px; +} + + diff --git a/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/resources/css/layout-css/login_and_searchStyle.css b/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/resources/css/layout-css/login_and_searchStyle.css new file mode 100644 index 0000000..b35091d --- /dev/null +++ b/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/resources/css/layout-css/login_and_searchStyle.css @@ -0,0 +1,8 @@ +#login_and_search { + + width:100%; + height:90px; + background-color: white; + padding: 20px; + display: inline-block; +} diff --git a/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/resources/css/layout-css/logoStyle.css b/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/resources/css/layout-css/logoStyle.css new file mode 100644 index 0000000..83870d2 --- /dev/null +++ b/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/resources/css/layout-css/logoStyle.css @@ -0,0 +1,9 @@ +#logo { + background-image : url("#{resource['images/owl.png']}") ; + background-repeat: no-repeat; + margin-right: 0px; + width:60px; + height:60px; + float: left; + +} diff --git a/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/resources/css/layout-css/menuStyle.css b/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/resources/css/layout-css/menuStyle.css new file mode 100644 index 0000000..a68d788 --- /dev/null +++ b/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/resources/css/layout-css/menuStyle.css @@ -0,0 +1,37 @@ +#menu { + white-space: nowrap; + height: 28px; + width:100%; + background: #fff url("#{resource['images/menu.png']}") bottom center ; + margin-bottom: 5px; +} + +#menu ul { + margin: 0; + padding: 0; + list-style:none; + float:left; +} + +#menu li { + float: left; + margin: 0 3px 0 3px; + padding: 0; + background: transparent; +} + +#menu a { + font-family: Arial, Helvetica, sans-serif; + font-size: 15px; + font-weight: normal; + float:left; + display:block; + height: 26px; + line-height: 24px; + padding: 2px 10px 0 10px; + color: #cccc00; + text-decoration: none; + background: transparent; + +} + \ No newline at end of file diff --git a/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/resources/css/layout-css/rightStyle.css b/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/resources/css/layout-css/rightStyle.css new file mode 100644 index 0000000..4c5502a --- /dev/null +++ b/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/resources/css/layout-css/rightStyle.css @@ -0,0 +1,5 @@ +#right { + background-color: #FA0519; + text-align:center; + margin-left: 5px; +} diff --git a/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/resources/css/layout-css/searchStyle.css b/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/resources/css/layout-css/searchStyle.css new file mode 100644 index 0000000..57e52f1 --- /dev/null +++ b/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/resources/css/layout-css/searchStyle.css @@ -0,0 +1,3 @@ +#search { + color: #ffffff; +} diff --git a/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/resources/css/layout-css/stylesLinks.css b/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/resources/css/layout-css/stylesLinks.css new file mode 100644 index 0000000..eef30a3 --- /dev/null +++ b/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/resources/css/layout-css/stylesLinks.css @@ -0,0 +1,67 @@ + +a { + font-family: Arial, Helvetica, sans-serif; + font-size: 15px; + font-weight: normal; + float:left; + display:block; + height: 26px; + line-height: 24px; + padding: 2px 10px 0 10px; + color: #cccc00; + text-decoration:#A3979A; + background-color: white; + border: white; + padding: 0px +} +a.hover { + float: left; + font-family: Arial, Helvetica, sans-serif; + font-size: 15px; + font-weight: normal; + float:left; + display:block; + height: 26px; + line-height: 24px; + color: #cccc00; + text-decoration: none; + + background-color: white; + border: white; + padding: 0px +} + +.menus +{ + font-family: Arial, Helvetica, sans-serif; + font-size: 15px; + font-weight: normal; + float:right; + + + color: #cccc00; + text-decoration:#A3979A; + background-color: white; + border: white; + padding: 0px ; + margin-top: 0px; + margin-right: 0px; + margin-bottom: 0px; + margin-left: 0px; +} + + .affaires .ui-menuitem-text{color:#cccc00; + decoration: bold, italic; + + } + .affaires .ui-menu-child{background: white; mouseover: #000; + background-color: #A80000;} + .affaires .ui-menubar{mouseover: #000; + background-color: #A80000;} + .affaires .ui-state-hover {} + + a.active { + color: #D09d23; + font-weight: bold; + background-color : #c7c3c3; +} \ No newline at end of file diff --git a/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/resources/css/layout-css/titleStyle.css b/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/resources/css/layout-css/titleStyle.css new file mode 100644 index 0000000..24b1112 --- /dev/null +++ b/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/resources/css/layout-css/titleStyle.css @@ -0,0 +1,9 @@ +#title { + background: white; + color:blue; + text-align:center; + font-size: 24px; + font-weight: bold; +} + + diff --git a/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/resources/css/layout-css/topStyle.css b/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/resources/css/layout-css/topStyle.css new file mode 100644 index 0000000..63294a9 --- /dev/null +++ b/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/resources/css/layout-css/topStyle.css @@ -0,0 +1,9 @@ +#top { + color: blue; + font-family: cursive, sans-serif; + font-size: 22px; + font-style: italic; + text-align: center; + height:60px; + background: white; +} diff --git a/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/resources/images/download.png b/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/resources/images/download.png new file mode 100644 index 0000000000000000000000000000000000000000..b1315ca09e98c9d6e8e24ddbb7df9ee8063446b2 GIT binary patch literal 3737 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 + + + + + +

This is default footer

+
+
+ diff --git a/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/resources/templates/default/contentDefault.xhtml b/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/resources/templates/default/contentDefault.xhtml new file mode 100644 index 0000000..81c4495 --- /dev/null +++ b/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/resources/templates/default/contentDefault.xhtml @@ -0,0 +1,12 @@ + + + + + + + This is default content + + + diff --git a/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/resources/templates/default/leftDefault.xhtml b/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/resources/templates/default/leftDefault.xhtml new file mode 100644 index 0000000..1e7e628 --- /dev/null +++ b/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/resources/templates/default/leftDefault.xhtml @@ -0,0 +1,12 @@ + + + + + + + This is default left side + + + diff --git a/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/resources/templates/default/loginDefault.xhtml b/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/resources/templates/default/loginDefault.xhtml new file mode 100644 index 0000000..b1dd7a8 --- /dev/null +++ b/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/resources/templates/default/loginDefault.xhtml @@ -0,0 +1,12 @@ + + + + + + + Default Login Section + + + diff --git a/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/resources/templates/default/logoDefault.xhtml b/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/resources/templates/default/logoDefault.xhtml new file mode 100644 index 0000000..54103c8 --- /dev/null +++ b/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/resources/templates/default/logoDefault.xhtml @@ -0,0 +1,12 @@ + + + + + + + LOGO + + + diff --git a/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/resources/templates/default/menuDefault.xhtml b/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/resources/templates/default/menuDefault.xhtml new file mode 100644 index 0000000..f244225 --- /dev/null +++ b/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/resources/templates/default/menuDefault.xhtml @@ -0,0 +1,14 @@ + + + + + + + Menu default + + + diff --git a/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/resources/templates/default/rightDefault.xhtml b/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/resources/templates/default/rightDefault.xhtml new file mode 100644 index 0000000..9aabcc8 --- /dev/null +++ b/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/resources/templates/default/rightDefault.xhtml @@ -0,0 +1,12 @@ + + + + + + + This is default right side + + + diff --git a/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/resources/templates/default/searchDefault.xhtml b/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/resources/templates/default/searchDefault.xhtml new file mode 100644 index 0000000..80b6c4b --- /dev/null +++ b/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/resources/templates/default/searchDefault.xhtml @@ -0,0 +1,12 @@ + + + + + + + Default Search Section + + + diff --git a/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/resources/templates/default/titleDefault.xhtml b/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/resources/templates/default/titleDefault.xhtml new file mode 100644 index 0000000..7c9eeb4 --- /dev/null +++ b/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/resources/templates/default/titleDefault.xhtml @@ -0,0 +1,12 @@ + + + + + + + This is default title + + + diff --git a/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/resources/templates/default/topDefault.xhtml b/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/resources/templates/default/topDefault.xhtml new file mode 100644 index 0000000..f1b76a0 --- /dev/null +++ b/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/resources/templates/default/topDefault.xhtml @@ -0,0 +1,12 @@ + + + + + + +

This is default header

+
+
+ diff --git a/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/resources/templates/generic/generic-layout.xhtml b/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/resources/templates/generic/generic-layout.xhtml new file mode 100644 index 0000000..39934fa --- /dev/null +++ b/Semester 3/Assignments/TermProject1_CalebFontenot/src/main/webapp/resources/templates/generic/generic-layout.xhtml @@ -0,0 +1,115 @@ + + + + + + + + + + + + + + + + + + + + Generic Template + + +
+ +
+ + + +
+
+ +
+ + + +
+ + + +
+
+
+ + + + + + + + + +
+ + +
+ + + +
+
+ + + + + +
+ + + +
+
+ + +
+ +
+ + + +
+
+
+
+ diff --git a/Semester 3/Assignments/functions/.dep.inc b/Semester 3/Assignments/functions/.dep.inc new file mode 100644 index 0000000..38ba445 --- /dev/null +++ b/Semester 3/Assignments/functions/.dep.inc @@ -0,0 +1,5 @@ +# This code depends on make tool being used +DEPFILES=$(wildcard $(addsuffix .d, ${OBJECTFILES} ${TESTOBJECTFILES})) +ifneq (${DEPFILES},) +include ${DEPFILES} +endif diff --git a/Semester 3/Assignments/functions/Makefile b/Semester 3/Assignments/functions/Makefile new file mode 100644 index 0000000..05de621 --- /dev/null +++ b/Semester 3/Assignments/functions/Makefile @@ -0,0 +1,128 @@ +# +# There exist several targets which are by default empty and which can be +# used for execution of your targets. These targets are usually executed +# before and after some main targets. They are: +# +# .build-pre: called before 'build' target +# .build-post: called after 'build' target +# .clean-pre: called before 'clean' target +# .clean-post: called after 'clean' target +# .clobber-pre: called before 'clobber' target +# .clobber-post: called after 'clobber' target +# .all-pre: called before 'all' target +# .all-post: called after 'all' target +# .help-pre: called before 'help' target +# .help-post: called after 'help' target +# +# Targets beginning with '.' are not intended to be called on their own. +# +# Main targets can be executed directly, and they are: +# +# build build a specific configuration +# clean remove built files from a configuration +# clobber remove all built files +# all build all configurations +# help print help mesage +# +# Targets .build-impl, .clean-impl, .clobber-impl, .all-impl, and +# .help-impl are implemented in nbproject/makefile-impl.mk. +# +# Available make variables: +# +# CND_BASEDIR base directory for relative paths +# CND_DISTDIR default top distribution directory (build artifacts) +# CND_BUILDDIR default top build directory (object files, ...) +# CONF name of current configuration +# CND_PLATFORM_${CONF} platform name (current configuration) +# CND_ARTIFACT_DIR_${CONF} directory of build artifact (current configuration) +# CND_ARTIFACT_NAME_${CONF} name of build artifact (current configuration) +# CND_ARTIFACT_PATH_${CONF} path to build artifact (current configuration) +# CND_PACKAGE_DIR_${CONF} directory of package (current configuration) +# CND_PACKAGE_NAME_${CONF} name of package (current configuration) +# CND_PACKAGE_PATH_${CONF} path to package (current configuration) +# +# NOCDDL + + +# Environment +MKDIR=mkdir +CP=cp +CCADMIN=CCadmin + + +# build +build: .build-post + +.build-pre: +# Add your pre 'build' code here... + +.build-post: .build-impl +# Add your post 'build' code here... + + +# clean +clean: .clean-post + +.clean-pre: +# Add your pre 'clean' code here... + +.clean-post: .clean-impl +# Add your post 'clean' code here... + + +# clobber +clobber: .clobber-post + +.clobber-pre: +# Add your pre 'clobber' code here... + +.clobber-post: .clobber-impl +# Add your post 'clobber' code here... + + +# all +all: .all-post + +.all-pre: +# Add your pre 'all' code here... + +.all-post: .all-impl +# Add your post 'all' code here... + + +# build tests +build-tests: .build-tests-post + +.build-tests-pre: +# Add your pre 'build-tests' code here... + +.build-tests-post: .build-tests-impl +# Add your post 'build-tests' code here... + + +# run tests +test: .test-post + +.test-pre: build-tests +# Add your pre 'test' code here... + +.test-post: .test-impl +# Add your post 'test' code here... + + +# help +help: .help-post + +.help-pre: +# Add your pre 'help' code here... + +.help-post: .help-impl +# Add your post 'help' code here... + + + +# include project implementation makefile +include nbproject/Makefile-impl.mk + +# include project make variables +include nbproject/Makefile-variables.mk diff --git a/Semester 3/Assignments/functions/arrays.cpp b/Semester 3/Assignments/functions/arrays.cpp new file mode 100644 index 0000000..bfca49c --- /dev/null +++ b/Semester 3/Assignments/functions/arrays.cpp @@ -0,0 +1,48 @@ +/* + * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license + * Click nbfs://nbhost/SystemFileSystem/Templates/cppFiles/class.cc to edit this template + */ + +/* + * File: arrays.cpp + * Author: caleb + * + * Created on March 1, 2024, 11:11 AM + */ + +#include +using namespace std; +#include "arrays.h" + +void initializeArray (int arr[], const int size) { + for (int i = 0; i < size; ++i) { + arr[i] = i+10; + } +} + +void printArray(int arr[], const int size) { + for (int i = 0; i < size; ++i) { + cout << arr[i] << " "; + } + cout << endl; +} + +int& returnAddressOfFirstElementOfArray (int arr[3]) { + return arr[0]; +} + +int findMaxAndMin(int arr[2][3], int & min) { + int max = arr[0][0]; + min = arr[0][0]; + for (int i = 0; i < 2; ++i) { + for (int j = 0; j < 3; ++j) { + if (min > arr[i][j]) { + min = arr[i][j]; + } + if (max < arr[i][j]) { + max = arr[i][j]; + } + } + } + return max; +} \ No newline at end of file diff --git a/Semester 3/Assignments/functions/arrays.h b/Semester 3/Assignments/functions/arrays.h new file mode 100644 index 0000000..a5990e6 --- /dev/null +++ b/Semester 3/Assignments/functions/arrays.h @@ -0,0 +1,21 @@ +/* + * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license + * Click nbfs://nbhost/SystemFileSystem/Templates/cppFiles/class.h to edit this template + */ + +/* + * File: arrays.h + * Author: caleb + * + * Created on March 1, 2024, 11:11 AM + */ + +#ifndef ARRAYS_H +#define ARRAYS_H + +void initializeArray (int arr[], const int size); +void printArray(int arr[], const int size); +int& returnReference (int & x); + +#endif /* ARRAYS_H */ + diff --git a/Semester 3/Assignments/functions/functions.cpp b/Semester 3/Assignments/functions/functions.cpp new file mode 100644 index 0000000..93ae443 --- /dev/null +++ b/Semester 3/Assignments/functions/functions.cpp @@ -0,0 +1,46 @@ +/* + * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license + * Click nbfs://nbhost/SystemFileSystem/Templates/cppFiles/main.cc to edit this template + */ + +/* + * File: functions.cpp + * Author: caleb + * + * Created on March 1, 2024, 10:07 AM + */ + +#include +#include + +using namespace std; +#include "functions.h" + +int global = 0; + +void f1() { + cout << "f1()" << endl; + global++; + f2(); +} + +void f2() { + cout << "f2()" << endl; + global++; +} + +void passByReference(int& x) { + global++; + x = 100; +} + +void staticVarFunction() { + static int staticInt = 10; + staticInt++; + cout << staticInt << endl; +} + +int& returnReference (int & x) { + x++; + return x; +} \ No newline at end of file diff --git a/Semester 3/Assignments/functions/functions.h b/Semester 3/Assignments/functions/functions.h new file mode 100644 index 0000000..3b794c5 --- /dev/null +++ b/Semester 3/Assignments/functions/functions.h @@ -0,0 +1,27 @@ +/* + * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license + * Click nbfs://nbhost/SystemFileSystem/Templates/cppFiles/file.h to edit this template + */ + +/* + * File: headers.h + * Author: caleb + * + * Created on March 1, 2024, 10:10 AM + */ + +#ifndef HEADERS_H +#define HEADERS_H + + +void f1(); +void f2(); +void passByReference(int& x); +void staticVarFunction(); +int& returnReference (int & x); +int& returnAddressOfFirstElementOfArray (int arr[3]); +int findMaxAndMin(int arr[2][3], int & min) ; + + +#endif /* HEADERS_H */ + diff --git a/Semester 3/Assignments/functions/main.cpp b/Semester 3/Assignments/functions/main.cpp new file mode 100644 index 0000000..a917122 --- /dev/null +++ b/Semester 3/Assignments/functions/main.cpp @@ -0,0 +1,52 @@ +/* + * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license + * Click nbfs://nbhost/SystemFileSystem/Templates/cppFiles/main.cc to edit this template + */ + +/* + * File: main.cpp + * Author: caleb + * + * Created on March 1, 2024, 10:06 AM + */ + +#include +#include + +using namespace std; +#include "functions.h" +#include "arrays.h" +/* + * + */ +int main(int argc, char** argv) { + f1(); + int y = 10; + passByReference(y); + cout << y << endl; + staticVarFunction(); + staticVarFunction(); + staticVarFunction(); + cout << returnReference(y) << endl; + cout << y << endl; + + int arr1[3] = {1, 2 ,3}; + initializeArray (arr1, 3); + printArray(arr1, 3); + + int& rAr = returnAddressOfFirstElementOfArray(arr1); + + cout << endl; + cout << rAr << " " << &rAr << " " << endl; + int arr2[2][3] = { + {1, 2 ,3}, + {-1, -9, -4} + }; + int min = 0; + cout << "max: " << findMaxAndMin(arr2, min) << endl; + cout << "min: " << endl; + return 0; +} + + + diff --git a/Semester 3/Assignments/functions/nbproject/Makefile-Debug.mk b/Semester 3/Assignments/functions/nbproject/Makefile-Debug.mk new file mode 100644 index 0000000..1a42a87 --- /dev/null +++ b/Semester 3/Assignments/functions/nbproject/Makefile-Debug.mk @@ -0,0 +1,95 @@ +# +# Generated Makefile - do not edit! +# +# Edit the Makefile in the project folder instead (../Makefile). Each target +# has a -pre and a -post target defined where you can add customized code. +# +# This makefile implements configuration specific macros and targets. + + +# Environment +MKDIR=mkdir +CP=cp +GREP=grep +NM=nm +CCADMIN=CCadmin +RANLIB=ranlib +CC=gcc +CCC=g++ +CXX=g++ +FC=gfortran +AS=as + +# Macros +CND_PLATFORM=GNU-Linux +CND_DLIB_EXT=so +CND_CONF=Debug +CND_DISTDIR=dist +CND_BUILDDIR=build + +# Include project Makefile +include Makefile + +# Object Directory +OBJECTDIR=${CND_BUILDDIR}/${CND_CONF}/${CND_PLATFORM} + +# Object Files +OBJECTFILES= \ + ${OBJECTDIR}/arrays.o \ + ${OBJECTDIR}/functions.o \ + ${OBJECTDIR}/main.o + + +# C Compiler Flags +CFLAGS= + +# CC Compiler Flags +CCFLAGS= +CXXFLAGS= + +# Fortran Compiler Flags +FFLAGS= + +# Assembler Flags +ASFLAGS= + +# Link Libraries and Options +LDLIBSOPTIONS= + +# Build Targets +.build-conf: ${BUILD_SUBPROJECTS} + "${MAKE}" -f nbproject/Makefile-${CND_CONF}.mk ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/functions + +${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/functions: ${OBJECTFILES} + ${MKDIR} -p ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM} + ${LINK.cc} -o ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/functions ${OBJECTFILES} ${LDLIBSOPTIONS} + +${OBJECTDIR}/arrays.o: arrays.cpp + ${MKDIR} -p ${OBJECTDIR} + ${RM} "$@.d" + $(COMPILE.cc) -g -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/arrays.o arrays.cpp + +${OBJECTDIR}/functions.o: functions.cpp + ${MKDIR} -p ${OBJECTDIR} + ${RM} "$@.d" + $(COMPILE.cc) -g -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/functions.o functions.cpp + +${OBJECTDIR}/main.o: main.cpp + ${MKDIR} -p ${OBJECTDIR} + ${RM} "$@.d" + $(COMPILE.cc) -g -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/main.o main.cpp + +# Subprojects +.build-subprojects: + +# Clean Targets +.clean-conf: ${CLEAN_SUBPROJECTS} + ${RM} -r ${CND_BUILDDIR}/${CND_CONF} + +# Subprojects +.clean-subprojects: + +# Enable dependency checking +.dep.inc: .depcheck-impl + +include .dep.inc diff --git a/Semester 3/Assignments/functions/nbproject/Makefile-Release.mk b/Semester 3/Assignments/functions/nbproject/Makefile-Release.mk new file mode 100644 index 0000000..a5f3c5c --- /dev/null +++ b/Semester 3/Assignments/functions/nbproject/Makefile-Release.mk @@ -0,0 +1,95 @@ +# +# Generated Makefile - do not edit! +# +# Edit the Makefile in the project folder instead (../Makefile). Each target +# has a -pre and a -post target defined where you can add customized code. +# +# This makefile implements configuration specific macros and targets. + + +# Environment +MKDIR=mkdir +CP=cp +GREP=grep +NM=nm +CCADMIN=CCadmin +RANLIB=ranlib +CC=gcc +CCC=g++ +CXX=g++ +FC=gfortran +AS=as + +# Macros +CND_PLATFORM=GNU-Linux +CND_DLIB_EXT=so +CND_CONF=Release +CND_DISTDIR=dist +CND_BUILDDIR=build + +# Include project Makefile +include Makefile + +# Object Directory +OBJECTDIR=${CND_BUILDDIR}/${CND_CONF}/${CND_PLATFORM} + +# Object Files +OBJECTFILES= \ + ${OBJECTDIR}/arrays.o \ + ${OBJECTDIR}/functions.o \ + ${OBJECTDIR}/main.o + + +# C Compiler Flags +CFLAGS= + +# CC Compiler Flags +CCFLAGS= +CXXFLAGS= + +# Fortran Compiler Flags +FFLAGS= + +# Assembler Flags +ASFLAGS= + +# Link Libraries and Options +LDLIBSOPTIONS= + +# Build Targets +.build-conf: ${BUILD_SUBPROJECTS} + "${MAKE}" -f nbproject/Makefile-${CND_CONF}.mk ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/functions + +${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/functions: ${OBJECTFILES} + ${MKDIR} -p ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM} + ${LINK.cc} -o ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/functions ${OBJECTFILES} ${LDLIBSOPTIONS} + +${OBJECTDIR}/arrays.o: arrays.cpp + ${MKDIR} -p ${OBJECTDIR} + ${RM} "$@.d" + $(COMPILE.cc) -O2 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/arrays.o arrays.cpp + +${OBJECTDIR}/functions.o: functions.cpp + ${MKDIR} -p ${OBJECTDIR} + ${RM} "$@.d" + $(COMPILE.cc) -O2 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/functions.o functions.cpp + +${OBJECTDIR}/main.o: main.cpp + ${MKDIR} -p ${OBJECTDIR} + ${RM} "$@.d" + $(COMPILE.cc) -O2 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/main.o main.cpp + +# Subprojects +.build-subprojects: + +# Clean Targets +.clean-conf: ${CLEAN_SUBPROJECTS} + ${RM} -r ${CND_BUILDDIR}/${CND_CONF} + +# Subprojects +.clean-subprojects: + +# Enable dependency checking +.dep.inc: .depcheck-impl + +include .dep.inc diff --git a/Semester 3/Assignments/functions/nbproject/Makefile-impl.mk b/Semester 3/Assignments/functions/nbproject/Makefile-impl.mk new file mode 100644 index 0000000..6e48ec9 --- /dev/null +++ b/Semester 3/Assignments/functions/nbproject/Makefile-impl.mk @@ -0,0 +1,133 @@ +# +# Generated Makefile - do not edit! +# +# Edit the Makefile in the project folder instead (../Makefile). Each target +# has a pre- and a post- target defined where you can add customization code. +# +# This makefile implements macros and targets common to all configurations. +# +# NOCDDL + + +# Building and Cleaning subprojects are done by default, but can be controlled with the SUB +# macro. If SUB=no, subprojects will not be built or cleaned. The following macro +# statements set BUILD_SUB-CONF and CLEAN_SUB-CONF to .build-reqprojects-conf +# and .clean-reqprojects-conf unless SUB has the value 'no' +SUB_no=NO +SUBPROJECTS=${SUB_${SUB}} +BUILD_SUBPROJECTS_=.build-subprojects +BUILD_SUBPROJECTS_NO= +BUILD_SUBPROJECTS=${BUILD_SUBPROJECTS_${SUBPROJECTS}} +CLEAN_SUBPROJECTS_=.clean-subprojects +CLEAN_SUBPROJECTS_NO= +CLEAN_SUBPROJECTS=${CLEAN_SUBPROJECTS_${SUBPROJECTS}} + + +# Project Name +PROJECTNAME=functions + +# Active Configuration +DEFAULTCONF=Debug +CONF=${DEFAULTCONF} + +# All Configurations +ALLCONFS=Debug Release + + +# build +.build-impl: .build-pre .validate-impl .depcheck-impl + @#echo "=> Running $@... Configuration=$(CONF)" + "${MAKE}" -f nbproject/Makefile-${CONF}.mk QMAKE=${QMAKE} SUBPROJECTS=${SUBPROJECTS} .build-conf + + +# clean +.clean-impl: .clean-pre .validate-impl .depcheck-impl + @#echo "=> Running $@... Configuration=$(CONF)" + "${MAKE}" -f nbproject/Makefile-${CONF}.mk QMAKE=${QMAKE} SUBPROJECTS=${SUBPROJECTS} .clean-conf + + +# clobber +.clobber-impl: .clobber-pre .depcheck-impl + @#echo "=> Running $@..." + for CONF in ${ALLCONFS}; \ + do \ + "${MAKE}" -f nbproject/Makefile-$${CONF}.mk QMAKE=${QMAKE} SUBPROJECTS=${SUBPROJECTS} .clean-conf; \ + done + +# all +.all-impl: .all-pre .depcheck-impl + @#echo "=> Running $@..." + for CONF in ${ALLCONFS}; \ + do \ + "${MAKE}" -f nbproject/Makefile-$${CONF}.mk QMAKE=${QMAKE} SUBPROJECTS=${SUBPROJECTS} .build-conf; \ + done + +# build tests +.build-tests-impl: .build-impl .build-tests-pre + @#echo "=> Running $@... Configuration=$(CONF)" + "${MAKE}" -f nbproject/Makefile-${CONF}.mk SUBPROJECTS=${SUBPROJECTS} .build-tests-conf + +# run tests +.test-impl: .build-tests-impl .test-pre + @#echo "=> Running $@... Configuration=$(CONF)" + "${MAKE}" -f nbproject/Makefile-${CONF}.mk SUBPROJECTS=${SUBPROJECTS} .test-conf + +# dependency checking support +.depcheck-impl: + @echo "# This code depends on make tool being used" >.dep.inc + @if [ -n "${MAKE_VERSION}" ]; then \ + echo "DEPFILES=\$$(wildcard \$$(addsuffix .d, \$${OBJECTFILES} \$${TESTOBJECTFILES}))" >>.dep.inc; \ + echo "ifneq (\$${DEPFILES},)" >>.dep.inc; \ + echo "include \$${DEPFILES}" >>.dep.inc; \ + echo "endif" >>.dep.inc; \ + else \ + echo ".KEEP_STATE:" >>.dep.inc; \ + echo ".KEEP_STATE_FILE:.make.state.\$${CONF}" >>.dep.inc; \ + fi + +# configuration validation +.validate-impl: + @if [ ! -f nbproject/Makefile-${CONF}.mk ]; \ + then \ + echo ""; \ + echo "Error: can not find the makefile for configuration '${CONF}' in project ${PROJECTNAME}"; \ + echo "See 'make help' for details."; \ + echo "Current directory: " `pwd`; \ + echo ""; \ + fi + @if [ ! -f nbproject/Makefile-${CONF}.mk ]; \ + then \ + exit 1; \ + fi + + +# help +.help-impl: .help-pre + @echo "This makefile supports the following configurations:" + @echo " ${ALLCONFS}" + @echo "" + @echo "and the following targets:" + @echo " build (default target)" + @echo " clean" + @echo " clobber" + @echo " all" + @echo " help" + @echo "" + @echo "Makefile Usage:" + @echo " make [CONF=] [SUB=no] build" + @echo " make [CONF=] [SUB=no] clean" + @echo " make [SUB=no] clobber" + @echo " make [SUB=no] all" + @echo " make help" + @echo "" + @echo "Target 'build' will build a specific configuration and, unless 'SUB=no'," + @echo " also build subprojects." + @echo "Target 'clean' will clean a specific configuration and, unless 'SUB=no'," + @echo " also clean subprojects." + @echo "Target 'clobber' will remove all built files from all configurations and," + @echo " unless 'SUB=no', also from subprojects." + @echo "Target 'all' will will build all configurations and, unless 'SUB=no'," + @echo " also build subprojects." + @echo "Target 'help' prints this message." + @echo "" + diff --git a/Semester 3/Assignments/functions/nbproject/Makefile-variables.mk b/Semester 3/Assignments/functions/nbproject/Makefile-variables.mk new file mode 100644 index 0000000..264fb16 --- /dev/null +++ b/Semester 3/Assignments/functions/nbproject/Makefile-variables.mk @@ -0,0 +1,35 @@ +# +# Generated - do not edit! +# +# NOCDDL +# +CND_BASEDIR=`pwd` +CND_BUILDDIR=build +CND_DISTDIR=dist +# Debug configuration +CND_PLATFORM_Debug=GNU-Linux +CND_ARTIFACT_DIR_Debug=dist/Debug/GNU-Linux +CND_ARTIFACT_NAME_Debug=functions +CND_ARTIFACT_PATH_Debug=dist/Debug/GNU-Linux/functions +CND_PACKAGE_DIR_Debug=dist/Debug/GNU-Linux/package +CND_PACKAGE_NAME_Debug=functions.tar +CND_PACKAGE_PATH_Debug=dist/Debug/GNU-Linux/package/functions.tar +# Release configuration +CND_PLATFORM_Release=GNU-Linux +CND_ARTIFACT_DIR_Release=dist/Release/GNU-Linux +CND_ARTIFACT_NAME_Release=functions +CND_ARTIFACT_PATH_Release=dist/Release/GNU-Linux/functions +CND_PACKAGE_DIR_Release=dist/Release/GNU-Linux/package +CND_PACKAGE_NAME_Release=functions.tar +CND_PACKAGE_PATH_Release=dist/Release/GNU-Linux/package/functions.tar +# +# include compiler specific variables +# +# dmake command +ROOT:sh = test -f nbproject/private/Makefile-variables.mk || \ + (mkdir -p nbproject/private && touch nbproject/private/Makefile-variables.mk) +# +# gmake command +.PHONY: $(shell test -f nbproject/private/Makefile-variables.mk || (mkdir -p nbproject/private && touch nbproject/private/Makefile-variables.mk)) +# +include nbproject/private/Makefile-variables.mk diff --git a/Semester 3/Assignments/functions/nbproject/Package-Debug.bash b/Semester 3/Assignments/functions/nbproject/Package-Debug.bash new file mode 100644 index 0000000..2d83e57 --- /dev/null +++ b/Semester 3/Assignments/functions/nbproject/Package-Debug.bash @@ -0,0 +1,76 @@ +#!/bin/bash -x + +# +# Generated - do not edit! +# + +# Macros +TOP=`pwd` +CND_PLATFORM=GNU-Linux +CND_CONF=Debug +CND_DISTDIR=dist +CND_BUILDDIR=build +CND_DLIB_EXT=so +NBTMPDIR=${CND_BUILDDIR}/${CND_CONF}/${CND_PLATFORM}/tmp-packaging +TMPDIRNAME=tmp-packaging +OUTPUT_PATH=${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/functions +OUTPUT_BASENAME=functions +PACKAGE_TOP_DIR=functions/ + +# Functions +function checkReturnCode +{ + rc=$? + if [ $rc != 0 ] + then + exit $rc + fi +} +function makeDirectory +# $1 directory path +# $2 permission (optional) +{ + mkdir -p "$1" + checkReturnCode + if [ "$2" != "" ] + then + chmod $2 "$1" + checkReturnCode + fi +} +function copyFileToTmpDir +# $1 from-file path +# $2 to-file path +# $3 permission +{ + cp "$1" "$2" + checkReturnCode + if [ "$3" != "" ] + then + chmod $3 "$2" + checkReturnCode + fi +} + +# Setup +cd "${TOP}" +mkdir -p ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package +rm -rf ${NBTMPDIR} +mkdir -p ${NBTMPDIR} + +# Copy files and create directories and links +cd "${TOP}" +makeDirectory "${NBTMPDIR}/functions/bin" +copyFileToTmpDir "${OUTPUT_PATH}" "${NBTMPDIR}/${PACKAGE_TOP_DIR}bin/${OUTPUT_BASENAME}" 0755 + + +# Generate tar file +cd "${TOP}" +rm -f ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package/functions.tar +cd ${NBTMPDIR} +tar -vcf ../../../../${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package/functions.tar * +checkReturnCode + +# Cleanup +cd "${TOP}" +rm -rf ${NBTMPDIR} diff --git a/Semester 3/Assignments/functions/nbproject/Package-Release.bash b/Semester 3/Assignments/functions/nbproject/Package-Release.bash new file mode 100644 index 0000000..8ddf299 --- /dev/null +++ b/Semester 3/Assignments/functions/nbproject/Package-Release.bash @@ -0,0 +1,76 @@ +#!/bin/bash -x + +# +# Generated - do not edit! +# + +# Macros +TOP=`pwd` +CND_PLATFORM=GNU-Linux +CND_CONF=Release +CND_DISTDIR=dist +CND_BUILDDIR=build +CND_DLIB_EXT=so +NBTMPDIR=${CND_BUILDDIR}/${CND_CONF}/${CND_PLATFORM}/tmp-packaging +TMPDIRNAME=tmp-packaging +OUTPUT_PATH=${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/functions +OUTPUT_BASENAME=functions +PACKAGE_TOP_DIR=functions/ + +# Functions +function checkReturnCode +{ + rc=$? + if [ $rc != 0 ] + then + exit $rc + fi +} +function makeDirectory +# $1 directory path +# $2 permission (optional) +{ + mkdir -p "$1" + checkReturnCode + if [ "$2" != "" ] + then + chmod $2 "$1" + checkReturnCode + fi +} +function copyFileToTmpDir +# $1 from-file path +# $2 to-file path +# $3 permission +{ + cp "$1" "$2" + checkReturnCode + if [ "$3" != "" ] + then + chmod $3 "$2" + checkReturnCode + fi +} + +# Setup +cd "${TOP}" +mkdir -p ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package +rm -rf ${NBTMPDIR} +mkdir -p ${NBTMPDIR} + +# Copy files and create directories and links +cd "${TOP}" +makeDirectory "${NBTMPDIR}/functions/bin" +copyFileToTmpDir "${OUTPUT_PATH}" "${NBTMPDIR}/${PACKAGE_TOP_DIR}bin/${OUTPUT_BASENAME}" 0755 + + +# Generate tar file +cd "${TOP}" +rm -f ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package/functions.tar +cd ${NBTMPDIR} +tar -vcf ../../../../${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package/functions.tar * +checkReturnCode + +# Cleanup +cd "${TOP}" +rm -rf ${NBTMPDIR} diff --git a/Semester 3/Assignments/functions/nbproject/configurations.xml b/Semester 3/Assignments/functions/nbproject/configurations.xml new file mode 100644 index 0000000..67a8b31 --- /dev/null +++ b/Semester 3/Assignments/functions/nbproject/configurations.xml @@ -0,0 +1,86 @@ + + + + + arrays.h + functions.h + + + + + arrays.cpp + functions.cpp + main.cpp + + + + + Makefile + + + Makefile + + + + default + true + false + + + + + + + + + + + + + + + + + default + true + false + + + + 5 + + + 5 + + + 5 + + + 5 + + + + + + + + + + + + + + + diff --git a/Semester 3/Assignments/functions/nbproject/private/Makefile-variables.mk b/Semester 3/Assignments/functions/nbproject/private/Makefile-variables.mk new file mode 100644 index 0000000..a64183e --- /dev/null +++ b/Semester 3/Assignments/functions/nbproject/private/Makefile-variables.mk @@ -0,0 +1,7 @@ +# +# Generated - do not edit! +# +# NOCDDL +# +# Debug configuration +# Release configuration diff --git a/Semester 3/Assignments/functions/nbproject/private/c_standard_headers_indexer.c b/Semester 3/Assignments/functions/nbproject/private/c_standard_headers_indexer.c new file mode 100644 index 0000000..c2548d2 --- /dev/null +++ b/Semester 3/Assignments/functions/nbproject/private/c_standard_headers_indexer.c @@ -0,0 +1,75 @@ +/* + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. + * + * Copyright (c) 2016 Oracle and/or its affiliates. All rights reserved. + * + * Oracle and Java are registered trademarks of Oracle and/or its affiliates. + * Other names may be trademarks of their respective owners. + * + * The contents of this file are subject to the terms of either the GNU + * General Public License Version 2 only ("GPL") or the Common + * Development and Distribution License("CDDL") (collectively, the + * "License"). You may not use this file except in compliance with the + * License. You can obtain a copy of the License at + * http://www.netbeans.org/cddl-gplv2.html + * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the + * specific language governing permissions and limitations under the + * License. When distributing the software, include this License Header + * Notice in each file and include the License file at + * nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the GPL Version 2 section of the License file that + * accompanied this code. If applicable, add the following below the + * License Header, with the fields enclosed by brackets [] replaced by + * your own identifying information: + * "Portions Copyrighted [year] [name of copyright owner]" + * + * If you wish your version of this file to be governed by only the CDDL + * or only the GPL Version 2, indicate your decision by adding + * "[Contributor] elects to include this software in this distribution + * under the [CDDL or GPL Version 2] license." If you do not indicate a + * single choice of license, a recipient has the option to distribute + * your version of this file under either the CDDL, the GPL Version 2 or + * to extend the choice of license to its licensees as provided above. + * However, if you add GPL Version 2 code and therefore, elected the GPL + * Version 2 license, then the option applies only if the new code is + * made subject to such option by the copyright holder. + * + * Contributor(s): + */ + +// List of standard headers was taken in http://en.cppreference.com/w/c/header + +#include // Conditionally compiled macro that compares its argument to zero +#include // Functions to determine the type contained in character data +#include // Macros reporting error conditions +#include // Limits of float types +#include // Sizes of basic types +#include // Localization utilities +#include // Common mathematics functions +#include // Nonlocal jumps +#include // Signal handling +#include // Variable arguments +#include // Common macro definitions +#include // Input/output +#include // String handling +#include // General utilities: memory management, program utilities, string conversions, random numbers +#include // Time/date utilities +#include // (since C95) Alternative operator spellings +#include // (since C95) Extended multibyte and wide character utilities +#include // (since C95) Wide character classification and mapping utilities +#ifdef _STDC_C99 +#include // (since C99) Complex number arithmetic +#include // (since C99) Floating-point environment +#include // (since C99) Format conversion of integer types +#include // (since C99) Boolean type +#include // (since C99) Fixed-width integer types +#include // (since C99) Type-generic math (macros wrapping math.h and complex.h) +#endif +#ifdef _STDC_C11 +#include // (since C11) alignas and alignof convenience macros +#include // (since C11) Atomic types +#include // (since C11) noreturn convenience macros +#include // (since C11) Thread library +#include // (since C11) UTF-16 and UTF-32 character utilities +#endif diff --git a/Semester 3/Assignments/functions/nbproject/private/configurations.xml b/Semester 3/Assignments/functions/nbproject/private/configurations.xml new file mode 100644 index 0000000..30b54f8 --- /dev/null +++ b/Semester 3/Assignments/functions/nbproject/private/configurations.xml @@ -0,0 +1,72 @@ + + + Makefile + + + + localhost + 2 + + + + + + + + + + + + + + + gdb + + + + "${OUTPUT_PATH}" + + "${OUTPUT_PATH}" + + true + 0 + 0 + + + + + + + localhost + 2 + + + + + + + + + + + + + + + gdb + + + + "${OUTPUT_PATH}" + + "${OUTPUT_PATH}" + + true + 0 + 0 + + + + + + diff --git a/Semester 3/Assignments/functions/nbproject/private/cpp_standard_headers_indexer.cpp b/Semester 3/Assignments/functions/nbproject/private/cpp_standard_headers_indexer.cpp new file mode 100644 index 0000000..04f6fa6 --- /dev/null +++ b/Semester 3/Assignments/functions/nbproject/private/cpp_standard_headers_indexer.cpp @@ -0,0 +1,135 @@ +/* + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. + * + * Copyright (c) 2016 Oracle and/or its affiliates. All rights reserved. + * + * Oracle and Java are registered trademarks of Oracle and/or its affiliates. + * Other names may be trademarks of their respective owners. + * + * The contents of this file are subject to the terms of either the GNU + * General Public License Version 2 only ("GPL") or the Common + * Development and Distribution License("CDDL") (collectively, the + * "License"). You may not use this file except in compliance with the + * License. You can obtain a copy of the License at + * http://www.netbeans.org/cddl-gplv2.html + * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the + * specific language governing permissions and limitations under the + * License. When distributing the software, include this License Header + * Notice in each file and include the License file at + * nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the GPL Version 2 section of the License file that + * accompanied this code. If applicable, add the following below the + * License Header, with the fields enclosed by brackets [] replaced by + * your own identifying information: + * "Portions Copyrighted [year] [name of copyright owner]" + * + * If you wish your version of this file to be governed by only the CDDL + * or only the GPL Version 2, indicate your decision by adding + * "[Contributor] elects to include this software in this distribution + * under the [CDDL or GPL Version 2] license." If you do not indicate a + * single choice of license, a recipient has the option to distribute + * your version of this file under either the CDDL, the GPL Version 2 or + * to extend the choice of license to its licensees as provided above. + * However, if you add GPL Version 2 code and therefore, elected the GPL + * Version 2 license, then the option applies only if the new code is + * made subject to such option by the copyright holder. + * + * Contributor(s): + */ + +// List of standard headers was taken in http://en.cppreference.com/w/cpp/header + +#include // General purpose utilities: program control, dynamic memory allocation, random numbers, sort and search +#include // Functions and macro constants for signal management +#include // Macro (and function) that saves (and jumps) to an execution context +#include // Handling of variable length argument lists +#include // Runtime type information utilities +#include // std::bitset class template +#include // Function objects, designed for use with the standard algorithms +#include // Various utility components +#include // C-style time/date utilites +#include // typedefs for types such as size_t, NULL and others +#include // Low-level memory management utilities +#include // Higher level memory management utilities +#include // limits of integral types +#include // limits of float types +#include // standardized way to query properties of arithmetic types +#include // Exception handling utilities +#include // Standard exception objects +#include // Conditionally compiled macro that compares its argument to zero +#include // Macro containing the last error number +#include // functions to determine the type contained in character data +#include // functions for determining the type of wide character data +#include // various narrow character string handling functions +#include // various wide and multibyte string handling functions +#include // std::basic_string class template +#include // std::vector container +#include // std::deque container +#include // std::list container +#include // std::set and std::multiset associative containers +#include // std::map and std::multimap associative containers +#include // std::stack container adaptor +#include // std::queue and std::priority_queue container adaptors +#include // Algorithms that operate on containers +#include // Container iterators +#include // Common mathematics functions +#include // Complex number type +#include // Class for representing and manipulating arrays of values +#include // Numeric operations on values in containers +#include // forward declarations of all classes in the input/output library +#include // std::ios_base class, std::basic_ios class template and several typedefs +#include // std::basic_istream class template and several typedefs +#include // std::basic_ostream, std::basic_iostream class templates and several typedefs +#include // several standard stream objects +#include // std::basic_fstream, std::basic_ifstream, std::basic_ofstream class templates and several typedefs +#include // std::basic_stringstream, std::basic_istringstream, std::basic_ostringstream class templates and several typedefs +#include // std::strstream, std::istrstream, std::ostrstream(deprecated) +#include // Helper functions to control the format or input and output +#include // std::basic_streambuf class template +#include // C-style input-output functions +#include // Localization utilities +#include // C localization utilities +#include // empty header. The macros that appear in iso646.h in C are keywords in C++ +#if __cplusplus >= 201103L +#include // (since C++11) std::type_index +#include // (since C++11) Compile-time type information +#include // (since C++11) C++ time utilites +#include // (since C++11) std::initializer_list class template +#include // (since C++11) std::tuple class template +#include // (since C++11) Nested allocator class +#include // (since C++11) fixed-size types and limits of other types +#include // (since C++11) formatting macros , intmax_t and uintmax_t math and conversions +#include // (since C++11) defines std::error_code, a platform-dependent error code +#include // (since C++11) C-style Unicode character conversion functions +#include // (since C++11) std::array container +#include // (since C++11) std::forward_list container +#include // (since C++11) std::unordered_set and std::unordered_multiset unordered associative containers +#include // (since C++11) std::unordered_map and std::unordered_multimap unordered associative containers +#include // (since C++11) Random number generators and distributions +#include // (since C++11) Compile-time rational arithmetic +#include // (since C++11) Floating-point environment access functions +#include // (since C++11) Unicode conversion facilities +#include // (since C++11) Classes, algorithms and iterators to support regular expression processing +#include // (since C++11) Atomic operations library +#include // (since C++11)(deprecated in C++17) simply includes the header +#include // (since C++11)(deprecated in C++17) simply includes the headers (until C++17) (since C++17) and : the overloads equivalent to the contents of the C header tgmath.h are already provided by those headers +#include // (since C++11)(deprecated in C++17) defines one compatibility macro constant +#include // (since C++11)(deprecated in C++17) defines one compatibility macro constant +#include // (since C++11) std::thread class and supporting functions +#include // (since C++11) mutual exclusion primitives +#include // (since C++11) primitives for asynchronous computations +#include // (since C++11) thread waiting conditions +#endif +#if __cplusplus >= 201300L +#include // (since C++14) shared mutual exclusion primitives +#endif +#if __cplusplus >= 201500L +#include // (since C++17) std::any class template +#include // (since C++17) std::optional class template +#include // (since C++17) std::variant class template +#include // (since C++17) Polymorphic allocators and memory resources +#include // (since C++17) std::basic_string_view class template +#include // (since C++17) Predefined execution policies for parallel versions of the algorithms +#include // (since C++17) std::path class and supporting functions +#endif diff --git a/Semester 3/Assignments/functions/nbproject/private/launcher.properties b/Semester 3/Assignments/functions/nbproject/private/launcher.properties new file mode 100644 index 0000000..3edc2d8 --- /dev/null +++ b/Semester 3/Assignments/functions/nbproject/private/launcher.properties @@ -0,0 +1,42 @@ +# Launchers File syntax: +# +# [Must-have property line] +# launcher1.runCommand= +# [Optional extra properties] +# launcher1.displayName= +# launcher1.hide= +# launcher1.buildCommand= +# launcher1.runDir= +# launcher1.runInOwnTab= +# launcher1.symbolFiles= +# launcher1.env.= +# (If this value is quoted with ` it is handled as a native command which execution result will become the value) +# [Common launcher properties] +# common.runDir= +# (This value is overwritten by a launcher specific runDir value if the latter exists) +# common.env.= +# (Environment variables from common launcher are merged with launcher specific variables) +# common.symbolFiles= +# (This value is overwritten by a launcher specific symbolFiles value if the latter exists) +# +# In runDir, symbolFiles and env fields you can use these macroses: +# ${PROJECT_DIR} - project directory absolute path +# ${OUTPUT_PATH} - linker output path (relative to project directory path) +# ${OUTPUT_BASENAME}- linker output filename +# ${TESTDIR} - test files directory (relative to project directory path) +# ${OBJECTDIR} - object files directory (relative to project directory path) +# ${CND_DISTDIR} - distribution directory (relative to project directory path) +# ${CND_BUILDDIR} - build directory (relative to project directory path) +# ${CND_PLATFORM} - platform name +# ${CND_CONF} - configuration name +# ${CND_DLIB_EXT} - dynamic library extension +# +# All the project launchers must be listed in the file! +# +# launcher1.runCommand=... +# launcher2.runCommand=... +# ... +# common.runDir=... +# common.env.KEY=VALUE + +# launcher1.runCommand= \ No newline at end of file diff --git a/Semester 3/Assignments/functions/nbproject/private/private.xml b/Semester 3/Assignments/functions/nbproject/private/private.xml new file mode 100644 index 0000000..63a27a8 --- /dev/null +++ b/Semester 3/Assignments/functions/nbproject/private/private.xml @@ -0,0 +1,7 @@ + + + + 1 + 0 + + diff --git a/Semester 3/Assignments/functions/nbproject/project.xml b/Semester 3/Assignments/functions/nbproject/project.xml new file mode 100644 index 0000000..3afb38a --- /dev/null +++ b/Semester 3/Assignments/functions/nbproject/project.xml @@ -0,0 +1,28 @@ + + + org.netbeans.modules.cnd.makeproject + + + functions + + cpp + h + UTF-8 + + + + + Debug + 1 + + + Release + 1 + + + + false + + + + diff --git a/Semester 3/Assignments/params.zip b/Semester 3/Assignments/params.zip new file mode 100644 index 0000000000000000000000000000000000000000..f49a1a6b5c4b0c507ff3449f5efc9defccc8dc18 GIT binary patch literal 12412 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 G@BaYqP&`ur literal 0 HcmV?d00001 diff --git a/Semester 3/Assignments/params/nb-configuration.xml b/Semester 3/Assignments/params/nb-configuration.xml new file mode 100644 index 0000000..f89ff8d --- /dev/null +++ b/Semester 3/Assignments/params/nb-configuration.xml @@ -0,0 +1,21 @@ + + + + + + 10-web + gfv700ee10 + Facelets + JDK_11__System_ + + diff --git a/Semester 3/Assignments/params/pom.xml b/Semester 3/Assignments/params/pom.xml new file mode 100644 index 0000000..9d5d182 --- /dev/null +++ b/Semester 3/Assignments/params/pom.xml @@ -0,0 +1,48 @@ + + 4.0.0 + asdv + params + 1 + war + params-1 + + + UTF-8 + 10.0.0 + + + + + jakarta.platform + jakarta.jakartaee-api + ${jakartaee} + provided + + + org.primefaces + primefaces + 12.0.0 + jakarta + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.8.1 + + 11 + 11 + + + + org.apache.maven.plugins + maven-war-plugin + 3.3.2 + + + + \ No newline at end of file diff --git a/Semester 3/Assignments/params/src/main/java/asdv/JakartaRestConfiguration.java b/Semester 3/Assignments/params/src/main/java/asdv/JakartaRestConfiguration.java new file mode 100644 index 0000000..d99993b --- /dev/null +++ b/Semester 3/Assignments/params/src/main/java/asdv/JakartaRestConfiguration.java @@ -0,0 +1,13 @@ +package asdv; + +import jakarta.ws.rs.ApplicationPath; +import jakarta.ws.rs.core.Application; + +/** + * Configures Jakarta RESTful Web Services for the application. + * @author Juneau + */ +@ApplicationPath("resources") +public class JakartaRestConfiguration extends Application { + +} diff --git a/Semester 3/Assignments/params/src/main/java/asdv/resources/JakartaEE10Resource.java b/Semester 3/Assignments/params/src/main/java/asdv/resources/JakartaEE10Resource.java new file mode 100644 index 0000000..608b0fc --- /dev/null +++ b/Semester 3/Assignments/params/src/main/java/asdv/resources/JakartaEE10Resource.java @@ -0,0 +1,20 @@ +package asdv.resources; + +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.core.Response; + +/** + * + * @author + */ +@Path("jakartaee10") +public class JakartaEE10Resource { + + @GET + public Response ping(){ + return Response + .ok("ping Jakarta EE") + .build(); + } +} diff --git a/Semester 3/Assignments/params/src/main/java/beans/ClientBean.java b/Semester 3/Assignments/params/src/main/java/beans/ClientBean.java new file mode 100644 index 0000000..bc1a6fb --- /dev/null +++ b/Semester 3/Assignments/params/src/main/java/beans/ClientBean.java @@ -0,0 +1,58 @@ + +package beans; + +import jakarta.enterprise.context.RequestScoped; +import java.util.Map; +import jakarta.faces.application.FacesMessage; +import jakarta.faces.context.FacesContext; +import jakarta.inject.Named; +import utilities.UtilitiesDatabase; + +@Named(value = "clientBean") +@RequestScoped +public class ClientBean +{ + + private String fromCallerUrlOfParent; + private String fromCallerStockId; + private Map map; + + public Map getMap() + { + return map; + } + + + + + public ClientBean() + { + getParametersFromCaller(); + + } + + private void getParametersFromCaller() + { + //> Get parameters from caller + Map m = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap(); + this.fromCallerUrlOfParent = m.get("url_of_parent_param1"); + this.fromCallerStockId = m.get("stock_id_param2"); + UtilitiesDatabase.addMessage(FacesMessage.SEVERITY_INFO, "mouseOutListener", ""); + map = m; + } + + public String getFromCallerUrlOfParent() + { + return fromCallerUrlOfParent; + } + + public String getFromCallerStockId() + { + return fromCallerStockId; + } + + public void getRequestFromMap() { + map = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap(); + } + +} diff --git a/Semester 3/Assignments/params/src/main/java/beans/StockBean.java b/Semester 3/Assignments/params/src/main/java/beans/StockBean.java new file mode 100644 index 0000000..0d32d62 --- /dev/null +++ b/Semester 3/Assignments/params/src/main/java/beans/StockBean.java @@ -0,0 +1,61 @@ +/* + * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license + * Click nbfs://nbhost/SystemFileSystem/Templates/JSF/JSFManagedBean.java to edit this template + */ +package beans; + +import bl.DataFromDatabase; +import jakarta.annotation.PostConstruct; +import jakarta.enterprise.context.SessionScoped; +import jakarta.faces.application.ConfigurableNavigationHandler; +import jakarta.faces.context.ExternalContext; +import jakarta.faces.context.FacesContext; +import jakarta.inject.Inject; +import jakarta.inject.Named; +import java.io.Serializable; +import java.util.List; +import org.primefaces.event.SelectEvent; +import pojos.Stock; + +/** + * + * @author asdv5 + */ +@Named(value = "stockBean") +@SessionScoped +public class StockBean implements Serializable +{ + @Inject + DataFromDatabase dbData; + List stocks; + + + @PostConstruct + void init() + { + stocks = dbData.getList(); + } + + public List getStocks() + { + return stocks; + } + + public void setStocks(List stocks) + { + this.stocks = stocks; + } + + + public void onRowSelect(SelectEvent event) + { + FacesContext fc = FacesContext.getCurrentInstance(); + ExternalContext ec = fc.getExternalContext(); + Stock a = (Stock) event.getObject(); + String page = "client-page"; + String params = "&url_of_parent_param1=" + "index"; + params += "&stock_id_param2=" + a.getStockId(); + ConfigurableNavigationHandler handler = (ConfigurableNavigationHandler) fc.getApplication().getNavigationHandler(); + handler.performNavigation(page + "?faces-redirect=true" + params); + } +} diff --git a/Semester 3/Assignments/params/src/main/java/bl/DataFromDatabase.java b/Semester 3/Assignments/params/src/main/java/bl/DataFromDatabase.java new file mode 100644 index 0000000..2c1ca17 --- /dev/null +++ b/Semester 3/Assignments/params/src/main/java/bl/DataFromDatabase.java @@ -0,0 +1,40 @@ +/* + * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license + * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template + */ +package bl; + +import java.io.Serializable; +import java.util.ArrayList; +import java.util.List; +import pojos.Stock; + +/** + * + * @author asdv5 + */ +public class DataFromDatabase implements Serializable +{ + private List list = new ArrayList<>(); + + public DataFromDatabase() + { + for (int i = 1; i <= 100; ++i) + { + String stockId = "stockID" + i; + String companyName = "stockID" + i; + double priceCurrent = Math.random() * 1000; + double priceClosing = priceCurrent + Math.random() * 10; + long numberOfSharesAvailable = (long) (Math.random() * 10000000); + long numberOfSharesSold = numberOfSharesAvailable / 3; + list.add(new Stock(stockId, companyName, priceCurrent, priceClosing, numberOfSharesAvailable, numberOfSharesSold)); + } + } + + public List getList() + { + return list; + } + + +} diff --git a/Semester 3/Assignments/params/src/main/java/pojos/Stock.java b/Semester 3/Assignments/params/src/main/java/pojos/Stock.java new file mode 100644 index 0000000..9242b4c --- /dev/null +++ b/Semester 3/Assignments/params/src/main/java/pojos/Stock.java @@ -0,0 +1,138 @@ +/* + * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license + * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template + */ +package pojos; + +import java.io.Serializable; + + +public class Stock implements Serializable +{ + private static final long serialVersionUID = 1L; + + private String stockId; + + private String companyName; + + private double priceCurrent; + + private double priceClosing; + + private long numberOfSharesAvailable; + + private long numberOfSharesSold; + + public Stock() + { + } + + public Stock(String stockId) + { + this.stockId = stockId; + } + + public Stock(String stockId, String companyName, double priceCurrent, double priceClosing, long numberOfSharesAvailable, long numberOfSharesSold) + { + this.stockId = stockId; + this.companyName = companyName; + this.priceCurrent = priceCurrent; + this.priceClosing = priceClosing; + this.numberOfSharesAvailable = numberOfSharesAvailable; + this.numberOfSharesSold = numberOfSharesSold; + } + + public String getStockId() + { + return stockId; + } + + public void setStockId(String stockId) + { + this.stockId = stockId; + } + + public String getCompanyName() + { + return companyName; + } + + public void setCompanyName(String companyName) + { + this.companyName = companyName; + } + + public double getPriceCurrent() + { + return priceCurrent; + } + + public void setPriceCurrent(double priceCurrent) + { + this.priceCurrent = priceCurrent; + } + + public double getPriceClosing() + { + return priceClosing; + } + + public void setPriceClosing(double priceClosing) + { + this.priceClosing = priceClosing; + } + + public long getNumberOfSharesAvailable() + { + return numberOfSharesAvailable; + } + + public void setNumberOfSharesAvailable(long numberOfSharesAvailable) + { + this.numberOfSharesAvailable = numberOfSharesAvailable; + } + + public long getNumberOfSharesSold() + { + return numberOfSharesSold; + } + + public void setNumberOfSharesSold(long numberOfSharesSold) + { + this.numberOfSharesSold = numberOfSharesSold; + } + + + @Override + public int hashCode() + { + int hash = 0; + hash += (stockId != null ? stockId.hashCode() : 0); + return hash; + } + + @Override + public boolean equals(Object object) + { + // TODO: Warning - this method won't work in the case the id fields are not set + if (!(object instanceof Stock)) + { + return false; + } + Stock other = (Stock) object; + if ((this.stockId == null && other.stockId != null) || (this.stockId != null && !this.stockId.equals(other.stockId))) + { + return false; + } + return true; + } + + @Override + public String toString() + { + return "asdv.mp1_ajax.entities.Stock[ stockId=" + stockId + " ]"; + } + + + +} diff --git a/Semester 3/Assignments/params/src/main/java/utilities/UtilitiesDatabase.java b/Semester 3/Assignments/params/src/main/java/utilities/UtilitiesDatabase.java new file mode 100644 index 0000000..5121af2 --- /dev/null +++ b/Semester 3/Assignments/params/src/main/java/utilities/UtilitiesDatabase.java @@ -0,0 +1,111 @@ +/* + * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license + * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template + */ +package utilities; + +import jakarta.faces.application.FacesMessage; +import jakarta.faces.context.FacesContext; +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.SQLException; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.Iterator; + +public class UtilitiesDatabase +{ + public Connection connection( + String databaseName, + String userName, + String password, + String URL2 + ) throws SQLException, InstantiationException, + IllegalAccessException, ClassNotFoundException + { + Connection con; + try + {// Load Sun's jdbc driver + Class.forName(URL2).newInstance(); + System.out.println("JDBC Driver loaded!"); + } + catch (Exception e) // driver not found + { + System.err.println("Unable to load database driver"); + System.err.println("Details : " + e); + throw e; + } + String ip = "localhost"; //internet connection + String url = "jdbc:mysql://" + ip + ":8889/" + databaseName + "?useSSL=false"; + try + { + con = DriverManager.getConnection(url, userName, password); + con.setReadOnly(false); + } + catch (Exception e) + { + System.err.println(e.toString()); + throw e; + } + System.out.println("connection successfull"); + return con; + } + + public void closeDatabaseConnection(Connection con) + throws SQLException + { + try + { + if (con != null) + { + con.close(); + } + } + catch (SQLException e) + { + System.out.println(e); + e.printStackTrace(); + throw e; + } + } + + public static java.sql.Date stringDateToSqlDate(String sDate) + { + java.util.Date date = null; + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + try + { + date = sdf.parse(sDate); + } + catch (ParseException e) + { + e.printStackTrace(); + } + return new java.sql.Date(date.getTime()); + } + + public static java.util.Date stringDateToJavaUtilitiesDate(String sDate) + { + java.sql.Date sqldate = stringDateToSqlDate(sDate); + return new java.util.Date(sqldate.getTime()); + } + + + public static void addMessage(FacesMessage.Severity severity, String summary, String detail) + { + FacesMessage msg = new FacesMessage(severity, summary, detail); + FacesContext.getCurrentInstance().addMessage(null, msg); + } + + public static void clearAllMessages() + { + FacesContext context = FacesContext.getCurrentInstance(); + Iterator it = context.getMessages(); + while (it.hasNext()) + { + it.next(); + it.remove(); + } + } + +} diff --git a/Semester 3/Assignments/params/src/main/resources/META-INF/persistence.xml b/Semester 3/Assignments/params/src/main/resources/META-INF/persistence.xml new file mode 100644 index 0000000..7582bf1 --- /dev/null +++ b/Semester 3/Assignments/params/src/main/resources/META-INF/persistence.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/Semester 3/Assignments/params/src/main/webapp/WEB-INF/beans.xml b/Semester 3/Assignments/params/src/main/webapp/WEB-INF/beans.xml new file mode 100644 index 0000000..9dfae34 --- /dev/null +++ b/Semester 3/Assignments/params/src/main/webapp/WEB-INF/beans.xml @@ -0,0 +1,6 @@ + + + \ No newline at end of file diff --git a/Semester 3/Assignments/params/src/main/webapp/WEB-INF/glassfish-web.xml b/Semester 3/Assignments/params/src/main/webapp/WEB-INF/glassfish-web.xml new file mode 100644 index 0000000..673cc06 --- /dev/null +++ b/Semester 3/Assignments/params/src/main/webapp/WEB-INF/glassfish-web.xml @@ -0,0 +1,25 @@ + + + + + + + + Keep a copy of the generated servlet class' java code. + + + diff --git a/Semester 3/Assignments/params/src/main/webapp/WEB-INF/web.xml b/Semester 3/Assignments/params/src/main/webapp/WEB-INF/web.xml new file mode 100644 index 0000000..fcfcd54 --- /dev/null +++ b/Semester 3/Assignments/params/src/main/webapp/WEB-INF/web.xml @@ -0,0 +1,24 @@ + + + + jakarta.faces.PROJECT_STAGE + Development + + + Faces Servlet + jakarta.faces.webapp.FacesServlet + 1 + + + Faces Servlet + /faces/* + + + + 30 + + + + faces/index.xhtml + + diff --git a/Semester 3/Assignments/params/src/main/webapp/client-page.xhtml b/Semester 3/Assignments/params/src/main/webapp/client-page.xhtml new file mode 100644 index 0000000..c77de66 --- /dev/null +++ b/Semester 3/Assignments/params/src/main/webapp/client-page.xhtml @@ -0,0 +1,29 @@ + + + + + Client + + + + + +

Client's Page

+ page that called this page: #{clientBean.fromCallerUrlOfParent} +
+ stock id passed: #{clientBean.fromCallerStockId} +
+ #{clientBean.map} + +
+
+ + diff --git a/Semester 3/Assignments/params/src/main/webapp/index.xhtml b/Semester 3/Assignments/params/src/main/webapp/index.xhtml new file mode 100644 index 0000000..e7679fa --- /dev/null +++ b/Semester 3/Assignments/params/src/main/webapp/index.xhtml @@ -0,0 +1,84 @@ + + + + + MP1 Ajax + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ diff --git a/Semester 3/Assignments/templates4_2/nb-configuration.xml b/Semester 3/Assignments/templates4_2/nb-configuration.xml new file mode 100644 index 0000000..688a68d --- /dev/null +++ b/Semester 3/Assignments/templates4_2/nb-configuration.xml @@ -0,0 +1,21 @@ + + + + + + Facelets + ide + gfv700ee10 + JDK_15__System_ + + diff --git a/Semester 3/Assignments/templates4_2/pom.xml b/Semester 3/Assignments/templates4_2/pom.xml new file mode 100644 index 0000000..af4225c --- /dev/null +++ b/Semester 3/Assignments/templates4_2/pom.xml @@ -0,0 +1,48 @@ + + 4.0.0 + asdv + templates4_2 + 1 + war + templates4_2-1 + + + UTF-8 + 10.0.0 + + + + + jakarta.platform + jakarta.jakartaee-api + ${jakartaee} + provided + + + org.primefaces + primefaces + 10.0.0 + jakarta + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.8.1 + + 11 + 11 + + + + org.apache.maven.plugins + maven-war-plugin + 3.3.2 + + + + \ No newline at end of file diff --git a/Semester 3/Assignments/templates4_2/src/main/java/beans/Admin.java b/Semester 3/Assignments/templates4_2/src/main/java/beans/Admin.java new file mode 100644 index 0000000..c2c129a --- /dev/null +++ b/Semester 3/Assignments/templates4_2/src/main/java/beans/Admin.java @@ -0,0 +1,46 @@ +package beans; + +/* + * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license + * Click nbfs://nbhost/SystemFileSystem/Templates/JSF/JSFManagedBean.java to edit this template + */ + +import jakarta.inject.Named; +import jakarta.enterprise.context.RequestScoped; + +/** + * + * @author asdv5 + */ +@Named(value = "admin") +@RequestScoped +public class Admin { + + private String userName; + + private String password; + + public String getPassword() { + return password; + } + + public void setPassword(String password) { + this.password = password; + } + + + public String getUserName() { + return userName; + } + + public void setUserName(String userName) { + this.userName = userName; + } + + public String validate() + { + return "index"; + } + + +} diff --git a/Semester 3/Assignments/templates4_2/src/main/resources/META-INF/persistence.xml b/Semester 3/Assignments/templates4_2/src/main/resources/META-INF/persistence.xml new file mode 100644 index 0000000..7582bf1 --- /dev/null +++ b/Semester 3/Assignments/templates4_2/src/main/resources/META-INF/persistence.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/Semester 3/Assignments/templates4_2/src/main/webapp/WEB-INF/beans.xml b/Semester 3/Assignments/templates4_2/src/main/webapp/WEB-INF/beans.xml new file mode 100644 index 0000000..9dfae34 --- /dev/null +++ b/Semester 3/Assignments/templates4_2/src/main/webapp/WEB-INF/beans.xml @@ -0,0 +1,6 @@ + + + \ No newline at end of file diff --git a/Semester 3/Assignments/templates4_2/src/main/webapp/WEB-INF/glassfish-web.xml b/Semester 3/Assignments/templates4_2/src/main/webapp/WEB-INF/glassfish-web.xml new file mode 100644 index 0000000..673cc06 --- /dev/null +++ b/Semester 3/Assignments/templates4_2/src/main/webapp/WEB-INF/glassfish-web.xml @@ -0,0 +1,25 @@ + + + + + + + + Keep a copy of the generated servlet class' java code. + + + diff --git a/Semester 3/Assignments/templates4_2/src/main/webapp/WEB-INF/web.xml b/Semester 3/Assignments/templates4_2/src/main/webapp/WEB-INF/web.xml new file mode 100644 index 0000000..fcfcd54 --- /dev/null +++ b/Semester 3/Assignments/templates4_2/src/main/webapp/WEB-INF/web.xml @@ -0,0 +1,24 @@ + + + + jakarta.faces.PROJECT_STAGE + Development + + + Faces Servlet + jakarta.faces.webapp.FacesServlet + 1 + + + Faces Servlet + /faces/* + + + + 30 + + + + faces/index.xhtml + + diff --git a/Semester 3/Assignments/templates4_2/src/main/webapp/index.xhtml b/Semester 3/Assignments/templates4_2/src/main/webapp/index.xhtml new file mode 100644 index 0000000..658d935 --- /dev/null +++ b/Semester 3/Assignments/templates4_2/src/main/webapp/index.xhtml @@ -0,0 +1,55 @@ + + + + + + + + + + + + + + + + + + + + + + ASDV at SLCC + + + + + + + + + + + + + + + + + + + + We develop software with style... + + + + + + diff --git a/Semester 3/Assignments/templates4_2/src/main/webapp/resources/css/bottomStyle.css b/Semester 3/Assignments/templates4_2/src/main/webapp/resources/css/bottomStyle.css new file mode 100644 index 0000000..eeca699 --- /dev/null +++ b/Semester 3/Assignments/templates4_2/src/main/webapp/resources/css/bottomStyle.css @@ -0,0 +1,18 @@ +#bottom { + margin: 0px 0px 0px 0px; + text-align:center; + color: #ffffff; + + background-image: -webkit-gradient( + linear, + left top, + left bottom, + color-stop(0, blue), + color-stop(1, blue) + ); + background-image: -o-linear-gradient(bottom, blue 0%, #120205 100%); + background-image: -moz-linear-gradient(bottom, blue 0%, #120205 100%); + background-image: -webkit-linear-gradient(bottom, blue 0%, #120205 100%); + background-image: -ms-linear-gradient(bottom, blue 0%, #120205 100%); + background-image: linear-gradient(to bottom, blue 0%, #120205 100%); +} diff --git a/Semester 3/Assignments/templates4_2/src/main/webapp/resources/css/contentStyle.css b/Semester 3/Assignments/templates4_2/src/main/webapp/resources/css/contentStyle.css new file mode 100644 index 0000000..f505a90 --- /dev/null +++ b/Semester 3/Assignments/templates4_2/src/main/webapp/resources/css/contentStyle.css @@ -0,0 +1,3 @@ +#content { + background: white; +} diff --git a/Semester 3/Assignments/templates4_2/src/main/webapp/resources/css/cssLayout.css b/Semester 3/Assignments/templates4_2/src/main/webapp/resources/css/cssLayout.css new file mode 100644 index 0000000..9b22b84 --- /dev/null +++ b/Semester 3/Assignments/templates4_2/src/main/webapp/resources/css/cssLayout.css @@ -0,0 +1,51 @@ +#wrapper { + margin-left:auto; + margin-right:auto; +} + +#title { + position: relative; + margin: 1px 0px 0px 0px; +} + +#login_and_search { + position: relative; + margin: 0px 0px 5px 0px; +} + +#login { + float: left; + position: relative; +} + +#search { + float: right; + position: relative; +} + +#top { + position: relative; + overflow: hidden; + +} + +#bottom { + position: relative; +} + +#left { + float: left; +} + +#logo { + float: left; +} + +#right { + float: right; +} + +#content { + overflow: hidden; +} + diff --git a/Semester 3/Assignments/templates4_2/src/main/webapp/resources/css/default.css b/Semester 3/Assignments/templates4_2/src/main/webapp/resources/css/default.css new file mode 100644 index 0000000..6878f58 --- /dev/null +++ b/Semester 3/Assignments/templates4_2/src/main/webapp/resources/css/default.css @@ -0,0 +1,8 @@ + +body { + background-color: #fff; + font-size: 1em; + font-family: Verdana, "Verdana CE", Arial, "Arial CE", "Lucida Grande CE", lucida, "Helvetica CE", sans-serif; + color: #222; + margin: 2px; +} diff --git a/Semester 3/Assignments/templates4_2/src/main/webapp/resources/css/dummy.css b/Semester 3/Assignments/templates4_2/src/main/webapp/resources/css/dummy.css new file mode 100644 index 0000000..139597f --- /dev/null +++ b/Semester 3/Assignments/templates4_2/src/main/webapp/resources/css/dummy.css @@ -0,0 +1,2 @@ + + diff --git a/Semester 3/Assignments/templates4_2/src/main/webapp/resources/css/imageZoomStyle.css b/Semester 3/Assignments/templates4_2/src/main/webapp/resources/css/imageZoomStyle.css new file mode 100644 index 0000000..6f07773 --- /dev/null +++ b/Semester 3/Assignments/templates4_2/src/main/webapp/resources/css/imageZoomStyle.css @@ -0,0 +1,38 @@ + +* {box-sizing: border-box;} + + +.img-zoom-container { + position: relative; + z-index: 0; +} + +.img-zoom-lens { + position: absolute ; + border-radius: 30px; + + border: 1px solid #d4d4d4; + /*set the size of the lens:*/ + width: 40px; + height: 40px; + z-index: 10; + +} + +.img-zoom-result { + + border: 1px solid #d4d4d4; + /*set the size of the result div:*/ + width: 300px; + height: 300px; + position: relative; + z-index: 1; +} +.myDiv +{ + align: center; + padding: 30px; + margin: 10; + border-left: 10px solid navy; +} + diff --git a/Semester 3/Assignments/templates4_2/src/main/webapp/resources/css/leftStyle.css b/Semester 3/Assignments/templates4_2/src/main/webapp/resources/css/leftStyle.css new file mode 100644 index 0000000..aaafa7d --- /dev/null +++ b/Semester 3/Assignments/templates4_2/src/main/webapp/resources/css/leftStyle.css @@ -0,0 +1,22 @@ +#left { + + background-image: -webkit-gradient( + linear, + left top, + left bottom, + color-stop(0, #2D4A37), + color-stop(1, #789480) + ); + background-image: -o-linear-gradient(bottom, #2D4A37 0%, #789480 100%); + background-image: -moz-linear-gradient(bottom, #2D4A37 0%, #789480 100%); + background-image: -webkit-linear-gradient(bottom, #2D4A37 0%, #789480 100%); + background-image: -ms-linear-gradient(bottom, #2D4A37 0%, #789480 100%); + background-image: linear-gradient(to bottom, #2D4A37 0%, #789480 100%); + -moz-box-shadow: 0px 0px 15px 3px #333333; + -webkit-box-shadow: 0px 0px 15px 3px #333333; + box-shadow: 0px 0px 15px 3px #333333; + + text-align:left; + padding-left:10px; + margin-right: 5px; +} diff --git a/Semester 3/Assignments/templates4_2/src/main/webapp/resources/css/loginStyle.css b/Semester 3/Assignments/templates4_2/src/main/webapp/resources/css/loginStyle.css new file mode 100644 index 0000000..dc54e57 --- /dev/null +++ b/Semester 3/Assignments/templates4_2/src/main/webapp/resources/css/loginStyle.css @@ -0,0 +1,65 @@ +.inputs { + -moz-border-radius: 5px; + -webkit-border-radius: 5px; + background-color: #222; + background: -moz-linear-gradient(top, #FFF, #EAEAEA); + background: -webkit-gradient(linear, left top, left bottom, color-stop(0.0, #FFF), color-stop(1.0, #EAEAEA)); + border: 1px solid #CACACA; + color: #444; + font-size: 1.1em; + margin: 0px 10px 0px 0px; + padding-left: 2px; + width:200px; +} +.inputs:focus { + color: #ffffff; + background: #cc0000; + -webkit-box-shadow: 0 0 25px #CCC; + -moz-box-shadow: 0 0 25px #cccc00; + box-shadow: 0 0 25px #CCCC00; + -webkit-transform: scale(1.05); + -moz-transform: scale(1.05); + transform: scale(1.05); +} + +.lbutton { + -moz-box-shadow: 4px 7px 13px -7px #276873; + -webkit-box-shadow: 4px 7px 13px -7px #276873; + box-shadow: 4px 7px 13px -7px #276873; + background:-webkit-gradient(linear, left top, left bottom, color-stop(0.05, #171717), color-stop(1, #d92323)); + background:-moz-linear-gradient(top, #171717 5%, #222 100%); + background:-webkit-linear-gradient(top, #171717 5%, #222 100%); + background:-o-linear-gradient(top, #171717 5%, #222 100%); + background:-ms-linear-gradient(top, #171717 5%, #222 100%); + background:linear-gradient(to bottom, #171717 5%, #222 100%); + filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#171717', endColorstr='#d92323',GradientType=0); + background-color:#222; + -moz-border-radius:17px; + -webkit-border-radius:17px; + border-radius:17px; + display:inline-block; + cursor:pointer; + color:#ffffff; + font-family:arial; + font-size:12px; + font-weight:bold; + padding:2px 12px; + text-decoration:none; + text-shadow:0px 1px 0px #3d768a; +} +.lbutton:hover { + background:-webkit-gradient(linear, left top, left bottom, color-stop(0.05, #222), color-stop(1, #171717)); + background:-moz-linear-gradient(top, #00f 5%, #222 100%); + background:-webkit-linear-gradient(top, 00f 5%, #222 100%); + background:-o-linear-gradient(top, #00f 5%, #222 100%); + background:-ms-linear-gradient(top, #00f 5%, #222 100%); + background:linear-gradient(to bottom, #00f 5%, #222 100%); + filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#d92323', endColorstr='#222',GradientType=0); + background-color:#222; +} +.lbutton:active { + position:relative; + top:1px; +} + + diff --git a/Semester 3/Assignments/templates4_2/src/main/webapp/resources/css/login_and_searchStyle.css b/Semester 3/Assignments/templates4_2/src/main/webapp/resources/css/login_and_searchStyle.css new file mode 100644 index 0000000..72a21f3 --- /dev/null +++ b/Semester 3/Assignments/templates4_2/src/main/webapp/resources/css/login_and_searchStyle.css @@ -0,0 +1,5 @@ +#login_and_search { + height:20px; + background-color: white; + padding: 10px; +} diff --git a/Semester 3/Assignments/templates4_2/src/main/webapp/resources/css/logoStyle.css b/Semester 3/Assignments/templates4_2/src/main/webapp/resources/css/logoStyle.css new file mode 100644 index 0000000..31f9e01 --- /dev/null +++ b/Semester 3/Assignments/templates4_2/src/main/webapp/resources/css/logoStyle.css @@ -0,0 +1,7 @@ +#logo { + background-image:url("#{resource['images/site/logo.png']}"); + margin-right: 0px; + width:80px; + height:120px; + +} diff --git a/Semester 3/Assignments/templates4_2/src/main/webapp/resources/css/menuStyle.css b/Semester 3/Assignments/templates4_2/src/main/webapp/resources/css/menuStyle.css new file mode 100644 index 0000000..b78b55b --- /dev/null +++ b/Semester 3/Assignments/templates4_2/src/main/webapp/resources/css/menuStyle.css @@ -0,0 +1,37 @@ +#menu { + white-space: nowrap; + height: 28px; + width:100%; + background: #fff url("#{resource['images/site/menu.png']}") bottom center ; + margin-bottom: 5px; +} + +#menu ul { + margin: 0; + padding: 0; + list-style:none; + float:left; +} + +#menu li { + float: left; + margin: 0 3px 0 3px; + padding: 0; + background: transparent; +} + +#menu a { + font-family: Arial, Helvetica, sans-serif; + font-size: 15px; + font-weight: normal; + float:left; + display:block; + height: 26px; + line-height: 24px; + padding: 2px 10px 0 10px; + color: #cccc00; + text-decoration: none; + background: transparent; + +} + \ No newline at end of file diff --git a/Semester 3/Assignments/templates4_2/src/main/webapp/resources/css/rightStyle.css b/Semester 3/Assignments/templates4_2/src/main/webapp/resources/css/rightStyle.css new file mode 100644 index 0000000..4c5502a --- /dev/null +++ b/Semester 3/Assignments/templates4_2/src/main/webapp/resources/css/rightStyle.css @@ -0,0 +1,5 @@ +#right { + background-color: #FA0519; + text-align:center; + margin-left: 5px; +} diff --git a/Semester 3/Assignments/templates4_2/src/main/webapp/resources/css/searchStyle.css b/Semester 3/Assignments/templates4_2/src/main/webapp/resources/css/searchStyle.css new file mode 100644 index 0000000..57e52f1 --- /dev/null +++ b/Semester 3/Assignments/templates4_2/src/main/webapp/resources/css/searchStyle.css @@ -0,0 +1,3 @@ +#search { + color: #ffffff; +} diff --git a/Semester 3/Assignments/templates4_2/src/main/webapp/resources/css/stylesLinks.css b/Semester 3/Assignments/templates4_2/src/main/webapp/resources/css/stylesLinks.css new file mode 100644 index 0000000..eef30a3 --- /dev/null +++ b/Semester 3/Assignments/templates4_2/src/main/webapp/resources/css/stylesLinks.css @@ -0,0 +1,67 @@ + +a { + font-family: Arial, Helvetica, sans-serif; + font-size: 15px; + font-weight: normal; + float:left; + display:block; + height: 26px; + line-height: 24px; + padding: 2px 10px 0 10px; + color: #cccc00; + text-decoration:#A3979A; + background-color: white; + border: white; + padding: 0px +} +a.hover { + float: left; + font-family: Arial, Helvetica, sans-serif; + font-size: 15px; + font-weight: normal; + float:left; + display:block; + height: 26px; + line-height: 24px; + color: #cccc00; + text-decoration: none; + + background-color: white; + border: white; + padding: 0px +} + +.menus +{ + font-family: Arial, Helvetica, sans-serif; + font-size: 15px; + font-weight: normal; + float:right; + + + color: #cccc00; + text-decoration:#A3979A; + background-color: white; + border: white; + padding: 0px ; + margin-top: 0px; + margin-right: 0px; + margin-bottom: 0px; + margin-left: 0px; +} + + .affaires .ui-menuitem-text{color:#cccc00; + decoration: bold, italic; + + } + .affaires .ui-menu-child{background: white; mouseover: #000; + background-color: #A80000;} + .affaires .ui-menubar{mouseover: #000; + background-color: #A80000;} + .affaires .ui-state-hover {} + + a.active { + color: #D09d23; + font-weight: bold; + background-color : #c7c3c3; +} \ No newline at end of file diff --git a/Semester 3/Assignments/templates4_2/src/main/webapp/resources/css/titleStyle.css b/Semester 3/Assignments/templates4_2/src/main/webapp/resources/css/titleStyle.css new file mode 100644 index 0000000..e02c1b8 --- /dev/null +++ b/Semester 3/Assignments/templates4_2/src/main/webapp/resources/css/titleStyle.css @@ -0,0 +1,9 @@ +#title { + background: white; + color:blue; + text-align:center; + font-size: 38px; + font-weight: bold; +} + + diff --git a/Semester 3/Assignments/templates4_2/src/main/webapp/resources/css/topPhones.css b/Semester 3/Assignments/templates4_2/src/main/webapp/resources/css/topPhones.css new file mode 100644 index 0000000..c0407a9 --- /dev/null +++ b/Semester 3/Assignments/templates4_2/src/main/webapp/resources/css/topPhones.css @@ -0,0 +1,14 @@ +#topPhones { + color: #cc0000; + font-family: 'Arial Black', Gadget, sans-serif; + font-size: 15px; + text-align: center; + height:120px; + text-shadow: 0 0 4px rgb(255, 255, 255), + 0 -5px 4px rgb(255, 255, 51), + 2px -10px 6px rgb(255, 221, 51), + -2px -15px 11px rgb(255, 136, 0), + 2px -25px 18px rgb(255, 34, 0); + background: white; + +} diff --git a/Semester 3/Assignments/templates4_2/src/main/webapp/resources/css/topStyle.css b/Semester 3/Assignments/templates4_2/src/main/webapp/resources/css/topStyle.css new file mode 100644 index 0000000..90fbd35 --- /dev/null +++ b/Semester 3/Assignments/templates4_2/src/main/webapp/resources/css/topStyle.css @@ -0,0 +1,8 @@ +#top { + color: blue; + font-family: 'Zapfino', Gadget, sans-serif; + font-size: 36px; + text-align: center; + height:120px; + background: white; +} diff --git a/Semester 3/Assignments/templates4_2/src/main/webapp/resources/css/zoomcss.css b/Semester 3/Assignments/templates4_2/src/main/webapp/resources/css/zoomcss.css new file mode 100644 index 0000000..c93db05 --- /dev/null +++ b/Semester 3/Assignments/templates4_2/src/main/webapp/resources/css/zoomcss.css @@ -0,0 +1,24 @@ + +* {margin: 0; padding: 0;} +.magnify {width: 200px; margin: 50px auto; position: relative;} + +/*Lets create the magnifying glass*/ +.large { + width: 175px; height: 175px; + position: absolute; + border-radius: 100%; + + /*Multiple box shadows to achieve the glass effect*/ + box-shadow: 0 0 0 7px rgba(255, 255, 255, 0.85), + 0 0 7px 7px rgba(0, 0, 0, 0.25), + inset 0 0 40px 2px rgba(0, 0, 0, 0.25); + + /*Lets load up the large image first*/ + background: url('#{itemsBean.curImage}') no-repeat; + + /*hide the glass by default*/ + display: none; +} + +/*To solve overlap bug at the edges during magnification*/ +.small { display: block; } diff --git a/Semester 3/Assignments/templates4_2/src/main/webapp/resources/images/photos_original/iPhone11.png b/Semester 3/Assignments/templates4_2/src/main/webapp/resources/images/photos_original/iPhone11.png new file mode 100644 index 0000000000000000000000000000000000000000..941b73e71a2fe9b74b334c215e7e2a20dc83512c GIT binary patch literal 152146 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 literal 0 HcmV?d00001 diff --git a/Semester 3/Assignments/templates4_2/src/main/webapp/resources/images/photos_original/sumsung.jpg b/Semester 3/Assignments/templates4_2/src/main/webapp/resources/images/photos_original/sumsung.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5d80cffa8ed0154755de750c25ca48a71d6226a4 GIT binary patch literal 36876 zcmbTc1z23m(k{Gk2$mqhC1`?s7@QEC;O_1|xCTgo;1VQg2p%lBTaW>Q1RXrU-~?x| zAa{~|&fe#I&;9Sc&)+lC^RBAu>ZCO!64E|) z)&TJ86~F=j049JGVF#ch5JChXM|=PP`6KebDM+6`qWq23e>3m*0YOz;7Y`S(t&1xy zF9#PO_(J{_>TeB*@&_~ife)vsV&>w38q}TFSm{46Uj*H+VQkAwNtvjstH{VJN&hhl zW7f>o)e)H%0GymX+|^}Y(CX^x(_+j4$N(9Djj#vX%mVBxsj8~`I-mJt zJ21)qzvus#@c+EPwzL9UAe_fUFkCFb7ETE40|01Q7Ow6d0DwV+pbL6?xcK~8zp>3<7{LRG%>TlXe`GY(r4TY%2#jZ8Yi5bSU_zt{ou`AABmyIH30cnCT}BIm5qgl_Z9V1w zjWhggHFXg5#|ZjYXLDthf3=;p081fa3D6t`$V+s@zgVS6(LRRl(4HOiWm zqwH^aL|-U3t{$rYvH_La*-`m-zlgq2Us{3x_>0hkO6_5*DTkmV`bBm0aM%1-Ths(= zI~n)Nka7S>g0Xx7EL9s$`tq>F|#MQrL*#EQx0}cqf z9pLqc2S(JYeYxyyg(G`NtQRfB653^6!zdLyV})f64vN zvG})?B*Ih2KP{aQQLsb!Z1o>Lv;U_KNI)CuKfO((HW^OhKmx3t6UhIe{*HoGgz~vE z5X$xsl?%$X&o#}J$5p_!hmwp^kJ66PjM9QK4A7!

(5kqV%Iwp|t)j|9{G%zsDZ< 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 literal 0 HcmV?d00001 diff --git a/Semester 3/Assignments/templates4_2/src/main/webapp/templates/default_templates.zip b/Semester 3/Assignments/templates4_2/src/main/webapp/templates/default_templates.zip new file mode 100644 index 0000000000000000000000000000000000000000..f57d699857fd1dc4f35f8d8632a1a805b0933707 GIT binary patch literal 5118 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 literal 0 HcmV?d00001 diff --git a/Semester 3/Assignments/templates4_2/src/main/webapp/templates/default_templates/bottomDefault.xhtml b/Semester 3/Assignments/templates4_2/src/main/webapp/templates/default_templates/bottomDefault.xhtml new file mode 100644 index 0000000..1925805 --- /dev/null +++ b/Semester 3/Assignments/templates4_2/src/main/webapp/templates/default_templates/bottomDefault.xhtml @@ -0,0 +1,12 @@ + + + + + + +

This is default footer

+ + + diff --git a/Semester 3/Assignments/templates4_2/src/main/webapp/templates/default_templates/contentDefault.xhtml b/Semester 3/Assignments/templates4_2/src/main/webapp/templates/default_templates/contentDefault.xhtml new file mode 100644 index 0000000..81c4495 --- /dev/null +++ b/Semester 3/Assignments/templates4_2/src/main/webapp/templates/default_templates/contentDefault.xhtml @@ -0,0 +1,12 @@ + + + + + + + This is default content + + + diff --git a/Semester 3/Assignments/templates4_2/src/main/webapp/templates/default_templates/leftDefault.xhtml b/Semester 3/Assignments/templates4_2/src/main/webapp/templates/default_templates/leftDefault.xhtml new file mode 100644 index 0000000..2d55e25 --- /dev/null +++ b/Semester 3/Assignments/templates4_2/src/main/webapp/templates/default_templates/leftDefault.xhtml @@ -0,0 +1,12 @@ + + + + + + + This is default left side + + + diff --git a/Semester 3/Assignments/templates4_2/src/main/webapp/templates/default_templates/loginDefault.xhtml b/Semester 3/Assignments/templates4_2/src/main/webapp/templates/default_templates/loginDefault.xhtml new file mode 100644 index 0000000..b1dd7a8 --- /dev/null +++ b/Semester 3/Assignments/templates4_2/src/main/webapp/templates/default_templates/loginDefault.xhtml @@ -0,0 +1,12 @@ + + + + + + + Default Login Section + + + diff --git a/Semester 3/Assignments/templates4_2/src/main/webapp/templates/default_templates/logoDefault.xhtml b/Semester 3/Assignments/templates4_2/src/main/webapp/templates/default_templates/logoDefault.xhtml new file mode 100644 index 0000000..594aad6 --- /dev/null +++ b/Semester 3/Assignments/templates4_2/src/main/webapp/templates/default_templates/logoDefault.xhtml @@ -0,0 +1,12 @@ + + + + + + +

LOGO

+
+
+ diff --git a/Semester 3/Assignments/templates4_2/src/main/webapp/templates/default_templates/menuDefault.xhtml b/Semester 3/Assignments/templates4_2/src/main/webapp/templates/default_templates/menuDefault.xhtml new file mode 100644 index 0000000..108f375 --- /dev/null +++ b/Semester 3/Assignments/templates4_2/src/main/webapp/templates/default_templates/menuDefault.xhtml @@ -0,0 +1,22 @@ + + + + + + + +
    + +
  • + +
  • +
    +
+
+
+
+ diff --git a/Semester 3/Assignments/templates4_2/src/main/webapp/templates/default_templates/rightDefault.xhtml b/Semester 3/Assignments/templates4_2/src/main/webapp/templates/default_templates/rightDefault.xhtml new file mode 100644 index 0000000..9aabcc8 --- /dev/null +++ b/Semester 3/Assignments/templates4_2/src/main/webapp/templates/default_templates/rightDefault.xhtml @@ -0,0 +1,12 @@ + + + + + + + This is default right side + + + diff --git a/Semester 3/Assignments/templates4_2/src/main/webapp/templates/default_templates/searchDefault.xhtml b/Semester 3/Assignments/templates4_2/src/main/webapp/templates/default_templates/searchDefault.xhtml new file mode 100644 index 0000000..80b6c4b --- /dev/null +++ b/Semester 3/Assignments/templates4_2/src/main/webapp/templates/default_templates/searchDefault.xhtml @@ -0,0 +1,12 @@ + + + + + + + Default Search Section + + + diff --git a/Semester 3/Assignments/templates4_2/src/main/webapp/templates/default_templates/titleDefault.xhtml b/Semester 3/Assignments/templates4_2/src/main/webapp/templates/default_templates/titleDefault.xhtml new file mode 100644 index 0000000..7c9eeb4 --- /dev/null +++ b/Semester 3/Assignments/templates4_2/src/main/webapp/templates/default_templates/titleDefault.xhtml @@ -0,0 +1,12 @@ + + + + + + + This is default title + + + diff --git a/Semester 3/Assignments/templates4_2/src/main/webapp/templates/default_templates/topDefault.xhtml b/Semester 3/Assignments/templates4_2/src/main/webapp/templates/default_templates/topDefault.xhtml new file mode 100644 index 0000000..f1b76a0 --- /dev/null +++ b/Semester 3/Assignments/templates4_2/src/main/webapp/templates/default_templates/topDefault.xhtml @@ -0,0 +1,12 @@ + + + + + + +

This is default header

+
+
+ diff --git a/Semester 3/Assignments/templates4_2/src/main/webapp/templates/layout_templates/layout.xhtml b/Semester 3/Assignments/templates4_2/src/main/webapp/templates/layout_templates/layout.xhtml new file mode 100644 index 0000000..1879ae3 --- /dev/null +++ b/Semester 3/Assignments/templates4_2/src/main/webapp/templates/layout_templates/layout.xhtml @@ -0,0 +1,88 @@ + + + + + + + Layout Template + + + + + + + + + + + Layout Template + + + +
+ +
+ + + +
+
+ + + + +
+ + + +
+ + + +
+
+
+ +
+ + + +
+
+
+
+ diff --git a/Semester 3/Assignments/templatesMatricesSample.zip b/Semester 3/Assignments/templatesMatricesSample.zip new file mode 100644 index 0000000000000000000000000000000000000000..ec869c403e40c276d09229570c6926c54caa9f11 GIT binary patch literal 48563 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 + + + + + 10-web + gfv700ee10 + JSP + ide + + diff --git a/Semester 3/Assignments/templatesMatricesSample/pom.xml b/Semester 3/Assignments/templatesMatricesSample/pom.xml new file mode 100644 index 0000000..a4920f9 --- /dev/null +++ b/Semester 3/Assignments/templatesMatricesSample/pom.xml @@ -0,0 +1,83 @@ + + 4.0.0 + edu.slcc.asdv + TemplatesMatricesSample + 1 + war + TemplatesMatricesSample + + + 11 + ${project.build.directory}/endorsed + UTF-8 + false + 9.1.0 + + + + + jakarta.platform + jakarta.jakartaee-api + ${jakartaee} + provided + + + org.primefaces + primefaces + 12.0.0 + jakarta + + + org.apache.poi + poi + 5.2.2 + jar + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.10.1 + + + -Djava.endorsed.dirs=${endorsed.dir} + + + + + org.apache.maven.plugins + maven-war-plugin + 3.3.2 + + + org.apache.maven.plugins + maven-dependency-plugin + 3.3.0 + + + validate + + copy + + + ${endorsed.dir} + true + + + jakarta.platform + jakarta.jakartaee-api + ${jakartaee} + jar + + + + + + + + + diff --git a/Semester 3/Assignments/templatesMatricesSample/src/main/java/edu/slcc/asdv/beans/MatrixBeanA.java b/Semester 3/Assignments/templatesMatricesSample/src/main/java/edu/slcc/asdv/beans/MatrixBeanA.java new file mode 100644 index 0000000..c2f6b2e --- /dev/null +++ b/Semester 3/Assignments/templatesMatricesSample/src/main/java/edu/slcc/asdv/beans/MatrixBeanA.java @@ -0,0 +1,48 @@ +/* + * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license + * Click nbfs://nbhost/SystemFileSystem/Templates/JSF/JSFManagedBean.java to edit this template + */ +package edu.slcc.asdv.beans; + +import jakarta.inject.Named; +import jakarta.faces.view.ViewScoped; +import java.io.Serializable; +import java.util.ArrayList; + +/** + * + * @author A. V. Markou + */ +@Named(value = "matrixBeanA") +@ViewScoped +public class MatrixBeanA implements Serializable +{ + ArrayList> matrix = new ArrayList>(); + + public MatrixBeanA() + { + ArrayList row1 = new ArrayList(); + ArrayList row2 = new ArrayList(); + row1.add("1"); + row1.add("1"); + row2.add("3"); + row2.add("2"); + matrix = new ArrayList>(); + matrix.add(row1); + matrix.add(row2); + } + + public void listenForKeyUp(int i, int j, String input) + { + System.out.println("i=" + i); + System.out.println("j=" + j); + System.out.println("input=" + input); + matrix.get(i).set(j, input); + + } + + public ArrayList> getMatrix() + { + return matrix; + } +} diff --git a/Semester 3/Assignments/templatesMatricesSample/src/main/java/edu/slcc/asdv/beans/MatrixBeanB.java b/Semester 3/Assignments/templatesMatricesSample/src/main/java/edu/slcc/asdv/beans/MatrixBeanB.java new file mode 100644 index 0000000..ed76c94 --- /dev/null +++ b/Semester 3/Assignments/templatesMatricesSample/src/main/java/edu/slcc/asdv/beans/MatrixBeanB.java @@ -0,0 +1,50 @@ +/* + * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license + * Click nbfs://nbhost/SystemFileSystem/Templates/JSF/JSFManagedBean.java to edit this template + */ +package edu.slcc.asdv.beans; + +import jakarta.inject.Named; +import jakarta.faces.view.ViewScoped; +import java.io.Serializable; +import java.util.ArrayList; +import java.util.Arrays; +import org.primefaces.PrimeFaces; + +/** + * + * @author A. V. Markou + */ +@Named(value = "matrixBeanB") +@ViewScoped +public class MatrixBeanB implements Serializable +{ + + ArrayList> matrix = new ArrayList>(); + + public MatrixBeanB() + { + ArrayList row1 = new ArrayList(); + ArrayList row2 = new ArrayList(); + row1.add("4"); + row1.add("5"); + row2.add("6"); + row2.add("7"); + matrix = new ArrayList>(); + matrix.add(row1); + matrix.add(row2); + } + + public void listenForKeyUp(int i, int j, String input) + { + System.out.println("i=" + i); + System.out.println("j=" + j); + System.out.println("input=" + input); + matrix.get(i).set(j, input); + } + + public ArrayList> getMatrix() + { + return matrix; + } +} diff --git a/Semester 3/Assignments/templatesMatricesSample/src/main/java/edu/slcc/asdv/beans/MatrixBeanC.java b/Semester 3/Assignments/templatesMatricesSample/src/main/java/edu/slcc/asdv/beans/MatrixBeanC.java new file mode 100644 index 0000000..8d1c8e2 --- /dev/null +++ b/Semester 3/Assignments/templatesMatricesSample/src/main/java/edu/slcc/asdv/beans/MatrixBeanC.java @@ -0,0 +1,49 @@ +/* + * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license + * Click nbfs://nbhost/SystemFileSystem/Templates/JSF/JSFManagedBean.java to edit this template + */ +package edu.slcc.asdv.beans; + +import jakarta.inject.Named; +import jakarta.faces.view.ViewScoped; +import java.io.Serializable; +import java.util.ArrayList; +import java.util.Arrays; + +/** + * + * @author A. V. Markou + */ +@Named(value = "matrixBeanC") +@ViewScoped +public class MatrixBeanC implements Serializable +{ + + ArrayList> matrix = new ArrayList>(); + + + public MatrixBeanC() + { + ArrayList row1 = new ArrayList(); + ArrayList row2 = new ArrayList(); + row1.add("-1"); + row1.add("-1"); + row2.add("-1"); + row2.add("-1"); + matrix = new ArrayList>(); + matrix.add(row1); + matrix.add(row2); + } + public ArrayList> getMatrix() + { + return matrix; + } + public void setMatrixC(ArrayList> matrix) + { + this.matrix = matrix; + } + + + + +} diff --git a/Semester 3/Assignments/templatesMatricesSample/src/main/java/edu/slcc/asdv/beans/MatrixOperations.java b/Semester 3/Assignments/templatesMatricesSample/src/main/java/edu/slcc/asdv/beans/MatrixOperations.java new file mode 100644 index 0000000..659348f --- /dev/null +++ b/Semester 3/Assignments/templatesMatricesSample/src/main/java/edu/slcc/asdv/beans/MatrixOperations.java @@ -0,0 +1,87 @@ +/* + * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license + * Click nbfs://nbhost/SystemFileSystem/Templates/JSF/JSFManagedBean.java to edit this template + */ +package edu.slcc.asdv.beans; + +import jakarta.inject.Named; +import jakarta.faces.view.ViewScoped; +import jakarta.inject.Inject; +import java.io.Serializable; +import java.math.BigInteger; +import java.util.ArrayList; + +/** + * + * @author A. V. Markou + */ +@Named(value = "matrixOperations") +@ViewScoped +public class MatrixOperations implements Serializable +{ + + @Inject + MatrixBeanA matrixA; + @Inject + MatrixBeanB matrixB; + + @Inject + MatrixBeanC matrixC; + + edu.slcc.asdv.bl.Matrices matrixManipulator = new edu.slcc.asdv.bl.Matrices(); + + public String add(){ + ArrayList> a = convertToBigInteger(matrixA.getMatrix()); + ArrayList> b = convertToBigInteger(matrixA.getMatrix()); + ArrayList> c = new ArrayList>(); + c = convertToString(matrixManipulator.addParallel(a, b)); + matrixC.setMatrixC( c ); + return ""; + } + + public String multiply() { + ArrayList> a = convertToBigInteger(matrixA.getMatrix()); + ArrayList> b = convertToBigInteger(matrixA.getMatrix()); + ArrayList> c = new ArrayList>(); + c = convertToString(matrixManipulator.multiplyParallel(a, b)); + matrixC.setMatrixC( c ); + return "";} + + + public MatrixBeanC getMatrixC(){return this.matrixC;} + + public MatrixBeanA getMatrixA(){return matrixA;} + + public MatrixBeanB getMatrixB(){return matrixB;} + + public ArrayList> convertToBigInteger(ArrayList> matrix) { + ArrayList> bigInt2DArray = new ArrayList<>(); + + for (int i = 0; i < matrix.size(); i++) { + ArrayList columnArray = new ArrayList(); + for (int j = 0; j < matrix.get(i).size(); j++) { + String cellValue = matrix.get(i).get(j); + columnArray.add(new BigInteger(cellValue)); + } + bigInt2DArray.add(columnArray); + } + + return bigInt2DArray; + } + + public ArrayList> convertToString(ArrayList> matrix) { + int numRows = matrix.size(); + int numCols = matrix.get(0).size(); + ArrayList> string2DArray = new ArrayList<>(); + for (int i = 0; i < matrix.size(); ++i) { + ArrayList columnArray = new ArrayList<>(); + for (int j = 0; j < matrix.get(i).size(); ++j) { + BigInteger cellValue = matrix.get(i).get(j); + columnArray.add(cellValue.toString()); + } + string2DArray.add(columnArray); + } + return string2DArray; + } + +} diff --git a/Semester 3/Assignments/templatesMatricesSample/src/main/java/edu/slcc/asdv/beans/MenuBar.java b/Semester 3/Assignments/templatesMatricesSample/src/main/java/edu/slcc/asdv/beans/MenuBar.java new file mode 100644 index 0000000..d9fb89e --- /dev/null +++ b/Semester 3/Assignments/templatesMatricesSample/src/main/java/edu/slcc/asdv/beans/MenuBar.java @@ -0,0 +1,78 @@ +/* + * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license + * Click nbfs://nbhost/SystemFileSystem/Templates/JSF/JSFManagedBean.java to edit this template + */ +package edu.slcc.asdv.beans; + +import jakarta.faces.application.FacesMessage; +import jakarta.faces.application.FacesMessage.Severity; +import jakarta.faces.context.FacesContext; +import jakarta.inject.Named; +import jakarta.faces.view.ViewScoped; +import jakarta.inject.Inject; +import java.io.Serializable; +import java.util.ArrayList; +import java.util.List; +import org.primefaces.PrimeFaces; + +@Named(value = "menuBar") +@ViewScoped +public class MenuBar implements Serializable +{ + @Inject + MatrixOperations matrixOperations; + private List> menus = new ArrayList>(); + + public void add() + { + System.out.println("menu add was called"); + + System.out.println("menu bar add()"); + matrixOperations.add();///adition of matrices + System.out.println(matrixOperations.getMatrixC()); + + List idsC = new ArrayList(); + idsC.add("formC"); + idsC.add("formC:datatableC"); + idsC.add("formC:datatableC:columnsC"); + idsC.add("formC:datatableC:columnsC:inputTextC"); + //idsC.add("form-menu");//:menuBar:submenu_matrices:menuitem_add"); + PrimeFaces.current().ajax().update(idsC); + + } + + public void multiply() + { + System.out.println("menu multiply was called"); + + System.out.println("menu bar multiply()"); + matrixOperations.multiply();///adition of matrices + System.out.println(matrixOperations.getMatrixC()); + + List idsC = new ArrayList(); + idsC.add("formC"); + idsC.add("formC:datatableC"); + idsC.add("formC:datatableC:columnsC"); + idsC.add("formC:datatableC:columnsC:inputTextC"); + //idsC.add("form-menu");//:menuBar:submenu_matrices:menuitem_add"); + PrimeFaces.current().ajax().update(idsC); + } + + public void subtract() + { + message( + FacesMessage.SEVERITY_INFO, + "Not implemented.", "To be implemented." + ); + } + + + + + + public void message(Severity severity, String msg, String msgDetails) + { + FacesMessage m = new FacesMessage(severity, msg, msgDetails); + FacesContext.getCurrentInstance().addMessage("msg", m); + } +} diff --git a/Semester 3/Assignments/templatesMatricesSample/src/main/java/edu/slcc/asdv/bl/Matrices.java b/Semester 3/Assignments/templatesMatricesSample/src/main/java/edu/slcc/asdv/bl/Matrices.java new file mode 100644 index 0000000..cdc428a --- /dev/null +++ b/Semester 3/Assignments/templatesMatricesSample/src/main/java/edu/slcc/asdv/bl/Matrices.java @@ -0,0 +1,265 @@ +package edu.slcc.asdv.bl; + +import java.math.BigInteger; +import java.util.ArrayList; +import java.util.concurrent.ForkJoinPool; +import java.util.concurrent.RecursiveTask; + +/** + * + * @author A. V. Markou + */ +public class Matrices implements Matrix +{ + + + @Override + public ArrayList> addParallel(ArrayList> A, ArrayList> B) + { + RecursiveTask>> rt + = new Matrices.MatricesAddition(0, A.size() - 1, A, B); + ForkJoinPool pool = new ForkJoinPool(); + ArrayList> result = pool.invoke(rt); + return result; + } + + @Override + public ArrayList> multiplyParallel(ArrayList> A, ArrayList> B) + { + RecursiveTask>> rt + = new Matrices.MatricesMultiplication(0, A.size() - 1, A, B); + ForkJoinPool pool = new ForkJoinPool(); + ArrayList> result = pool.invoke(rt); + return result; + } + + + + + + + static class MatricesAddition extends RecursiveTask>> + { + + ArrayList> A; + ArrayList> B; + ArrayList> AplusB; + final int HOW_MANY_ROWS_IN_PARALLEL = 100;//threshold + int startIndex; + int endIndex; + + public MatricesAddition(int startIndex, int endIndex, + ArrayList> A, + ArrayList> B) + { + this.startIndex = startIndex;//start at this row of the matrix + this.endIndex = endIndex;//end at this row of the matrix + this.A = A; + this.B = B; + AplusB = new ArrayList>(); + + } + + @Override + protected ArrayList> compute() + { + //>>This is the addition of matrices in the IF. + //That is, HOW_MANY_ROWS_IN_PARALLEL from matrix A and HOW_MANY_ROWS_IN_PARALLEL from matrix B + if (this.endIndex - this.startIndex < HOW_MANY_ROWS_IN_PARALLEL) + { + ArrayList> resultC = new ArrayList>(); + for (int i = this.startIndex; i <= this.endIndex; ++i) + { + //>create a new row to add it to the resulting matrix resultC + ArrayList rowAplusB = new ArrayList(); + + for (int j = 0; j < A.get(0).size(); j++) + + //>get the Ith row from A and the Ith row from B and + //and add all the Jth entries from each row + { + BigInteger x = A.get(i).get(j); + BigInteger y = B.get(i).get(j); + BigInteger z = x.add(y); + + rowAplusB.add(z); + } + resultC.add(rowAplusB); + } + return resultC; + } + else + { //>> keep on FORKING the matrix until the + //side of the matric is equal or less to HOW_MANY_ROWS_IN_PARALLEL + + int mid = (this.endIndex + this.startIndex) / 2; + RecursiveTask>> firstHalf + = new MatricesAddition(this.startIndex, mid, A, B); + + RecursiveTask>> secondHalf + = new MatricesAddition(mid + 1, this.endIndex, A, B); + + firstHalf.fork();//this line will invoke method compute + secondHalf.fork();///this line will invoke method compute + + //>> join what the FORKs returned from the IFs + AplusB.addAll(firstHalf.join()); + AplusB.addAll(secondHalf.join()); + + return AplusB; + } + } + + } + + /** + * Multiples two lists one 1-t01 correspondence, that is the 1st element of + * the first list is multiplied with 1st elements of the second list and so + * on + * + * @param list1 + * @param list2 + * @return the multiplied results + */ + public static ArrayList multiplyLists(ArrayList list1, ArrayList list2) + { + ArrayList resultsOfMultiplications = new ArrayList(); + for (int bi = 0; bi < list1.size(); + ++bi) + { + resultsOfMultiplications.add(list1.get(bi).multiply(list2.get(bi))); + } + return resultsOfMultiplications; + } + + public static ArrayList> columnMajorOrderReversal(ArrayList> b) + { + ArrayList> tranformed = new ArrayList>(); + for (int column = 0; + column < b.get(0).size(); + ++column) + { + ArrayList rowTrandormedToColmn = new ArrayList(); + for (int row = 0; + row < b.size(); + ++row) + { + BigInteger bd = b.get(row).get(column); + rowTrandormedToColmn.add(bd); + } + tranformed.add(rowTrandormedToColmn); + } + + return tranformed; + } + + /** + * Adds a list of Big Decimals and returns the result of the addition. + * + * @param list - list of BigDecimal type + * @return the sum of the list + */ + public static BigInteger add(ArrayList list) + { + BigInteger bd = BigInteger.ZERO; + for (int bi = 0; bi < list.size(); + bi++) + { + bd = bd.add(list.get(bi)); + } + return bd; + } + + static class MatricesMultiplication extends RecursiveTask>> + { + + ArrayList> A; + ArrayList> B; + ArrayList> AxB; + final int HOW_MANY_ROWS_IN_PARALLEL = 3;//threshold + int startIndex; + int endIndex; + + public MatricesMultiplication(int startIndex, int endIndex, + ArrayList> A, + ArrayList> B) + { + this.startIndex = startIndex;//start at this row of the matrix + this.endIndex = endIndex;//end at this row of the matrix + this.A = A; + this.B = B; + AxB = new ArrayList>(); + + } + + /** + * matrix + * 1, 2, 3 + * 4, 5, 6 + * + * will be transformed to + * 1, 4 + * 2, 5 + * 3, 6 + * + * @param list + * @return + */ + @Override + protected ArrayList> compute() + { + //>>This is the addition of matrices in the IF. + //That is, HOW_MANY_ROWS_IN_PARALLEL from matrix A and HOW_MANY_ROWS_IN_PARALLEL from matrix B + if (this.endIndex - this.startIndex < HOW_MANY_ROWS_IN_PARALLEL) + { + ArrayList> resultC = new ArrayList>(); + ArrayList> bTransformed = columnMajorOrderReversal(B); + + for (int biA = this.startIndex; + biA <= this.endIndex; + ++biA) + { + ArrayList rowA = A.get(biA); + ArrayList rowAxB = new ArrayList(); + ArrayList rowCalculation = new ArrayList(); + for (int biB = 0; + biB < bTransformed.size(); + ++biB) + { + ArrayList rowB = bTransformed.get(biB); + + ArrayList productsOfRow = multiplyLists(rowA, rowB); + BigInteger sumOfRow = add(productsOfRow); + rowCalculation.add(sumOfRow); + + } + resultC.add(rowCalculation); + + } + return resultC; + } + else + { //>> keep on FORKING the matrix until the + //side of the matric is equal or less to HOW_MANY_ROWS_IN_PARALLEL + + int mid = (this.startIndex + this.endIndex) / 2; + RecursiveTask>> firstHalf + = new MatricesMultiplication(this.startIndex, mid, A, B); + + RecursiveTask>> secondHalf + = new MatricesMultiplication(mid + 1, this.endIndex, A, B); + + firstHalf.fork();//this line will invoke method compute + secondHalf.fork();///this line will invoke method compute + + //>> join what the FORKs returned from the IFs + AxB.addAll(firstHalf.join()); + AxB.addAll(secondHalf.join()); + + return AxB; + } + } + + } + +} diff --git a/Semester 3/Assignments/templatesMatricesSample/src/main/java/edu/slcc/asdv/bl/Matrix.java b/Semester 3/Assignments/templatesMatricesSample/src/main/java/edu/slcc/asdv/bl/Matrix.java new file mode 100644 index 0000000..fd06101 --- /dev/null +++ b/Semester 3/Assignments/templatesMatricesSample/src/main/java/edu/slcc/asdv/bl/Matrix.java @@ -0,0 +1,19 @@ +/* + * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license + * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Interface.java to edit this template + */ +package edu.slcc.asdv.bl; + +import java.math.BigInteger; +import java.util.ArrayList; + +/** + * + * @author ASDV1 + */ +public interface Matrix +{ + ArrayList> addParallel(ArrayList> A, ArrayList> B); + ArrayList> multiplyParallel(ArrayList> A, ArrayList> B); + +} diff --git a/Semester 3/Assignments/templatesMatricesSample/src/main/java/edu/slcc/asdv/resources/JakartaEE9Resource.java b/Semester 3/Assignments/templatesMatricesSample/src/main/java/edu/slcc/asdv/resources/JakartaEE9Resource.java new file mode 100644 index 0000000..01484d3 --- /dev/null +++ b/Semester 3/Assignments/templatesMatricesSample/src/main/java/edu/slcc/asdv/resources/JakartaEE9Resource.java @@ -0,0 +1,20 @@ +package edu.slcc.asdv.resources; + +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.core.Response; + +/** + * + * @author + */ +@Path("jakartaee9") +public class JakartaEE9Resource { + + @GET + public Response ping(){ + return Response + .ok("ping Jakarta EE") + .build(); + } +} diff --git a/Semester 3/Assignments/templatesMatricesSample/src/main/java/edu/slcc/asdv/utilities/Utilities.java b/Semester 3/Assignments/templatesMatricesSample/src/main/java/edu/slcc/asdv/utilities/Utilities.java new file mode 100644 index 0000000..9642482 --- /dev/null +++ b/Semester 3/Assignments/templatesMatricesSample/src/main/java/edu/slcc/asdv/utilities/Utilities.java @@ -0,0 +1,123 @@ +/* + * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license + * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template + */ +package edu.slcc.asdv.utilities; + + +import jakarta.el.ELContext; +import jakarta.el.ELResolver; +import jakarta.faces.application.Application; +import jakarta.faces.application.FacesMessage; +import jakarta.faces.component.UIComponent; +import jakarta.faces.context.FacesContext; +import java.math.BigInteger; +import java.util.ArrayList; + + +public class Utilities +{ + + public static UIComponent findComponent(String id) + { + + UIComponent result = null; + UIComponent root = FacesContext.getCurrentInstance().getViewRoot(); + if (root != null) + { + result = findComponent(root, id); + } + return result; + + } + + public static UIComponent findComponent(UIComponent root, String id) + { + + UIComponent result = null; + if (root.getId().equals(id)) + { + return root; + } + + for (UIComponent child : root.getChildren()) + { + if (child.getId().equals(id)) + { + result = child; + break; + } + result = findComponent(child, id); + if (result != null) + { + break; + } + } + return result; + + } + + public static void printIDs(UIComponent component) + { + System.out.println("\n\nPARENT ID " + component.getId()); + + if (component.getChildren() == null) + { + return; + } + + for (UIComponent child : component.getChildren()) + { + System.out.println("\t\tCHILD ID " + child.getId()); + + printIDs(child); + + } + } + +public static boolean isNumberOrDecimal( String s ) +{ + System.out.println("isNumberOrDecimal called " + s); + //[+-]?([0-9]+([.][0-9]*)?|[.][0-9]+) + String regx = "^[+-]?(\\d*\\.)?\\d+$"; + return s.matches(regx); + +} + public static void message( FacesMessage.Severity severity, String msg, String msgDetails) + { + FacesMessage m = new FacesMessage(severity, msg, msgDetails); + FacesContext.getCurrentInstance().addMessage("msg", m); + } + + + public static T getCDIBean(String nameOfTheBean) + { + ELContext elc = FacesContext.getCurrentInstance().getELContext(); + FacesContext fc = FacesContext.getCurrentInstance(); + Application ap = fc.getApplication(); + ELResolver elr = ap.getELResolver(); + return (T) elr.getValue(elc, null, nameOfTheBean); + } + + + public static ArrayList> convertBigIntegerToString(ArrayList> matrix) + { + ArrayList> stringMatrix = new ArrayList>(); + + for (ArrayList row : matrix) + { + ArrayList stringRow = new ArrayList(); + for (BigInteger bigInt : row) + { + stringRow.add(new String(bigInt.toString())); + + } + stringMatrix.add(stringRow); + } + return stringMatrix; + } + + + + +} diff --git a/Semester 3/Assignments/templatesMatricesSample/src/main/resources/META-INF/persistence.xml b/Semester 3/Assignments/templatesMatricesSample/src/main/resources/META-INF/persistence.xml new file mode 100644 index 0000000..7582bf1 --- /dev/null +++ b/Semester 3/Assignments/templatesMatricesSample/src/main/resources/META-INF/persistence.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/WEB-INF/beans.xml b/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/WEB-INF/beans.xml new file mode 100644 index 0000000..a0cd39d --- /dev/null +++ b/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/WEB-INF/beans.xml @@ -0,0 +1,6 @@ + + + \ No newline at end of file diff --git a/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/WEB-INF/beans_1.xml b/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/WEB-INF/beans_1.xml new file mode 100644 index 0000000..a0cd39d --- /dev/null +++ b/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/WEB-INF/beans_1.xml @@ -0,0 +1,6 @@ + + + \ No newline at end of file diff --git a/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/WEB-INF/faces-config.xml b/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/WEB-INF/faces-config.xml new file mode 100644 index 0000000..6618884 --- /dev/null +++ b/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/WEB-INF/faces-config.xml @@ -0,0 +1,15 @@ + + + + + com.pap.messages.messages + msgs + + + + + diff --git a/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/WEB-INF/glassfish-resources.xml b/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/WEB-INF/glassfish-resources.xml new file mode 100644 index 0000000..708a7d0 --- /dev/null +++ b/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/WEB-INF/glassfish-resources.xml @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/WEB-INF/glassfish-web.xml b/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/WEB-INF/glassfish-web.xml new file mode 100644 index 0000000..673cc06 --- /dev/null +++ b/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/WEB-INF/glassfish-web.xml @@ -0,0 +1,25 @@ + + + + + + + + Keep a copy of the generated servlet class' java code. + + + diff --git a/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/WEB-INF/web.xml b/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/WEB-INF/web.xml new file mode 100644 index 0000000..7473658 --- /dev/null +++ b/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/WEB-INF/web.xml @@ -0,0 +1,40 @@ + + + + jakarta.faces.PROJECT_STAGE + Development + + + Faces Servlet + jakarta.faces.webapp.FacesServlet + 1 + + + ServletExcel + edu.slcc.asdv.servlets.ServletExcel + + + TestServlet + edu.slcc.asdv.servlets.TestServlet + + + ServletExcel + /ServletExcel + + + Faces Servlet + /faces/* + + + TestServlet + /TestServlet + + + + 30 + + + + faces/index.xhtml + + diff --git a/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/index.xhtml b/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/index.xhtml new file mode 100644 index 0000000..3018965 --- /dev/null +++ b/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/index.xhtml @@ -0,0 +1,56 @@ + + + + + + + + + + + + + Application Software Development, SLCC + + + + Templates, and Menus Illustration + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ASDV 2800 , Templates + + +
+
+ + diff --git a/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/login-n-search/login.xhtml b/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/login-n-search/login.xhtml new file mode 100644 index 0000000..e5b3f6c --- /dev/null +++ b/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/login-n-search/login.xhtml @@ -0,0 +1,25 @@ + + + + + Login + > + + + + + + + + + + + + + diff --git a/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/login-n-search/search.xhtml b/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/login-n-search/search.xhtml new file mode 100644 index 0000000..21586b9 --- /dev/null +++ b/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/login-n-search/search.xhtml @@ -0,0 +1,21 @@ + + + + + Login + > + + + + + + + + + + + + diff --git a/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/matrices/compose.xhtml b/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/matrices/compose.xhtml new file mode 100644 index 0000000..900ea85 --- /dev/null +++ b/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/matrices/compose.xhtml @@ -0,0 +1,26 @@ + + + + + Facelet Title + + + + + + + + + + + + + + + + + + diff --git a/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/matrices/matrixA.xhtml b/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/matrices/matrixA.xhtml new file mode 100644 index 0000000..2af9005 --- /dev/null +++ b/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/matrices/matrixA.xhtml @@ -0,0 +1,51 @@ + + + + + MatriX A + + + + + + + + + + + Matrix A + + + + + + + + + + + + diff --git a/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/matrices/matrixB.xhtml b/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/matrices/matrixB.xhtml new file mode 100644 index 0000000..c6c5176 --- /dev/null +++ b/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/matrices/matrixB.xhtml @@ -0,0 +1,48 @@ + + + + + MatriX A + + + + + + + + Matrix B + + + + + + + + + + + + diff --git a/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/matrices/matrixC.xhtml b/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/matrices/matrixC.xhtml new file mode 100644 index 0000000..958d8a5 --- /dev/null +++ b/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/matrices/matrixC.xhtml @@ -0,0 +1,47 @@ + + + + + MAtrix C + + + + + + + + Matrix C + + + + + + + + + + + + + diff --git a/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/matrices/menuMatrices.xhtml b/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/matrices/menuMatrices.xhtml new file mode 100644 index 0000000..b5229db --- /dev/null +++ b/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/matrices/menuMatrices.xhtml @@ -0,0 +1,39 @@ + + + + + Menu + + + + + + + + + + + + + + + + + + + + + diff --git a/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/resources/css/layout-css/bottomStyle.css b/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/resources/css/layout-css/bottomStyle.css new file mode 100644 index 0000000..eeca699 --- /dev/null +++ b/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/resources/css/layout-css/bottomStyle.css @@ -0,0 +1,18 @@ +#bottom { + margin: 0px 0px 0px 0px; + text-align:center; + color: #ffffff; + + background-image: -webkit-gradient( + linear, + left top, + left bottom, + color-stop(0, blue), + color-stop(1, blue) + ); + background-image: -o-linear-gradient(bottom, blue 0%, #120205 100%); + background-image: -moz-linear-gradient(bottom, blue 0%, #120205 100%); + background-image: -webkit-linear-gradient(bottom, blue 0%, #120205 100%); + background-image: -ms-linear-gradient(bottom, blue 0%, #120205 100%); + background-image: linear-gradient(to bottom, blue 0%, #120205 100%); +} diff --git a/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/resources/css/layout-css/contentStyle.css b/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/resources/css/layout-css/contentStyle.css new file mode 100644 index 0000000..f505a90 --- /dev/null +++ b/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/resources/css/layout-css/contentStyle.css @@ -0,0 +1,3 @@ +#content { + background: white; +} diff --git a/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/resources/css/layout-css/cssLayout.css b/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/resources/css/layout-css/cssLayout.css new file mode 100644 index 0000000..4b6e5ff --- /dev/null +++ b/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/resources/css/layout-css/cssLayout.css @@ -0,0 +1,50 @@ +#wrapper { + margin-left:auto; + margin-right:auto; +} + +#title { + position: relative; + margin: 1px 0px 0px 0px; +} + +#login_and_search { + position: relative; + margin: 0px 0px 5px 0px; +} + +#login { + float: left; + position: relative; +} + +#search { + float: right; + position: relative; +} + +#top { + position: relative; + overflow: hidden; +} + +#bottom { + position: relative; +} + +#left { + float: left; +} + +#logo { + float: left; +} + +#right { + float: right; +} + +#content { + overflow: hidden; +} + diff --git a/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/resources/css/layout-css/dataTable.css b/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/resources/css/layout-css/dataTable.css new file mode 100644 index 0000000..8b0bacf --- /dev/null +++ b/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/resources/css/layout-css/dataTable.css @@ -0,0 +1,237 @@ + +.rowNumber{ + + margin-right:20px; + width : 100px; + background: blue; + font-family: Impact; + font-size: 1.2em; + color: white; +} + +body .ui-datatable .ui-paginator { + position: relative; + text-align: left; + bottom: 0px; + width: inherit; + padding: 2px; + z-index: 1; +} + + +.input { + font-size: 1em; + max-width: 35px; + min-width: 35px; + height : 35px; + font-size: 1em; + font-family: inherit; + background-color: #fff; + border: solid 1px; + + border-color: blueviolet; + border-radius: 4px; +} + +.dataTables { + overflow-y:scroll; + overflow-x:scroll; + + + height : 386px; + width: 300px; + display:block; + background-color: #fff; + + zoom: 1; +} + +.ui-datatable table{ + border-collapse:collapse; + width:100%; +} +.ui-datatable.ui-datatable-header,.ui-datatable.ui-datatable-footer{ + text-align:center; + padding:4px 10px; + +} +.ui-datatable.ui-datatable-header{ + border-bottom:0px none; + +} +.ui-datatable.ui-datatable-footer{ + border-top:0px none; +} +.ui-datatable thead th +{ + font-family: Arial; + font-size: 1.2em; + color: blue; + background: white; +} +.ui-datatable thead td +{ + font-family: Impact; + font-size:1.2em; + color: blue; +} +.ui-datatable tfoot td{ + text-align:center; +} +ui-datatable thead th +{ + overflow:hidden; +} +.ui-datatable tbody td , .ui-datatable tfoot td{ + padding:4px 10px; + overflow:hidden; + white-space:nowrap; + border-width:1px; + border-style:solid; +} +.ui-datatable tbody tr +{ + clear: both; +} + +.ui-datatable .ui-sortable-column{ + cursor:pointer; +} +.ui-datatable div.ui-dt-c{ + position:relative; +} +.ui-datatable .ui-sortable-column-icon{ + display:inline-block; + margin:-3px 0px -3px 2px; +} +.ui-datatable .ui-column-filter{ + display:block; + width:100px; + margin:auto; +} +.ui-datatable .ui-expanded-row{ + border-bottom:0px none; +} +.ui-datatable .ui-expanded-row-content{ + border-top:0px none; +} +.ui-datatable .ui-row-toggler{ + cursor:pointer; +} +.ui-datatable tr.ui-state-highlight{ + cursor:pointer; +} +.ui-datatable .ui-selection-column .ui-chkbox-all{ + display:block; + margin:0px auto; + width:16px; + height:16px; +} +.ui-datatable-scrollable table{ + table-layout:auto; +} +.ui-datatable-scrollable-body{ + overflow:auto; +} +.ui-datatable-scrollable-header,.ui-datatable-scrollable-footer{ + overflow:hidden; + border:0px none; +} +.ui-datatable-scrollable .ui-datatable-scrollable-header,.ui-datatable-scrollable .ui-datatable-scrollable-footer{ + position:relative; +} +.ui-datatable-scrollable .ui-datatable-scrollable-header td{ + font-weight:normal; +} +.ui-datatable-scrollable-body::-webkit-scrollbar{ + -webkit-appearance:none; + width:15px; + background-color:transparent; +} +.ui-datatable-scrollable-body::-webkit-scrollbar-thumb{ + border-radius:8px; + border:1px solid white; + background-color:rgba(194,194,194,.5); +} +.ui-datatable .ui-datatable-data tr.ui-state-hover{ + border-color:inherit; + font-weight:inherit; + cursor:pointer; +} +.ui-datatable .ui-paginator,.ui-datatable .ui-paginator{ + padding:2px; +} +.ui-column-dnd-top, ui-column-dnd-bottom{ + display:none; + position:absolute; +} +.ui-column-dnd-top .ui-icon, ui-column-dnd-bottom .ui-icon{ + position:absolute; + top:-4px; +} +/* InCell Editing */.ui-datatable .ui-cell-editor-input{ + display:none; +} +.ui-datatable .ui-row-editing .ui-cell-editor .ui-cell-editor-output{ + display:none; +} +.ui-datatable .ui-row-editing .ui-cell-editor .ui-cell-editor-input{ + display:block; +} +.ui-datatable .ui-row-editor span{ + cursor:pointer; + display:inline-block; +} +.ui-datatable .ui-row-editor .ui-icon-pencil{ + display:inline-block; +} +.ui-datatable .ui-row-editing .ui-row-editor .ui-icon-pencil{ + display:none; +} +.ui-datatable .ui-row-editor .ui-icon-check,.ui-datatable .ui-row-editor .ui-icon-close{ + display:none; +} +.ui-datatable .ui-row-editing .ui-row-editor .ui-icon-check,.ui-datatable .ui-row-editing .ui-row-editor .ui-icon-close{ + display:inline-block; +} +.ui-datatable .ui-datatable-data tr.ui-row-editing td.ui-editable-column,.ui-datatable .ui-datatable-data td.ui-cell-editing{ + padding:0; + margin:0; +} +/*resizer */.ui-datatable .ui-column-resizer{ + width:8px; + height:20px; + padding:0px; + cursor:col-resize; + background-image:url("/ScraperOnWeb/javax.faces.resource/spacer/dot_clear.gif.jsf?ln=primefaces"); + margin:-4px -10px -4px 0px; + float:right; +} +.ui-datatable .ui-filter-column .ui-column-resizer{ + height:45px; +} +.ui-datatable .ui-column-resizer-helper{ + width:1px; + position:absolute; + z-index:10; + display:none; +} +.ui-datatable-resizable{ + padding-bottom:1px;/*fix for webkit overlow*/ + overflow:auto; +} +.ui-datatable-resizable table{ + table-layout:auto; +} +.ui-datatable-rtl{ + direction:rtl; +} +.ui-datatable-rtl.ui-datatable thead th, .ui-datatable-rtl.ui-datatable tfoot td{ + text-align:right; +} + + + + + + diff --git a/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/resources/css/layout-css/default.css b/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/resources/css/layout-css/default.css new file mode 100644 index 0000000..0c5e67f --- /dev/null +++ b/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/resources/css/layout-css/default.css @@ -0,0 +1,8 @@ + +body { + background-color: #ffffff; + font-size: 12px; + font-family: Verdana, "Verdana CE", Arial, "Arial CE", "Lucida Grande CE", lucida, "Helvetica CE", sans-serif; + color: #000000; + margin: 2px; +} diff --git a/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/resources/css/layout-css/imageZoomStyle.css b/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/resources/css/layout-css/imageZoomStyle.css new file mode 100644 index 0000000..8aa00a0 --- /dev/null +++ b/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/resources/css/layout-css/imageZoomStyle.css @@ -0,0 +1,34 @@ + +* {box-sizing: border-box;} + +.img-zoom-container { + position: relative; +} + +.img-zoom-lens { + position: absolute; + /*set the size of the lens:*/ + width: 40px; + height: 40px; +} + +.img-zoom-result { + + /*border: 5px solid #000000;*/ + /*set the size of the result div:*/ + width: 300px; + height: 300px; +} +.myDiv +{ + align: center; + padding: 30px; + margin: 10; + border-left: 10px solid navy; +} + +.hpanel{ + position: relative; + top: 0px; left: 0px; +} + diff --git a/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/resources/css/layout-css/leftStyle.css b/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/resources/css/layout-css/leftStyle.css new file mode 100644 index 0000000..aaafa7d --- /dev/null +++ b/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/resources/css/layout-css/leftStyle.css @@ -0,0 +1,22 @@ +#left { + + background-image: -webkit-gradient( + linear, + left top, + left bottom, + color-stop(0, #2D4A37), + color-stop(1, #789480) + ); + background-image: -o-linear-gradient(bottom, #2D4A37 0%, #789480 100%); + background-image: -moz-linear-gradient(bottom, #2D4A37 0%, #789480 100%); + background-image: -webkit-linear-gradient(bottom, #2D4A37 0%, #789480 100%); + background-image: -ms-linear-gradient(bottom, #2D4A37 0%, #789480 100%); + background-image: linear-gradient(to bottom, #2D4A37 0%, #789480 100%); + -moz-box-shadow: 0px 0px 15px 3px #333333; + -webkit-box-shadow: 0px 0px 15px 3px #333333; + box-shadow: 0px 0px 15px 3px #333333; + + text-align:left; + padding-left:10px; + margin-right: 5px; +} diff --git a/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/resources/css/layout-css/loginStyle.css b/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/resources/css/layout-css/loginStyle.css new file mode 100644 index 0000000..2849107 --- /dev/null +++ b/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/resources/css/layout-css/loginStyle.css @@ -0,0 +1,65 @@ +.inputs { + -moz-border-radius: 5px; + -webkit-border-radius: 5px; + background-color: #00f; + background: -moz-linear-gradient(top, #FFF, #EAEAEA); + background: -webkit-gradient(linear, left top, left bottom, color-stop(0.0, #FFF), color-stop(1.0, #EAEAEA)); + border: 1px solid #CACACA; + color: #444; + font-size: 1.1em; + margin: 0px 10px 0px 0px; + padding-left: 2px; + width:200px; +} +.inputs:focus { + color: #ffffff; + background: #0000cc; + -webkit-box-shadow: 0 0 25px #CCC; + -moz-box-shadow: 0 0 25px #cccc00; + box-shadow: 0 0 25px #CCCC00; + -webkit-transform: scale(1.05); + -moz-transform: scale(1.05); + transform: scale(1.05); +} + +.lbutton { + -moz-box-shadow: 4px 7px 13px -7px #276873; + -webkit-box-shadow: 4px 7px 13px -7px #276873; + box-shadow: 4px 7px 13px -7px #276873; + background:-webkit-gradient(linear, left top, left bottom, color-stop(0.05, #171717), color-stop(1, #d92323)); + background:-moz-linear-gradient(top, #171717 5%, #222 100%); + background:-webkit-linear-gradient(top, #171717 5%, #222 100%); + background:-o-linear-gradient(top, #171717 5%, #222 100%); + background:-ms-linear-gradient(top, #171717 5%, #222 100%); + background:linear-gradient(to bottom, #171717 5%, #222 100%); + filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#171717', endColorstr='#d92323',GradientType=0); + background-color:#222; + -moz-border-radius:17px; + -webkit-border-radius:17px; + border-radius:17px; + display:inline-block; + cursor:pointer; + color:#ffffff; + font-family:arial; + font-size:12px; + font-weight:bold; + padding:2px 12px; + text-decoration:none; + text-shadow:0px 1px 0px #3d768a; +} +.lbutton:hover { + background:-webkit-gradient(linear, left top, left bottom, color-stop(0.05, #222), color-stop(1, #171717)); + background:-moz-linear-gradient(top, #00f 5%, #222 100%); + background:-webkit-linear-gradient(top, 00f 5%, #222 100%); + background:-o-linear-gradient(top, #00f 5%, #222 100%); + background:-ms-linear-gradient(top, #00f 5%, #222 100%); + background:linear-gradient(to bottom, #00f 5%, #222 100%); + filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#d92323', endColorstr='#222',GradientType=0); + background-color:#00f; +} +.lbutton:active { + position:relative; + top:1px; +} + + diff --git a/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/resources/css/layout-css/login_and_searchStyle.css b/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/resources/css/layout-css/login_and_searchStyle.css new file mode 100644 index 0000000..b35091d --- /dev/null +++ b/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/resources/css/layout-css/login_and_searchStyle.css @@ -0,0 +1,8 @@ +#login_and_search { + + width:100%; + height:90px; + background-color: white; + padding: 20px; + display: inline-block; +} diff --git a/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/resources/css/layout-css/logoStyle.css b/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/resources/css/layout-css/logoStyle.css new file mode 100644 index 0000000..83870d2 --- /dev/null +++ b/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/resources/css/layout-css/logoStyle.css @@ -0,0 +1,9 @@ +#logo { + background-image : url("#{resource['images/owl.png']}") ; + background-repeat: no-repeat; + margin-right: 0px; + width:60px; + height:60px; + float: left; + +} diff --git a/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/resources/css/layout-css/menuStyle.css b/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/resources/css/layout-css/menuStyle.css new file mode 100644 index 0000000..a68d788 --- /dev/null +++ b/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/resources/css/layout-css/menuStyle.css @@ -0,0 +1,37 @@ +#menu { + white-space: nowrap; + height: 28px; + width:100%; + background: #fff url("#{resource['images/menu.png']}") bottom center ; + margin-bottom: 5px; +} + +#menu ul { + margin: 0; + padding: 0; + list-style:none; + float:left; +} + +#menu li { + float: left; + margin: 0 3px 0 3px; + padding: 0; + background: transparent; +} + +#menu a { + font-family: Arial, Helvetica, sans-serif; + font-size: 15px; + font-weight: normal; + float:left; + display:block; + height: 26px; + line-height: 24px; + padding: 2px 10px 0 10px; + color: #cccc00; + text-decoration: none; + background: transparent; + +} + \ No newline at end of file diff --git a/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/resources/css/layout-css/rightStyle.css b/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/resources/css/layout-css/rightStyle.css new file mode 100644 index 0000000..4c5502a --- /dev/null +++ b/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/resources/css/layout-css/rightStyle.css @@ -0,0 +1,5 @@ +#right { + background-color: #FA0519; + text-align:center; + margin-left: 5px; +} diff --git a/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/resources/css/layout-css/searchStyle.css b/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/resources/css/layout-css/searchStyle.css new file mode 100644 index 0000000..57e52f1 --- /dev/null +++ b/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/resources/css/layout-css/searchStyle.css @@ -0,0 +1,3 @@ +#search { + color: #ffffff; +} diff --git a/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/resources/css/layout-css/stylesLinks.css b/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/resources/css/layout-css/stylesLinks.css new file mode 100644 index 0000000..eef30a3 --- /dev/null +++ b/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/resources/css/layout-css/stylesLinks.css @@ -0,0 +1,67 @@ + +a { + font-family: Arial, Helvetica, sans-serif; + font-size: 15px; + font-weight: normal; + float:left; + display:block; + height: 26px; + line-height: 24px; + padding: 2px 10px 0 10px; + color: #cccc00; + text-decoration:#A3979A; + background-color: white; + border: white; + padding: 0px +} +a.hover { + float: left; + font-family: Arial, Helvetica, sans-serif; + font-size: 15px; + font-weight: normal; + float:left; + display:block; + height: 26px; + line-height: 24px; + color: #cccc00; + text-decoration: none; + + background-color: white; + border: white; + padding: 0px +} + +.menus +{ + font-family: Arial, Helvetica, sans-serif; + font-size: 15px; + font-weight: normal; + float:right; + + + color: #cccc00; + text-decoration:#A3979A; + background-color: white; + border: white; + padding: 0px ; + margin-top: 0px; + margin-right: 0px; + margin-bottom: 0px; + margin-left: 0px; +} + + .affaires .ui-menuitem-text{color:#cccc00; + decoration: bold, italic; + + } + .affaires .ui-menu-child{background: white; mouseover: #000; + background-color: #A80000;} + .affaires .ui-menubar{mouseover: #000; + background-color: #A80000;} + .affaires .ui-state-hover {} + + a.active { + color: #D09d23; + font-weight: bold; + background-color : #c7c3c3; +} \ No newline at end of file diff --git a/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/resources/css/layout-css/titleStyle.css b/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/resources/css/layout-css/titleStyle.css new file mode 100644 index 0000000..24b1112 --- /dev/null +++ b/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/resources/css/layout-css/titleStyle.css @@ -0,0 +1,9 @@ +#title { + background: white; + color:blue; + text-align:center; + font-size: 24px; + font-weight: bold; +} + + diff --git a/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/resources/css/layout-css/topStyle.css b/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/resources/css/layout-css/topStyle.css new file mode 100644 index 0000000..63294a9 --- /dev/null +++ b/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/resources/css/layout-css/topStyle.css @@ -0,0 +1,9 @@ +#top { + color: blue; + font-family: cursive, sans-serif; + font-size: 22px; + font-style: italic; + text-align: center; + height:60px; + background: white; +} diff --git a/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/resources/images/download.png b/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/resources/images/download.png new file mode 100644 index 0000000000000000000000000000000000000000..b1315ca09e98c9d6e8e24ddbb7df9ee8063446b2 GIT binary patch literal 3737 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
14|4hK{#$&bS6_oP1lCzg$l1< zgIbjviAD&$1dx`_%2{GZ{$P+v^taD=Vu(HKIK$b#7t6 zv0FF~oOz@GuEe~YIbHI6AACpClCuwn zwR|}pxMhTIyzfm;5(PFm>$|5iGe4+Y3|Zxhj(jZPq)IL{C&5oCG%eaYp_n%`k764# zXHvGOX%Z-{L1cBCPTSDnDpH<9b}e5tBNud)&}q=CzKtg2s?` + + + + + +

This is default footer

+
+
+ diff --git a/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/resources/templates/default/contentDefault.xhtml b/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/resources/templates/default/contentDefault.xhtml new file mode 100644 index 0000000..81c4495 --- /dev/null +++ b/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/resources/templates/default/contentDefault.xhtml @@ -0,0 +1,12 @@ + + + + + + + This is default content + + + diff --git a/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/resources/templates/default/leftDefault.xhtml b/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/resources/templates/default/leftDefault.xhtml new file mode 100644 index 0000000..1e7e628 --- /dev/null +++ b/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/resources/templates/default/leftDefault.xhtml @@ -0,0 +1,12 @@ + + + + + + + This is default left side + + + diff --git a/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/resources/templates/default/loginDefault.xhtml b/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/resources/templates/default/loginDefault.xhtml new file mode 100644 index 0000000..b1dd7a8 --- /dev/null +++ b/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/resources/templates/default/loginDefault.xhtml @@ -0,0 +1,12 @@ + + + + + + + Default Login Section + + + diff --git a/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/resources/templates/default/logoDefault.xhtml b/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/resources/templates/default/logoDefault.xhtml new file mode 100644 index 0000000..54103c8 --- /dev/null +++ b/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/resources/templates/default/logoDefault.xhtml @@ -0,0 +1,12 @@ + + + + + + + LOGO + + + diff --git a/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/resources/templates/default/menuDefault.xhtml b/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/resources/templates/default/menuDefault.xhtml new file mode 100644 index 0000000..f244225 --- /dev/null +++ b/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/resources/templates/default/menuDefault.xhtml @@ -0,0 +1,14 @@ + + + + + + + Menu default + + + diff --git a/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/resources/templates/default/rightDefault.xhtml b/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/resources/templates/default/rightDefault.xhtml new file mode 100644 index 0000000..9aabcc8 --- /dev/null +++ b/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/resources/templates/default/rightDefault.xhtml @@ -0,0 +1,12 @@ + + + + + + + This is default right side + + + diff --git a/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/resources/templates/default/searchDefault.xhtml b/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/resources/templates/default/searchDefault.xhtml new file mode 100644 index 0000000..80b6c4b --- /dev/null +++ b/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/resources/templates/default/searchDefault.xhtml @@ -0,0 +1,12 @@ + + + + + + + Default Search Section + + + diff --git a/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/resources/templates/default/titleDefault.xhtml b/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/resources/templates/default/titleDefault.xhtml new file mode 100644 index 0000000..7c9eeb4 --- /dev/null +++ b/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/resources/templates/default/titleDefault.xhtml @@ -0,0 +1,12 @@ + + + + + + + This is default title + + + diff --git a/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/resources/templates/default/topDefault.xhtml b/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/resources/templates/default/topDefault.xhtml new file mode 100644 index 0000000..f1b76a0 --- /dev/null +++ b/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/resources/templates/default/topDefault.xhtml @@ -0,0 +1,12 @@ + + + + + + +

This is default header

+
+
+ diff --git a/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/resources/templates/generic/generic-layout.xhtml b/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/resources/templates/generic/generic-layout.xhtml new file mode 100644 index 0000000..39934fa --- /dev/null +++ b/Semester 3/Assignments/templatesMatricesSample/src/main/webapp/resources/templates/generic/generic-layout.xhtml @@ -0,0 +1,115 @@ + + + + + + + + + + + + + + + + + + + + Generic Template + + +
+ +
+ + + +
+
+ +
+ + + +
+ + + +
+
+
+ + + + + + + + + +
+ + +
+ + + +
+
+ + + + + +
+ + + +
+
+ + +
+ +
+ + + +
+
+
+
+

(5kqV%Iwp|t)j|9{G%zsDZ< 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 literal 0 HcmV?d00001 diff --git a/Semester 3/Assignments/templates4_2/src/main/webapp/resources/images/site/iPhone11.png b/Semester 3/Assignments/templates4_2/src/main/webapp/resources/images/site/iPhone11.png new file mode 100644 index 0000000000000000000000000000000000000000..941b73e71a2fe9b74b334c215e7e2a20dc83512c GIT binary patch literal 152146 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 literal 0 HcmV?d00001 diff --git a/Semester 3/Assignments/templates4_2/src/main/webapp/resources/images/site/logo.png b/Semester 3/Assignments/templates4_2/src/main/webapp/resources/images/site/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..1f543fddbe0f33831b99a701651be6776c5af82d GIT binary patch literal 15695 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 REZ+bC002ovPDHLkV1mpSM>qfg literal 0 HcmV?d00001 diff --git a/Semester 3/Assignments/templates4_2/src/main/webapp/resources/images/site/next.png b/Semester 3/Assignments/templates4_2/src/main/webapp/resources/images/site/next.png new file mode 100644 index 0000000000000000000000000000000000000000..e7972c9bb7dab3884263e7034152cd8188286975 GIT binary patch literal 1845 zcmV-52g>+~P)4Tx062|}Rb6NtRTMtEb7vzY&QokOg>Hg1+lHrgWS zWcKdPn90sKGrRqvPeo9CG3uKX#J{(IASm?@+di}}l?o-=)F3E6wD^Ni=!>T7nL9I? zX}YoAW$t|Qo$sD|?zw001?ah|SeB6#0T!CBEf+H4bBB+JJu8rehoBb*p;u8ID_yBf z0ya+zcePvJL&AGs+11_tpRKn>9TgyPA7ZoSs0)aX0r00)%XR^J`jH<$>RKN5V(7Oq zK*TS4xZz{h!*f1C3ECFkK$#7nA@pGN!$;%jYvwjAKwmYb0gKL(K8 z-kPtb5${A?tlI~wzMrJ6wTdBr=Y%%%EaEMQ&o}4FQ^DA)s*}Z>!FI&AHCpoWI|RUq zx?7s@$8!5^Q=anY%X@i5{QA6kNcMelpE>R6eCYFpmMsVTrI(b06~u#xf1yS} z_UGdMvD``!0~u->P=lA4?YN`hilQ|3tHka)7T{2CGqw zjZfMwx$5irQN_*|e4l)UHmiYuz74Yp1t^#>hrJ3-SOXDcC_o0^7T9R1gAN8V6s;5) zieI5-7aQlmJn}lUna#nz!j%5V$X|o`xX!dHWQRV27P1=rj;t2bW$~+pTw@bIek?Zv zKPDL<64`^#UNTAck#RBsB6*5DP4<%UA_FqU$I>2EH_cM;u)Q~SI+rg`Rn{L_AC5qq~L$#SMj%U z$6Cz0vP{G5Y*=%5RT^yu;}-DInZ=349rJPVM6C3K^oO)8y(fJr{l>k`ead~!ea?NsT>_Ci%bnxC;Vy6=b6>{xYV#Ue-+LB$ z7`JEXmTRm^AtP)R9u{)KHsMiWGV&)32xCG~*nyU<>-!d;FP=Re4r3qYr~6#KE>;1F z`>_J_P5xC?ROxV(DIHdCO*p$HRQI@7^PwV@Pvuf+5K}u-6REM(K@W$s zrgorh0{i?O)v0c>QtHxU-hBdD(>iYJ4b2sIOVX2K8m~4gmYVA5h^QEb$V`rCQ-|7Z zS{nuL-t>?3n=-o(6I(7vocj#GzCZEo`!3>+v;dYIfPu#&ZWzzX2i^rZ^Mu;6+rb@? zNPG+6)c5T6zxpzGe*M(x+{AON=PiJ>H#?ob-|uwRK0yDg0B4PV0id6JRZw95ZvX%S z<4Ht8R9Fe^m_JB*Q546Yf5=R1(IrHL62U=iGXx0V(i}O|A_Rdp z8x0ZJ&?3&|AQVB+lqjMQq~G7W51zbAulMz|pMw|V9`8Hno{#6Ad+vRzz&CD&o0^sF z^74|4$Kzb3Qeicjj2?*~ODhx#B+|mi<#OTZ=m_uc?<}T@bU0RPDWC|d)9DZnhjDv* zi+;b)I+ZLvMSvnG>DSiQaCmr#x3@Q00OORI0bgETkVqu3yu3VEYAK*7YqeSggF%!^ zC47E!R z6_ostKp=pNiwk^wd`PDlD=PvNXD1uv?(Poz`};5$3{+UN*^E>wg@=a+(VW^(1W@Xs z-EJeF&%@{QQ9()0dc9sjx6|oJr}!dI98fxYyJ3ClhT%^LTudgGQ%MB{Pp8$%Wq;EExI5|0i$K#=bwpuO0?9TzEu#bks`BVT&;l8=K!S3!Z^m;uNOgs*so}Q%XIglp`NStIc8Q5$#DwLcH zgB8KIXpjfnE|h^uAtFqs9>}+^@nH10WJS)nHpc&IsQx?s>|O> zxL7R4ZEtULOG`^bb$&a@4EWsvf3M^A_VxrYr_=fU@x;E%0#vKj9A8WYDE_^J4Tx062|}Rb6NtRTMtEb7vzY&QokOg>Hg1+lHrgWS zWcKdPn90sKGrRqvPeo9CG3uKX#J{(IASm?@+di}}l?o-=)F3E6wD^Ni=!>T7nL9I? zX}YoAW$t|Qo$sD|?zw001?ah|SeB6#0T!CBEf+H4bBB+JJu8rehoBb*p;u8ID_yBf z0ya+zcePvJL&AGs+11_tpRKn>9TgyPA7ZoSs0)aX0r00)%XR^J`jH<$>RKN5V(7Oq zK*TS4xZz{h!*f1C3ECFkK$#7nA@pGN!$;%jYvwjAKwmYb0gKL(K8 z-kPtb5${A?tlI~wzMrJ6wTdBr=Y%%%EaEMQ&o}4FQ^DA)s*}Z>!FI&AHCpoWI|RUq zx?7s@$8!5^Q=anY%X@i5{QA6kNcMelpE>R6eCYFpmMsVTrI(b06~u#xf1yS} z_UGdMvD``!0~u->P=lA4?YN`hilQ|3tHka)7T{2CGqw zjZfMwx$5irQN_*|e4l)UHmiYuz74Yp1t^#>hrJ3-SOXDcC_o0^7T9R1gAN8V6s;5) zieI5-7aQlmJn}lUna#nz!j%5V$X|o`xX!dHWQRV27P1=rj;t2bW$~+pTw@bIek?Zv zKPDL<64`^#UNTAck#RBsB6*5DP4<%UA_FqU$I>2EH_cM;u)Q~SI+rg`Rn{L_AC5qq~L$#SMj%U z$6Cz0vP{G5Y*=%5RT^yu;}-DInZ=349rJPVM6C3K^oO)8y(fJr{l>k`ead~!ea?NsT>_Ci%bnxC;Vy6=b6>{xYV#Ue-+LB$ z7`JEXmTRm^AtP)R9u{)KHsMiWGV&)32xCG~*nyU<>-!d;FP=Re4r3qYr~6#KE>;1F z`>_J_P5xC?ROxV(DIHdCO*p$HRQI@7^PwV@Pvuf+5K}u-6REM(K@W$s zrgorh0{i?O)v0c>QtHxU-hBdD(>iYJ4b2sIOVX2K8m~4gmYVA5h^QEb$V`rCQ-|7Z zS{nuL-t>?3n=-o(6I(7vocj#GzCZEo`!3>+v;dYIfPu#&ZWzzX2i^rZ^Mu;6+rb@? zNPG+6)c5T6zxpzGe*M(x+{AON=PiJ>H#?ob-|uwRK0yDg0B4PV0id6JRZw95ZvX%S z-bqA3R9Fe^m_JB*Q546YCZR+vwup!n(I&YiLLg|a4o=ciM7B3Lg+q(89S{MJXad$iBV%;K@aO_jk>wKL;;}=UvY|=kvbzynF9c1F;D++_ckV zyScd$j*gCmVzJ1dmMA#M)@(KrjYeU!*~m;upG+phol?htEBu~fcA-|Q3CUzqC=?1p zr_D{H@US3|t z;o%{!udnIhBiVlflrywiEu5d9V{2=R2}-~>H#emjczu19hjV?81xRP$-NP3a7Emgc z=%GwoH9$EF&nak>mnPK#Wl-`>w#i}V$e96@VaX7F$$oD1QCmPYE67$ z62#NCu(r0wm2>KVTvU|PRR8**@^YJVKyIlN9Onuu2*ceySCCsO1;@F93c_%A&lTjB eO2KjF75oL5D3;{nNVeDj0000Q1RXrU-~?x| zAa{~|&fe#I&;9Sc&)+lC^RBAu>ZCO!64E|) z)&TJ86~F=j049JGVF#ch5JChXM|=PP`6KebDM+6`qWq23e>3m*0YOz;7Y`S(t&1xy zF9#PO_(J{_>TeB*@&_~ife)vsV&>w38q}TFSm{46Uj*H+VQkAwNtvjstH{VJN&hhl zW7f>o)e)H%0GymX+|^}Y(CX^x(_+j4$N(9Djj#vX%mVBxsj8~`I-mJt zJ21)qzvus#@c+EPwzL9UAe_fUFkCFb7ETE40|01Q7Ow6d0DwV+pbL6?xcK~8zp>3<7{LRG%>TlXe`GY(r4TY%2#jZ8Yi5bSU_zt{ou`AABmyIH30cnCT}BIm5qgl_Z9V1w zjWhggHFXg5#|ZjYXLDthf3=;p081fa3D6t`$V+s@zgVS6(LRRl(4HOiWm zqwH^aL|-U3t{$rYvH_La*-`m-zlgq2Us{3x_>0hkO6_5*DTkmV`bBm0aM%1-Ths(= zI~n)Nka7S>g0Xx7EL9s$`tq>F|#MQrL*#EQx0}cqf z9pLqc2S(JYeYxyyg(G`NtQRfB653^6!zdLyV})f64vN zvG})?B*Ih2KP{aQQLsb!Z1o>Lv;U_KNI)CuKfO((HW^OhKmx3t6UhIe{*HoGgz~vE z5X$xsl?%$X&o#}J$5p_!hmwp^kJ66PjM9QK4A7!