*internal screaming*

This commit is contained in:
2023-10-20 13:38:03 -05:00
parent b072abc361
commit 4f7b942791
61 changed files with 2615 additions and 101 deletions

View File

@@ -0,0 +1,32 @@
/*
* 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 converters;
import jakarta.faces.component.UIComponent;
import jakarta.faces.context.FacesContext;
import jakarta.faces.convert.Converter;
import jakarta.faces.convert.FacesConverter;
import pojos.Weekday;
/**
*
* @author caleb
*/
@FacesConverter(forClass=Weekday.class)
public class WeekdayConverter implements Converter{
@Override
public Object getAsObject(FacesContext context, UIComponent component, String value)
{
return new Weekday(value);
}
@Override
public String getAsString(FacesContext context, UIComponent component, Object dayOfWeek)
{
return dayOfWeek.toString();
}
}

View File

@@ -0,0 +1,226 @@
/*
* 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.chance.bean;
import jakarta.enterprise.context.RequestScoped;
import jakarta.faces.component.UIComponent;
import jakarta.faces.model.SelectItem;
import jakarta.inject.Named;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
import pojos.Weekday;
@Named(value = "registration")
@RequestScoped
public class RegistrationJSFBean {
private String lastName;
private String firstName;
private String mi;
private String gender;
private String major;
private List<String> minor; // fills up from the setters
private List<SelectItem> minorSelectItem;
private Set<String> hobby;
private String remarks;
private UIComponent c;
private List<Weekday> daysToContact;
private List<SelectItem> daysToContactSelectItem;
private List<SelectItem> genderSelectItem;
private List<SelectItem> majorSelectItem;
public List<SelectItem> getMajorSelectItem()
{
return majorSelectItem;
}
public void setMajorSelectItem(List<SelectItem> majorSelectItem)
{
this.majorSelectItem = majorSelectItem;
}
/**
* Get the value of genderSelectItems
*
* @return the value of genderSelectItems
*/
public List<SelectItem> getGenderSelectItem()
{
return genderSelectItem;
}
/**
* Set the value of genderSelectItems
*
* @param genderSelectItems new value of genderSelectItems
*/
public void setGenderSelectItem(List<SelectItem> genderSelectItems)
{
this.genderSelectItem = genderSelectItems;
}
public List<Weekday> getDaysToContact()
{
return daysToContact;
}
public void setDaysToContact(List<Weekday> daysToContact)
{
this.daysToContact = daysToContact;
}
public List<SelectItem> getDaysToContactSelectItem()
{
return daysToContactSelectItem;
}
public void setDaysToContactSelectItem(List<SelectItem> daysToContactSelectItem)
{
this.daysToContactSelectItem = daysToContactSelectItem;
}
public RegistrationJSFBean()
{
majorSelectItem = new ArrayList<SelectItem>();
majorSelectItem.add(new SelectItem("ASDV"));
majorSelectItem.add(new SelectItem("Math"));
majorSelectItem.add(new SelectItem("IT"));
minorSelectItem = new ArrayList<SelectItem>();
minorSelectItem.add(new SelectItem("Anth"));
minorSelectItem.add(new SelectItem("Eng"));
minorSelectItem.add(new SelectItem("Geog"));
minorSelectItem.add(new SelectItem("Psyc"));
SelectItem s1 = new SelectItem("abc", "def");
daysToContactSelectItem = new ArrayList<SelectItem>();
daysToContactSelectItem.add(new SelectItem(new Weekday("SUN"), "Sunday"));
daysToContactSelectItem.add(new SelectItem(new Weekday("MON"), "Monday"));
daysToContactSelectItem.add(new SelectItem(new Weekday("TUE"), "Tuesday"));
daysToContactSelectItem.add(new SelectItem(new Weekday("WED"), "Wednesday"));
daysToContactSelectItem.add(new SelectItem(new Weekday("THU"), "Thursday"));
daysToContactSelectItem.add(new SelectItem(new Weekday("FRI"), "Friday"));
daysToContactSelectItem.add(new SelectItem(new Weekday("SAT"), "Saturday"));
genderSelectItem = new ArrayList<SelectItem>();
genderSelectItem.add(new SelectItem("Male", "Male"));
genderSelectItem.add(new SelectItem("Female", "Female"));
}
public UIComponent getC()
{
return c;
}
public void setC(UIComponent c)
{
this.c = c;
System.out.println("setC(UIComponent c)" + this.c.getId());
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getMi() {
return mi;
}
public void setMi(String mi) {
this.mi = mi;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public String getMajor() {
return major;
}
public void setMajor(String major) {
this.major = major;
}
public List<String> getMinor() {
return minor;
}
public void setMinor(List<String> minor) {
this.minor = minor;
}
public List<SelectItem> getMinorSelectItem() {
return minorSelectItem;
}
public Set<String> getHobby() {
return hobby;
}
public void setHobby(Set<String> hobby) {
this.hobby = hobby;
}
public String getRemarks() {
return remarks;
}
public void setRemarks(String remarks) {
this.remarks = remarks;
}
public String getResponse() {
if (lastName == null)
return ""; // Request has not been made
else {
String allMinor = "";
for (String s: minor) {
allMinor += s + " ";
}
String allHobby = "";
for (String s: hobby) {
allHobby += s + " ";
}
String daysOfContact = "";
for (Weekday d : this.daysToContact) {
daysOfContact += d + " ";
}
return "<p style=\"color:green\">You entered <br />" +
"Last Name: " + lastName + "<br />" +
"First Name: " + firstName + "<br />" +
"MI: " + mi + "<br />" +
"Gender: " + gender + "<br />" +
"Major: " + major + "<br />" +
"Minor: " + allMinor + "<br />" +
"Hobby: " + allHobby + "<br />" +
"Remarks: " + remarks + "</p>";
}
}
}

View File

@@ -0,0 +1,13 @@
package edu.slcc.asdv.chance.labmulticomponentsstockman;
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.chance.labmulticomponentsstockman.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,37 @@
/*
* 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;
/**
*
* @author caleb
*/
public class Weekday implements Serializable {
public Weekday(String value)
{
}
private String dayOfWeek;
@Override
public String toString()
{
return "Weekday{" + "dayOfWeek=" + dayOfWeek + '}';
}
public String getDayOfWeek()
{
return dayOfWeek;
}
public void setDayOfWeek(String dayOfWeek)
{
this.dayOfWeek = dayOfWeek;
}
}

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"?>
<!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">
<!--
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
-->
<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,22 @@
<?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,80 @@
<?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:f="http://xmlns.jcp.org/jsf/core">
<h:head>
<title>Facelet Title</title>
</h:head>
<h:body>
<h:form>
<!-- Use h:graphicImage -->
<h3>Student Registration Form
<h:graphicImage width="29" height="20" name="us.gif" library="images"/>
</h3>
<!-- Use h:panelGrid -->
<h:panelGrid columns="6" style="color:green">
<h:outputLabel value="Last Name"/>
<h:inputText binding="#{registration.c}" id="lastNameInputText" value="#{registration.lastName}"/>
<h:outputLabel value="First Name" >
<h:inputText id="firstNameInputText" required="true"
value="#{registration.firstName}"/>
</h:outputLabel>
<h:outputLabel value="MI" />
<h:inputText id="miInputText" size="1" value="#{registration.mi}"/>
</h:panelGrid>
<!-- Use radio buttons -->
<h:panelGrid columns="2">
<h:outputLabel>Gender </h:outputLabel>
<h:selectOneRadio id="genderSelectOneRadio" value="#{registration.gender}">
<f:selectItems value="#{registration.genderSelectItem}"/>
</h:selectOneRadio>
</h:panelGrid>
<!-- Use combo box and list -->
<h:panelGrid columns="4">
<h:outputLabel value="Major "/>
<h:selectOneMenu id="majorSelectOneMenu" value="#{registration.major}">
<f:selectItems value="#{registration.majorSelectItem}"/>
</h:selectOneMenu>
<h:outputLabel value="Minor "/>
<h:selectManyListbox value="#{registration.minor}">
<f:selectItems value="#{registration.minorSelectItem}"/>
</h:selectManyListbox>
</h:panelGrid>
<!-- Use check boxes -->
<h:panelGrid columns="4">
<h:outputLabel value="Hobby: "/>
<h:selectManyCheckbox id="hobbySelectManyCheckbox" value="#{registration.hobby}">
<f:selectItem itemValue="Tennis"/>
<f:selectItem itemValue="Golf"/>
<f:selectItem itemValue="Ping Pong"/>
</h:selectManyCheckbox>
</h:panelGrid>
<!-- Use text area -->
<h:panelGrid columns="1">
<h:selectManyListbox value="#{registration.daysToContact}">
<f:selectItems value="#{registration.daysToContactSelectItem}" var="d" itemLabel="#{d.getLabelOfWeek()}" itemValue="#{d.getDayOfWeek()}"/>
</h:selectManyListbox>
<h:outputLabel>Remarks:</h:outputLabel>
<h:inputTextarea id="remarksInputTextarea"
style="width:400px; height:50px;" value="#{registration.remarks}" />
</h:panelGrid>
<!-- Use command button -->
<h:commandButton value="Register" />
<h:outputText escape="false" style="color:red"
value="#{registration.response}" />
</h:form>
</h:body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB