push files

This commit is contained in:
2024-05-07 11:47:54 -05:00
parent 75cd74930c
commit 0264594936
124 changed files with 3240 additions and 0 deletions

View File

@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<project-shared-configuration>
<!--
This file contains additional configuration written by modules in the NetBeans IDE.
The configuration is intended to be shared among all the users of project and
therefore it is assumed to be part of version control checkout.
Without this configuration present, some functionality in the IDE may be limited or fail altogether.
-->
<properties xmlns="http://www.netbeans.org/ns/maven-properties-data/1">
<!--
Properties that influence various parts of the IDE, especially code formatting and the like.
You can copy and paste the single properties, into the pom.xml file and the IDE will pick them up.
That way multiple projects can share the same settings (useful for formatting rules for example).
Any value defined here will override the pom.xml file value but is only applicable to the current project.
-->
<org-netbeans-modules-maven-jaxws.rest_2e_config_2e_type>ide</org-netbeans-modules-maven-jaxws.rest_2e_config_2e_type>
</properties>
</project-shared-configuration>

View File

@@ -0,0 +1,42 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>edu.slcc.asdv.caleb</groupId>
<artifactId>FinalExamProblem2_CalebFontenot</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>war</packaging>
<name>FinalExamProblem2_CalebFontenot-1.0-SNAPSHOT</name>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<jakartaee>10.0.0</jakartaee>
</properties>
<dependencies>
<dependency>
<groupId>jakarta.platform</groupId>
<artifactId>jakarta.jakartaee-api</artifactId>
<version>${jakartaee}</version>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<source>11</source>
<target>11</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>3.3.2</version>
</plugin>
</plugins>
</build>
</project>

View File

@@ -0,0 +1,84 @@
/*
* 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.SessionScoped;
import jakarta.json.JsonArray;
import jakarta.json.JsonNumber;
import jakarta.json.JsonObject;
import jakarta.json.JsonString;
import jakarta.json.JsonValue;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.LinkedHashMap;
/**
*
* @author caleb
*/
@Named(value = "jsonBean")
@SessionScoped
public class JsonBean implements Serializable {
/**
* Creates a new instance of JsonBean
*/
public JsonBean()
{
}
public String compute()
{
String returnString = "";
ArrayList<LinkedHashMap<String, String>> personArray = new ArrayList<>();
personArray.add(JsonSupplier.createMapOfSupplier("s1", "Jeff", "21", "Sillicon Valley"));
personArray.add(JsonSupplier.createMapOfSupplier("s2", "Mary Poppins", "22", "London"));
JsonObject jo = JsonSupplier.createJsonObjectForSuppliers(personArray);
returnString += navigateTree(jo, null) + "\n";
returnString += jo.toString();
return returnString;
}
public static String navigateTree(JsonValue tree, String returnString)
{
if (returnString == null) {
returnString = "";
}
if (tree == null) {
return returnString;
}
switch (tree.getValueType()) {
case OBJECT:
JsonObject object = (JsonObject) tree;
for (String name : object.keySet()) {
returnString += "Key " + name + ": \n";
returnString = navigateTree(object.get(name), returnString);
}
break;
case ARRAY:
JsonArray array = (JsonArray) tree;
for (JsonValue val : array) {
returnString = navigateTree(val, returnString);
}
break;
case STRING:
JsonString st = (JsonString) tree;
returnString += "\tSTRING " + st.getString() + "\n";
break;
case NUMBER:
JsonNumber num = (JsonNumber) tree;
returnString += "\tNUMBER " + num.toString() + "\n";
break;
case TRUE:
case FALSE:
case NULL:
returnString += tree.getValueType().toString() + "\n";
break;
}
return returnString;
}
}

View File

