*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,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>JSP</org-netbeans-modules-projectapi.jsf_2e_language>
<netbeans.hint.jdkPlatform>JDK_11__System_</netbeans.hint.jdkPlatform>
</properties>
</project-shared-configuration>

View File

@@ -0,0 +1,77 @@
<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.chance</groupId>
<artifactId>MultiComponents_Collections</artifactId>
<version>1</version>
<packaging>war</packaging>
<name>MultiComponents_Collections</name>
<properties>
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
<endorsed.dir>${project.build.directory}/endorsed</endorsed.dir>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<failOnMissingWebXml>false</failOnMissingWebXml>
<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>
<compilerArguments>
<endorseddirs>${endorsed.dir}</endorseddirs>
</compilerArguments>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.3</version>
<configuration>
<failOnMissingWebXml>false</failOnMissingWebXml>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.6</version>
<executions>
<execution>
<phase>validate</phase>
<goals>
<goal>copy</goal>
</goals>
<configuration>
<outputDirectory>${endorsed.dir}</outputDirectory>
<silent>true</silent>
<artifactItems>
<artifactItem>
<groupId>jakarta.platform</groupId>
<artifactId>jakarta.jakartaee-api</artifactId>
<version>${jakartaee}</version>
<type>jar</type>
</artifactItem>
</artifactItems>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>

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