@@ -0,0 +1,153 @@
/*
* 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 beans;
/**
*
* @author caleb
*/
import java.io.StringReader;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Set;
import jakarta.json.Json;
import jakarta.json.JsonArrayBuilder;
import jakarta.json.JsonObject;
import jakarta.json.JsonObjectBuilder;
import jakarta.json.JsonReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.PrintWriter;
import java.util.Scanner;
public class JsonSupplier
{
/**
* Creates a JsonObject by traversing the arrayList of LinkedHashMap
*
* @param suppliers ArrayList of LinkedHashMap. Each element of the
* arrayList is a row of suppliers table. The key of the LinkedHashMap is
* the attribute name and the value of the attribute Example ( One liked
* hash map is one row from the table) LinkedHashMap 1 : key: snumber,
* value: s1 key: sname, value: white key: status, value: 20 key: city,
* value London LinkedHashMap 2 : key: snumber, value: s2 key: sname, value:
* black key: status, value: 30 key: city, value Paris The value of the map
* @return JsonObject
*/
public static JsonObject createJsonObjectForSuppliers(ArrayList<LinkedHashMap<String, String>> suppliers)
{
JsonObjectBuilder jsonBuilder = Json.createObjectBuilder();
int counter = 1;
for (LinkedHashMap<String, String> supplier : suppliers)
{
// create an array of key-value pairs
JsonArrayBuilder arraySupplierBld = Json.createArrayBuilder();
// create each key-value pair as seperate object and add it to the array
Set<Map.Entry<String, String>> entrySet = supplier.entrySet();
for (Map.Entry<String, String> entry : entrySet)
{
arraySupplierBld.add(
Json.createObjectBuilder().add(entry.getKey(),
entry.getValue()).build());
}
// add supplier-array to object
String objectID = "+" + (counter++);
jsonBuilder.add(objectID, arraySupplierBld);
}
JsonObject allSuppliersJsonObject = jsonBuilder.build();
return allSuppliersJsonObject;
}
/**
* Creates a JsonObject by reading the String data in JSON format
*
* @param jsonData Json format data
* @return JsonObject
*/
public static JsonObject createJsonObjectFromString(String jsonData)
{
JsonReader jsonReader = Json.createReader(new StringReader(jsonData));
JsonObject o = jsonReader.readObject();
return o;
}
/**
* Creates a LinkedHashMap of 4 ENTRYies.Keys name: snumber, sname, status
* and city. Values of map are the parameters.
*
* @param snumber value of map
* @param sname value of map
* @param status value of map
* @param city value of map
* @return
*/
public static LinkedHashMap<String, String> createMapOfSupplier(
String snumber,
String sname,
String status,
String city
)
{
LinkedHashMap<String, String> mapSupplier
= new LinkedHashMap<String, String>();
mapSupplier.put("snumber", snumber);
mapSupplier.put("sname", sname);
mapSupplier.put("status", status);
mapSupplier.put("city", city);
return mapSupplier;
}
public static String supplierJasonObject()
{
ArrayList< LinkedHashMap<String, String>> suppliers = new ArrayList();
for (int i = 1; i <= 2; ++i)
{
LinkedHashMap<String, String> oneSupplierRowOfTable
= createMapOfSupplier(
"s1" + i,
"Johnson" + i,
Integer.toString(20 + i),
"london" + i);
suppliers.add(oneSupplierRowOfTable);
}
JsonObject j = createJsonObjectForSuppliers(suppliers);
return j.toString();
}
public static void writeJsonToTextFile( JsonObject jo)
throws FileNotFoundException
{
String joString = jo.toString();
PrintWriter output = new PrintWriter(new FileOutputStream("jo.json", true));
output.print(joString);
output.close();
}
public static JsonObject readTextFileIntoJson( String fileName)
throws FileNotFoundException
{
File file = new java.io.File(fileName);
Scanner input = new Scanner(file);
String joString = "";
while (input.hasNext())
{
joString += input.next();
}
input.close();
JsonObject jo = createJsonObjectFromString( joString);
return jo;
}
}

View File

@@ -0,0 +1,13 @@
package edu.slcc.asdv.caleb.finalexamproblem2_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 {
}

View File

@@ -0,0 +1,20 @@
package edu.slcc.asdv.caleb.finalexamproblem2_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();
}
}

View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="3.0" xmlns="https://jakarta.ee/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://jakarta.ee/xml/ns/persistence https://jakarta.ee/xml/ns/persistence/persistence_3_0.xsd">
<!-- Define Persistence Unit -->
<persistence-unit name="my_persistence_unit">
</persistence-unit>
</persistence>

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="https://jakarta.ee/xml/ns/jakartaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/beans_4_0.xsd"
bean-discovery-mode="all">
</beans>

View File

@@ -0,0 +1,25 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
This program and the accompanying materials are made available under the
terms of the Eclipse Public License v. 2.0, which is available at
http://www.eclipse.org/legal/epl-2.0.
This Source Code may also be made available under the following Secondary
Licenses when the conditions for such availability set forth in the
Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
version 2 with the GNU Classpath Exception, which is available at
https://www.gnu.org/software/classpath/license.html.
SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-->
<!DOCTYPE glassfish-web-app PUBLIC "-//GlassFish.org//DTD GlassFish Application Server 3.1 Servlet 3.0//EN" "http://glassfish.org/dtds/glassfish-web-app_3_0-1.dtd">
<glassfish-web-app error-url="">
<class-loader delegate="true"/>
<jsp-config>
<property name="keepgenerated" value="true">
<description>Keep a copy of the generated servlet class' java code.</description>
</property>
</jsp-config>
</glassfish-web-app>

View File

@@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="6.0" xmlns="https://jakarta.ee/xml/ns/jakartaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/web-app_6_0.xsd">
<context-param>
<param-name>jakarta.faces.PROJECT_STAGE</param-name>
<param-value>Development</param-value>
</context-param>
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>jakarta.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>/faces/*</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
<welcome-file-list>
<welcome-file>faces/index.xhtml</welcome-file>
</welcome-file-list>
</web-app>

View File

@@ -0,0 +1,16 @@
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="jakarta.faces.html">
<h:head>
<title>Facelet Title</title>
<style>
.preformatted {
white-space: pre-wrap;
}
</style>
</h:head>
<h:body>
<h:outputLabel value="#{jsonBean.compute()}" styleClass="preformatted"/>
</h:body>
</html>

View File

@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<project-shared-configuration>
<!--
This file contains additional configuration written by modules in the NetBeans IDE.
The configuration is intended to be shared among all the users of project and
therefore it is assumed to be part of version control checkout.
Without this configuration present, some functionality in the IDE may be limited or fail altogether.
-->
<properties xmlns="http://www.netbeans.org/ns/maven-properties-data/1">
<!--
Properties that influence various parts of the IDE, especially code formatting and the like.
You can copy and paste the single properties, into the pom.xml file and the IDE will pick them up.
That way multiple projects can share the same settings (useful for formatting rules for example).
Any value defined here will override the pom.xml file value but is only applicable to the current project.
-->
<org-netbeans-modules-maven-j2ee.netbeans_2e_hint_2e_j2eeVersion>10-web</org-netbeans-modules-maven-j2ee.netbeans_2e_hint_2e_j2eeVersion>
<org-netbeans-modules-maven-j2ee.netbeans_2e_hint_2e_deploy_2e_server>gfv700ee10</org-netbeans-modules-maven-j2ee.netbeans_2e_hint_2e_deploy_2e_server>
<org-netbeans-modules-maven-jaxws.rest_2e_config_2e_type>ide</org-netbeans-modules-maven-jaxws.rest_2e_config_2e_type>
<org-netbeans-modules-projectapi.jsf_2e_language>Facelets</org-netbeans-modules-projectapi.jsf_2e_language>
</properties>
</project-shared-configuration>

View File

@@ -0,0 +1,48 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>edu.slcc.asdv.caleb</groupId>
<artifactId>FinalExamProblem3_CalebFontenot</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>war</packaging>
<name>FinalExamProblem3_CalebFontenot-1.0-SNAPSHOT</name>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<jakartaee>10.0.0</jakartaee>
</properties>
<dependencies>
<dependency>
<groupId>jakarta.platform</groupId>
<artifactId>jakarta.jakartaee-api</artifactId>
<version>${jakartaee}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.primefaces</groupId>
<artifactId>primefaces</artifactId>
<version>14.0.0-RC2</version>
<classifier>jakarta</classifier>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<source>11</source>
<target>11</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>3.3.2</version>
</plugin>
</plugins>
</build>
</project>

View File

@@ -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 beans;
import jakarta.inject.Named;
import jakarta.enterprise.context.SessionScoped;
import java.io.Serializable;
/**
*
* @author caleb
*/
@Named(value="slideMenuBean")
@SessionScoped
public class slideMenuBean implements Serializable{
private boolean menuVisable;
public boolean isMenuVisable() { return menuVisable; }
public void toggleSlideMenu() { menuVisable = !menuVisable; }
private String out;
public String getOut() { return out; }
public void setOut(String out) { this.out = out; }
public void handleMenuSelection(int selection) {
String selectedMenuItem;
switch (selection) {
case 0:
selectedMenuItem = "save";
break;
case 1:
selectedMenuItem = "update";
break;
case 2:
selectedMenuItem = "delete";
break;
default:
selectedMenuItem = "unknown";
break;
}
out = "You selected " + selectedMenuItem;
System.out.println(out);
}
/** Creates a new instance of slideMenuBean */
public slideMenuBean() {
}
}

View File

@@ -0,0 +1,13 @@
package edu.slcc.asdv.caleb.finalexamproblem3_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 {
}

View File

@@ -0,0 +1,20 @@
package edu.slcc.asdv.caleb.finalexamproblem3_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();
}
}

View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="3.0" xmlns="https://jakarta.ee/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://jakarta.ee/xml/ns/persistence https://jakarta.ee/xml/ns/persistence/persistence_3_0.xsd">
<!-- Define Persistence Unit -->
<persistence-unit name="my_persistence_unit">
</persistence-unit>
</persistence>

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="https://jakarta.ee/xml/ns/jakartaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/beans_4_0.xsd"
bean-discovery-mode="all">
</beans>

View File

@@ -0,0 +1,25 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
This program and the accompanying materials are made available under the
terms of the Eclipse Public License v. 2.0, which is available at
http://www.eclipse.org/legal/epl-2.0.
This Source Code may also be made available under the following Secondary
Licenses when the conditions for such availability set forth in the
Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
version 2 with the GNU Classpath Exception, which is available at
https://www.gnu.org/software/classpath/license.html.
SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-->
<!DOCTYPE glassfish-web-app PUBLIC "-//GlassFish.org//DTD GlassFish Application Server 3.1 Servlet 3.0//EN" "http://glassfish.org/dtds/glassfish-web-app_3_0-1.dtd">
<glassfish-web-app error-url="">
<class-loader delegate="true"/>
<jsp-config>
<property name="keepgenerated" value="true">
<description>Keep a copy of the generated servlet class' java code.</description>
</property>
</jsp-config>
</glassfish-web-app>

View File

@@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="6.0" xmlns="https://jakarta.ee/xml/ns/jakartaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/web-app_6_0.xsd">
<context-param>
<param-name>jakarta.faces.PROJECT_STAGE</param-name>
<param-value>Development</param-value>
</context-param>
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>jakarta.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>/faces/*</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
<welcome-file-list>
<welcome-file>faces/index.xhtml</welcome-file>
</welcome-file-list>
</web-app>

View File

@@ -0,0 +1,25 @@
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="jakarta.faces.html"
xmlns:p="http://primefaces.org/ui">
<h:head>
<title>Facelet Title</title>
</h:head>
<h:body>
<h:form id="f1">
<p:commandButton
id="id_btn" style="width: 33px; height:33px; margin-left: 5px"
value="#{menuBean.selectedMenuItem}"
type="button" icon="pi pi-bars">
<p:ajax event="click" listener="#{slideMenuBean.toggleSlideMenu}" update="sm1"/>
</p:commandButton>
<p:slideMenu id="sm1" style="display: #{slideMenuBean.menuVisable ? 'block' : 'none'};">
<p:menuitem value="Save" action="#{slideMenuBean.handleMenuSelection(0)}" icon="pi pi-save"/>
<p:menuitem value="Update" action="#{slideMenuBean.handleMenuSelection(1)}" icon="pi pi-refresh"/>
<p:menuitem value="Delete" action="#{slideMenuBean.handleMenuSelection(2)}" icon="pi pi-trash"/>
</p:slideMenu>
<p:outputLabel id="ol1" value="#{slideMenuBean.out}"/>
</h:form>
</h:body>
</html>

View File

@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<project-shared-configuration>
<!--
This file contains additional configuration written by modules in the NetBeans IDE.
The configuration is intended to be shared among all the users of project and
therefore it is assumed to be part of version control checkout.
Without this configuration present, some functionality in the IDE may be limited or fail altogether.
-->
<properties xmlns="http://www.netbeans.org/ns/maven-properties-data/1">
<!--
Properties that influence various parts of the IDE, especially code formatting and the like.
You can copy and paste the single properties, into the pom.xml file and the IDE will pick them up.
That way multiple projects can share the same settings (useful for formatting rules for example).
Any value defined here will override the pom.xml file value but is only applicable to the current project.
-->
<org-netbeans-modules-maven-j2ee.netbeans_2e_hint_2e_j2eeVersion>10-web</org-netbeans-modules-maven-j2ee.netbeans_2e_hint_2e_j2eeVersion>
<org-netbeans-modules-maven-j2ee.netbeans_2e_hint_2e_deploy_2e_server>gfv700ee10</org-netbeans-modules-maven-j2ee.netbeans_2e_hint_2e_deploy_2e_server>
<org-netbeans-modules-projectapi.jsf_2e_language>Facelets</org-netbeans-modules-projectapi.jsf_2e_language>
<org-netbeans-modules-maven-jaxws.rest_2e_config_2e_type>ide</org-netbeans-modules-maven-jaxws.rest_2e_config_2e_type>
</properties>
</project-shared-configuration>

View File

@@ -0,0 +1,42 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>asdv</groupId>
<artifactId>Problem2Final2800</artifactId>
<version>1</version>
<packaging>war</packaging>
<name>Problem2Final2800-1</name>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<jakartaee>10.0.0</jakartaee>
</properties>
<dependencies>
<dependency>
<groupId>jakarta.platform</groupId>
<artifactId>jakarta.jakartaee-api</artifactId>
<version>${jakartaee}</version>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<source>11</source>
<target>11</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>3.3.2</version>
</plugin>
</plugins>
</build>
</project>

View File

@@ -0,0 +1,13 @@
package asdv.problem2final2800;
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 {
}

View File

@@ -0,0 +1,20 @@
package asdv.problem2final2800.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();
}
}

View File

@@ -0,0 +1,32 @@
package beans;
import java.io.Serializable;
import jakarta.inject.Named;
import jakarta.faces.view.ViewScoped;
@Named(value = "templatesBean")
@ViewScoped
public class TemplatesBean implements Serializable
{
private String msgTopDefault = "";
private String msgBottomDefault = "";
private String msgLeftDefault = "Generate a number between 1 and 100!";
private String msgCenterDefault = "No center content ... press the below button!";
public String getMsgLeftDefault() { return msgLeftDefault; }
public void setMsgLeftDefault(String msgLeftDefault) { this.msgLeftDefault = msgLeftDefault; }
public String getMsgTopDefault(){return msgTopDefault;}
public void setMsgTopDefault(String msgTopDefault){this.msgTopDefault = msgTopDefault;}
public String getMsgBottomDefault(){return msgBottomDefault;}
public void setMsgBottomDefault(String msgBottomDefault){this.msgBottomDefault = msgBottomDefault;}
public String getMsgCenterDefault(){return msgCenterDefault;}
public void setMsgCenterDefault(String msgCenterDefault){this.msgCenterDefault = msgCenterDefault;}
public void leftAction() {
int randInt = (int) (Math.random() * 100 + 1);
this.msgLeftDefault = "" + randInt;
}
public void topAction(String msg){this.msgTopDefault = msg;}
public void bottomAction(String msg){this.msgBottomDefault = msg;
System.out.println( this.msgBottomDefault );}
public void centerAction(){this.msgCenterDefault = "This is default content";}
}

View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="3.0" xmlns="https://jakarta.ee/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://jakarta.ee/xml/ns/persistence https://jakarta.ee/xml/ns/persistence/persistence_3_0.xsd">
<!-- Define Persistence Unit -->
<persistence-unit name="my_persistence_unit">
</persistence-unit>
</persistence>

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="https://jakarta.ee/xml/ns/jakartaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/beans_4_0.xsd"
bean-discovery-mode="all">
</beans>

View File

@@ -0,0 +1,25 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
This program and the accompanying materials are made available under the
terms of the Eclipse Public License v. 2.0, which is available at
http://www.eclipse.org/legal/epl-2.0.
This Source Code may also be made available under the following Secondary
Licenses when the conditions for such availability set forth in the
Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
version 2 with the GNU Classpath Exception, which is available at
https://www.gnu.org/software/classpath/license.html.
SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-->
<!DOCTYPE glassfish-web-app PUBLIC "-//GlassFish.org//DTD GlassFish Application Server 3.1 Servlet 3.0//EN" "http://glassfish.org/dtds/glassfish-web-app_3_0-1.dtd">
<glassfish-web-app error-url="">
<class-loader delegate="true"/>
<jsp-config>
<property name="keepgenerated" value="true">
<description>Keep a copy of the generated servlet class' java code.</description>
</property>
</jsp-config>
</glassfish-web-app>

View File

@@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="6.0" xmlns="https://jakarta.ee/xml/ns/jakartaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/web-app_6_0.xsd">
<context-param>
<param-name>jakarta.faces.PROJECT_STAGE</param-name>
<param-value>Development</param-value>
</context-param>
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>jakarta.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>/faces/*</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
<welcome-file-list>
<welcome-file>faces/index.xhtml</welcome-file>
</welcome-file-list>
</web-app>

View File

@@ -0,0 +1,15 @@
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://xmlns.jcp.org/jsf/html"
xmlns:ui="http://xmlns.jcp.org/jsf/facelets">
<h:head>
<title></title>
</h:head>
<h:body>
<ui:composition template="template/layout.xhtml">
</ui:composition>
</h:body>
</html>

View File

@@ -0,0 +1,37 @@
#top {
position: relative;
background-color: #cccccc;
padding: 5px;
margin: 0px 0px 10px 0px;
text-align:center;
}
#bottom {
position: relative;
background-color: #cccccc;
padding: 5px;
margin: 10px 0px 0px 0px;
text-align:center;
}
#left {
float: left;
background-color: #cccc11;
position: relative;
padding: 5px;
width: 150px;
text-align:center;
}
#right {
float: right;
position: relative;
background-color: #cccc11;
padding: 5px;
width: 150px;
text-align:center;
}
#content {
background-color: #00cc00;
padding: 5px;
margin: 0px 170px 0px 170px;
text-align:center;
}

View File

@@ -0,0 +1,10 @@
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: 10px;
}

View File

@@ -0,0 +1,17 @@
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
xmlns:h="http://xmlns.jcp.org/jsf/html">
<ui:composition>
<h:outputText value="#{templatesBean.msgBottomDefault}"/>
<h:form>
<h:commandButton value="Bottom Button"
action="#{templatesBean[bottomActionName](arg)}"/>
</h:form>
</ui:composition>
</html>

View File

@@ -0,0 +1,16 @@
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
xmlns:h="http://xmlns.jcp.org/jsf/html">
<h:body>
<ui:composition>
<h:outputText value="#{templatesBean[contentPropertyName]}"/>
<h:form>
<h:commandButton value="Center Button"
action="#{templatesBean['centerAction']()}"/>
</h:form>
</ui:composition>
</h:body>
</html>

View File

@@ -0,0 +1,14 @@
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
xmlns:h="http://xmlns.jcp.org/jsf/html">
<ui:composition>
<h:outputText value="#{templatesBean.msgLeftDefault}"/>
<h:form>
<h:commandButton value="Left Button"
action="#{templatesBean.leftAction()}"/>
</h:form>
</ui:composition>
</html>

View File

@@ -0,0 +1,10 @@
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
xmlns:h="http://xmlns.jcp.org/jsf/html">
<ui:composition>
This is default right side
</ui:composition>
</html>

View File

@@ -0,0 +1,13 @@
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
xmlns:h="http://xmlns.jcp.org/jsf/html">
<ui:composition>
<h:outputText value="#{templatesBean.msgTopDefault}"/>
<h:form>
<h:commandButton value="Top Button"
action="#{templatesBeanName[topActionName](arg)}"/>
</h:form>
</ui:composition>
</html>

View File

@@ -0,0 +1,59 @@
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
xmlns:h="http://xmlns.jcp.org/jsf/html">
<h:head>
<h:outputStylesheet library="css" name="default.css"/>
<h:outputStylesheet library="css" name="cssLayout.css"/>
<title>My Template</title>
</h:head>
<h:body>
<div id="top">
<ui:insert name="top">
<ui:include src="/template/default/topDefault.xhtml">
<ui:param name="templatesBeanName" value="#{templatesBean}"/>
<ui:param name="topActionName" value="topAction"/>
<ui:param name="arg" value="Hello from topDefault.xhtml ..."/>
</ui:include>
</ui:insert>
</div>
<div>
<div id="left">
<ui:insert name="left">
<ui:include src="/template/default/leftDefault.xhtml" />
</ui:insert>
</div>
<div id="right">
<ui:insert name="right">
<ui:include src="/template/default/rightDefault.xhtml" />
</ui:insert>
</div>
<div id="content">
<ui:insert name="content">
<ui:include src="/template/default/contentDefault.xhtml">
<ui:param name="templatesBeanName" value="#{templatesBean}"/>
<ui:param name="contentPropertyName" value="msgCenterDefault"/>
</ui:include>
</ui:insert>
</div>
</div>
<div id="bottom">
<ui:insert name="bottom">
<ui:include src="/template/default/bottomDefault.xhtml">
<ui:param name="templatesBeanName" value="#{templatesBean}"/>
<ui:param name="bottomActionName" value="bottomAction"/>
<ui:param name="arg"
value="Hello from bottomDefault.xhtml ..."/>
</ui:include>
</ui:insert>
</div>
</h:body>
</html>

View File

@@ -0,0 +1,59 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>page1.xhtml</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<style type="text/css">
<!--
body {color: #a9b7c6; background-color: #2b2b2b; font-family: monospace}
pre {color: #a9b7c6; background-color: #2b2b2b; font-family: monospace}
table {color: #888888; background-color: #313335; font-family: monospace}
.ST3 {color: #e8bf6a}
.ST6 {color: #e8bf6a; font-family: monospace; font-weight: bold}
.ST7 {color: #6a8759}
.ST1 {color: #505050}
.ST4 {color: #bababa}
.ST2 {color: #287bde}
.ST0 {color: #628fb5}
.ST5 {color: #a5c261}
.expression-language {background-color: #232525}
.highlight-caret-row {background-color: #323232}
-->
</style>
</head>
<body>
<table width="100%"><tr><td align="center">/home/caleb/ASDV-WebDev/Semester 3/Exams-Quizzes/ProgrammingExam1_CalebFontenot/src/main/webapp/page1.xhtml</td></tr></table>
<pre>
<span class="highlight-caret-row">&lt;?xml version=&#39;1.0&#39; encoding=&#39;UTF-8&#39; ?&gt;</span>
<span class="ST0">&lt;!DOCTYPE</span> <span class="ST0">html</span> <span class="ST0">PUBLIC</span> <span class="ST0">&quot;-//W3C//DTD</span> <span class="ST0">XHTML</span> <span class="ST0">1.0</span> <span class="ST0">Transitional//EN&quot;</span> <span class="ST0">&quot;</span><span class="ST2">http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd</span><span class="ST0">&quot;</span><span class="ST0">&gt;</span>
<span class="ST3">&lt;</span><span class="ST3">html</span> <span class="ST4">xmlns</span><span class="ST4">=</span><span class="ST5">&quot;</span><span class="ST2">http://www.w3.org/1999/xhtml</span><span class="ST5">&quot;</span>
<span class="ST4">xmlns:h</span><span class="ST4">=</span><span class="ST5">&quot;jakarta.faces.html&quot;</span>
<span class="ST4">xmlns:p</span><span class="ST4">=</span><span class="ST5">&quot;</span><span class="ST2">http://primefaces.org/ui</span><span class="ST5">&quot;</span><span class="ST3">&gt;</span>
<span class="ST6">&lt;</span><span class="ST6">h:head</span><span class="ST6">&gt;</span>
<span class="ST3">&lt;</span><span class="ST3">title</span><span class="ST3">&gt;</span>Facelet Title<span class="ST3">&lt;/</span><span class="ST3">title</span><span class="ST3">&gt;</span>
<span class="ST3">&lt;</span><span class="ST3">style</span><span class="ST3">&gt;</span>
<span class="ST7">body</span> {
text-align: center
}
<span class="ST3">&lt;/</span><span class="ST3">style</span><span class="ST3">&gt;</span>
<span class="ST6">&lt;/</span><span class="ST6">h:head</span><span class="ST6">&gt;</span>
<span class="ST6">&lt;</span><span class="ST6">h:body</span><span class="ST6">&gt;</span>
<span class="ST6">&lt;</span><span class="ST6">h:form</span><span class="ST6">&gt;</span>
<span class="ST3">&lt;</span><span class="ST3">h2</span> <span class="ST4">style</span><span class="ST4">=</span><span class="ST5">&quot;</span>display: inline;<span class="ST5">&quot;</span><span class="ST3">&gt;</span>Miles to kilometers label 1: <span class="ST3">&lt;/</span><span class="ST3">h2</span><span class="ST3">&gt;</span>
<span class="ST6">&lt;</span><span class="ST6">h:outputText</span> <span class="ST4">id</span><span class="ST4">=</span><span class="ST5">&quot;output1&quot;</span> <span class="ST4">style</span><span class="ST4">=</span><span class="ST5">&quot;</span>display: inline;<span class="ST5">&quot;</span> <span class="ST4">value</span><span class="ST4">=</span><span class="ST5">&quot;</span><span class="expression-language">#{</span><span class="expression-language">problem1Bean</span><span class="expression-language">.</span><span class="expression-language">output</span><span class="expression-language">}</span><span class="ST5">&quot;</span><span class="ST3">/</span><span class="ST6">&gt;</span>
<span class="ST3">&lt;</span><span class="ST3">br</span><span class="ST3">/&gt;</span>
<span class="ST3">&lt;</span><span class="ST3">h2</span> <span class="ST4">style</span><span class="ST4">=</span><span class="ST5">&quot;</span>display: inline;<span class="ST5">&quot;</span><span class="ST3">&gt;</span>Miles to kilometers label 2: <span class="ST3">&lt;/</span><span class="ST3">h2</span><span class="ST3">&gt;</span>
<span class="ST6">&lt;</span><span class="ST6">h:outputText</span> <span class="ST4">id</span><span class="ST4">=</span><span class="ST5">&quot;output2&quot;</span> <span class="ST4">style</span><span class="ST4">=</span><span class="ST5">&quot;</span>display: inline;<span class="ST5">&quot;</span> <span class="ST4">value</span><span class="ST4">=</span><span class="ST5">&quot;</span><span class="expression-language">#{</span><span class="expression-language">problem1Bean</span><span class="expression-language">.</span><span class="expression-language">output</span><span class="expression-language">}</span><span class="ST5">&quot;</span><span class="ST3">/</span><span class="ST6">&gt;</span>
<span class="ST3">&lt;</span><span class="ST3">br</span><span class="ST3">/&gt;</span>
<span class="ST6">&lt;</span><span class="ST6">p:inputText</span> <span class="ST4">value</span><span class="ST4">=</span><span class="ST5">&quot;</span><span class="expression-language">#{</span><span class="expression-language">problem1Bean</span><span class="expression-language">.</span><span class="expression-language">input</span><span class="expression-language">}</span><span class="ST5">&quot;</span> <span class="ST6">&gt;</span>
<span class="ST6">&lt;</span><span class="ST6">p:ajax</span> <span class="ST4">event</span><span class="ST4">=</span><span class="ST5">&quot;keyup&quot;</span> <span class="ST4">listener</span><span class="ST4">=</span><span class="ST5">&quot;</span><span class="expression-language">#{</span><span class="expression-language">problem1Bean</span><span class="expression-language">.</span><span class="expression-language">convert</span><span class="expression-language">}</span><span class="ST5">&quot;</span> <span class="ST4">update</span><span class="ST4">=</span><span class="ST5">&quot;output2&quot;</span><span class="ST3">/</span><span class="ST6">&gt;</span>
<span class="ST6">&lt;/</span><span class="ST6">p:inputText</span><span class="ST6">&gt;</span>
mi<span class="ST3">&lt;</span><span class="ST3">br</span><span class="ST3">/&gt;</span>
<span class="ST6">&lt;</span><span class="ST6">p:commandButton</span> <span class="ST4">value</span><span class="ST4">=</span><span class="ST5">&quot;Convert Miles to Killometers&quot;</span> <span class="ST4">action</span><span class="ST4">=</span><span class="ST5">&quot;</span><span class="expression-language">#{</span><span class="expression-language">problem1Bean</span><span class="expression-language">.</span><span class="expression-language">convert</span><span class="expression-language">}</span><span class="ST5">&quot;</span> <span class="ST4">update</span><span class="ST4">=</span><span class="ST5">&quot;output1 output2&quot;</span><span class="ST3">/</span><span class="ST6">&gt;</span>
<span class="ST6">&lt;/</span><span class="ST6">h:form</span><span class="ST6">&gt;</span>
<span class="ST6">&lt;/</span><span class="ST6">h:body</span><span class="ST6">&gt;</span>
<span class="ST3">&lt;/</span><span class="ST3">html</span><span class="ST3">&gt;</span>
</pre></body>
</html>

View File

@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<project-shared-configuration>
<!--
This file contains additional configuration written by modules in the NetBeans IDE.
The configuration is intended to be shared among all the users of project and
therefore it is assumed to be part of version control checkout.
Without this configuration present, some functionality in the IDE may be limited or fail altogether.
-->
<properties xmlns="http://www.netbeans.org/ns/maven-properties-data/1">
<!--
Properties that influence various parts of the IDE, especially code formatting and the like.
You can copy and paste the single properties, into the pom.xml file and the IDE will pick them up.
That way multiple projects can share the same settings (useful for formatting rules for example).
Any value defined here will override the pom.xml file value but is only applicable to the current project.
-->
<org-netbeans-modules-maven-j2ee.netbeans_2e_hint_2e_j2eeVersion>10-web</org-netbeans-modules-maven-j2ee.netbeans_2e_hint_2e_j2eeVersion>
<org-netbeans-modules-maven-j2ee.netbeans_2e_hint_2e_deploy_2e_server>gfv700ee10</org-netbeans-modules-maven-j2ee.netbeans_2e_hint_2e_deploy_2e_server>
<org-netbeans-modules-maven-jaxws.rest_2e_config_2e_type>ide</org-netbeans-modules-maven-jaxws.rest_2e_config_2e_type>
<org-netbeans-modules-projectapi.jsf_2e_language>Facelets</org-netbeans-modules-projectapi.jsf_2e_language>
</properties>
</project-shared-configuration>

View File

@@ -0,0 +1,48 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>edu.slcc.asdv.caleb</groupId>
<artifactId>ProgrammingExam1_CalebFontenot</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>war</packaging>
<name>ProgrammingExam1_CalebFontenot-1.0-SNAPSHOT</name>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<jakartaee>10.0.0</jakartaee>
</properties>
<dependencies>
<dependency>
<groupId>jakarta.platform</groupId>
<artifactId>jakarta.jakartaee-api</artifactId>
<version>${jakartaee}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.primefaces</groupId>
<artifactId>primefaces</artifactId>
<version>13.0.5</version>
<classifier>jakarta</classifier>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<source>11</source>
<target>11</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>3.3.2</version>
</plugin>
</plugins>
</build>
</project>

View File

@@ -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 beans;
import jakarta.inject.Named;
import jakarta.enterprise.context.SessionScoped;
import jakarta.faces.application.FacesMessage;
import jakarta.faces.context.FacesContext;
import jakarta.faces.event.AjaxBehaviorEvent;
import java.io.Serializable;
import org.primefaces.PrimeFaces;
/**
*
* @author caleb
*/
@Named(value="problem1Bean")
@SessionScoped
public class Problem1Bean implements Serializable {
private boolean checkboxState = true;
private String input;
private String output = "test";
public String getOutput() { return output; }
public String getInput() { return input; }
public void setInput(String input) { this.input = input; }
public void setOutput(String output) {this.output = output;}
public boolean isCheckboxState() { return checkboxState; }
public void setCheckboxState(boolean checkboxState) { System.out.println("checkbox state updated: " + checkboxState); this.checkboxState = checkboxState; }
public void convert() {
System.out.println("convert");
double miles = Double.parseDouble(input);
output = String.valueOf(miles * 1.609344) + "km";
String messageContent = "Result of " + miles + "mi to km is: " + output;
System.out.println(messageContent);
FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_INFO, "Converter:", messageContent);
FacesContext.getCurrentInstance().addMessage(null, message);
PrimeFaces.current().ajax().update("MyForm:messages");
}
/** Creates a new instance of Problem1Bean */
public Problem1Bean() {
}
}

View File

@@ -0,0 +1,53 @@
/*
* 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.Dependent;
import jakarta.enterprise.context.SessionScoped;
import java.io.Serializable;
/**
*
* @author caleb
*/
@Named(value="a")
@SessionScoped
public class Problem3Bean implements Serializable {
private String value1;
private String value2;
public String getValue2()
{
return value2;
}
public void setValue2(String value2)
{
this.value2 = value2;
}
public String getValue1()
{
return value1;
}
public void setValue1(String value1)
{
this.value1 = value1;
}
public void b (String a, String b) {
this.value1 = a;
this.value2 = b;
}
/** Creates a new instance of Problem3Bean */
public Problem3Bean() {
}
}

View File

@@ -0,0 +1,13 @@
package edu.slcc.asdv.caleb.programmingexam1_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 {
}

View File

@@ -0,0 +1,20 @@
package edu.slcc.asdv.caleb.programmingexam1_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();
}
}

View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="3.0" xmlns="https://jakarta.ee/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://jakarta.ee/xml/ns/persistence https://jakarta.ee/xml/ns/persistence/persistence_3_0.xsd">
<!-- Define Persistence Unit -->
<persistence-unit name="my_persistence_unit">
</persistence-unit>
</persistence>

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="https://jakarta.ee/xml/ns/jakartaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/beans_4_0.xsd"
bean-discovery-mode="all">
</beans>

View File

@@ -0,0 +1,25 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
This program and the accompanying materials are made available under the
terms of the Eclipse Public License v. 2.0, which is available at
http://www.eclipse.org/legal/epl-2.0.
This Source Code may also be made available under the following Secondary
Licenses when the conditions for such availability set forth in the
Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
version 2 with the GNU Classpath Exception, which is available at
https://www.gnu.org/software/classpath/license.html.
SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-->
<!DOCTYPE glassfish-web-app PUBLIC "-//GlassFish.org//DTD GlassFish Application Server 3.1 Servlet 3.0//EN" "http://glassfish.org/dtds/glassfish-web-app_3_0-1.dtd">
<glassfish-web-app error-url="">
<class-loader delegate="true"/>
<jsp-config>
<property name="keepgenerated" value="true">
<description>Keep a copy of the generated servlet class' java code.</description>
</property>
</jsp-config>
</glassfish-web-app>

View File

@@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="6.0" xmlns="https://jakarta.ee/xml/ns/jakartaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/web-app_6_0.xsd">
<context-param>
<param-name>jakarta.faces.PROJECT_STAGE</param-name>
<param-value>Development</param-value>
</context-param>
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>jakarta.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>/faces/*</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
<welcome-file-list>
<welcome-file>faces/index.xhtml</welcome-file>
</welcome-file-list>
</web-app>

View File

@@ -0,0 +1,13 @@
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="jakarta.faces.html">
<h:head>
<title>Facelet Title</title>
</h:head>
<h:body>
<h:link value="Page 1" outcome="page1.xhtml"/><br/>
<h:link value="Page 2" outcome="page2.xhtml"/><br/>
<h:link value="Page 3" outcome="page3.xhtml"/><br/>
</h:body>
</html>

View File

@@ -0,0 +1,31 @@
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="jakarta.faces.html"
xmlns:p="http://primefaces.org/ui">
<h:head>
<title>Facelet Title</title>
<style>
body {
text-align: center
}
</style>
</h:head>
<h:body>
<h:form id="MyForm">
<p:growl id="messages" showDetail="true" />
<h2 style="display: inline;">Miles to kilometers label 1: </h2>
<h:outputText id="output1" style="display: inline;" value="#{problem1Bean.output}"/>
<br/>
<h2 style="display: inline;">Miles to kilometers label 2: </h2>
<h:outputText id="output2" style="display: inline;" value="#{problem1Bean.output}"/>
<br/>
<p:inputText value="#{problem1Bean.input}" >
<p:ajax event="keyup" listener="#{problem1Bean.convert}" update="output2"/>
</p:inputText>
mi<br/>
<p:commandButton value="Convert Miles to Killometers" action="#{problem1Bean.convert}" update="output1 output2"/>
</h:form>
</h:body>
</html>

View File

@@ -0,0 +1,37 @@
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="jakarta.faces.html"
xmlns:p="http://primefaces.org/ui"
xmlns:f="jakarta.faces.core">
<h:head>
<title>Facelet Title</title>
<style>
body {
text-align: center
}
</style>
</h:head>
<h:body>
<h:form id="MyForm">
<h:panelGroup id="togglePanel" rendered="#{problem1Bean.checkboxState}">
<p:growl id="messages" showDetail="true" />
<h2 style="display: inline;">Miles to kilometers label 1: </h2>
<h:outputText id="output1" style="display: inline;" value="#{problem1Bean.output}"/>
<br/>
<h2 style="display: inline;">Miles to kilometers label 2: </h2>
<h:outputText id="output2" style="display: inline;" value="#{problem1Bean.output}"/>
<br/>
<p:inputText value="#{problem1Bean.input}" >
<p:ajax event="keyup" listener="#{problem1Bean.convert}" update="output1 output2"/>
</p:inputText>
mi<br/>
</h:panelGroup>
show converter
<p:selectBooleanCheckbox value="#{problem1Bean.checkboxState}">
<f:ajax event="change" render="MyForm"/>
</p:selectBooleanCheckbox>
</h:form>
</h:body>
</html>

View File

@@ -0,0 +1,17 @@
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="jakarta.faces.html"
xmlns:ui="jakarta.faces.facelets">
<h:head>
<title>Facelet Title</title>
</h:head>
<h:body>
<ui:composition template="/template1.xhtml">
<ui:define name="content">
<ui:param name="param1" value="value1"/>
<ui:param name="param2" value="value2"/>
</ui:define>
</ui:composition>
</h:body>
</html>

View File

@@ -0,0 +1,11 @@
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="jakarta.faces.html"
xmlns:ui="jakarta.faces.facelets">
<ui:composition>
<h:form>
<h:outputText value="#{a[b](c, d)}"/>
</h:form>
</ui:composition>
</html>