Mr. Markou you stress me out so freaking much

This commit is contained in:
2023-11-19 23:18:28 -06:00
parent 473a7e61e9
commit 1896014238
149 changed files with 5677 additions and 2 deletions

View File

@@ -0,0 +1,20 @@
<?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>
</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>LabEvents_CalebFontenot</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>war</packaging>
<name>LabEvents_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,31 @@
/*
* 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;
import jakarta.faces.event.ActionEvent;
@Named(value = "formSettings")
@SessionScoped
public class FormSettings implements Serializable
{
private boolean isNormalSize = true;
public String getBodyStyleClass()
{
if (isNormalSize) return ("normalSize");//css class
else return ("largeSize");
}
public void setNormalSize(ActionEvent event){
System.out.println("****************************setNormalSize called");
isNormalSize = true;}
public void setLargeSize(ActionEvent event){
System.out.println(
"**************************************setLargeSize called");
isNormalSize = false;}
}

View File

@@ -0,0 +1,100 @@
/*
* 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 jakarta.inject.Named;
import jakarta.enterprise.context.SessionScoped;
import jakarta.faces.event.ActionEvent;
import java.io.Serializable;
import java.util.LinkedHashMap;
import java.util.Locale;
import java.util.Map;
@Named(value = "formSettingsLocale")
@SessionScoped
public class FormSettingsLocale implements Serializable
{
private boolean isNormalSize = true;
private boolean isEnglish = true;
private static final Locale ENGLISH = new Locale("en");
private static final Locale SPANISH = new Locale("es");
private static final Locale JAPANESE = new Locale("jp");
private static final Locale GREEK = new Locale("el");
private Locale locale = ENGLISH;
private String language = locale.getLanguage();
private static final Map<String, String> LANGUAGE_MAP
= new LinkedHashMap<>();
static
{
LANGUAGE_MAP.put("English", "en");
LANGUAGE_MAP.put("Español", "es");
LANGUAGE_MAP.put("日本人", "jp");
LANGUAGE_MAP.put(" Ἑλληνικά", "el");
}
public String getBodyStyleClass()
{
if (isNormalSize)
{
return ("normalSize");
}
else
{
return ("largeSize");
}
}
public void setNormalSize(ActionEvent event)
{
isNormalSize = true;
}
public void setLargeSize(ActionEvent event)
{
isNormalSize = false;
}
public Locale getLocale()
{
return (locale);
}
public void swapLocale( ActionEvent event )
{
isEnglish = !isEnglish;
if (isEnglish)
{
locale = ENGLISH;
}
else
{
locale = SPANISH;
}
}
public String getLanguage()
{
return (language);
}
public void setLanguage(String language)
{
this.language = language;
locale = new Locale(language);
}
public Map<String, String> getLanguages()
{
return (LANGUAGE_MAP);
}
}

View File

@@ -0,0 +1,66 @@
package beans;
import jakarta.inject.Named;
import jakarta.enterprise.context.RequestScoped;
@Named(value = "person")
@RequestScoped
public class Person {
private String firstName, lastName, emailAddress;
public String getFirstName()
{
return firstName;
}
public void setFirstName(String firstName)
{
System.out.println("---------------------------------------first name called");
this.firstName = firstName;
}
public String getLastName()
{
return lastName;
}
public void setLastName(String lastName)
{
this.lastName = lastName;
}
public String getEmailAddress()
{
return emailAddress;
}
public void setEmailAddress(String emailAddress)
{
this.emailAddress = emailAddress;
}
public String doRegistration()
{
if (isAnyEmpty(firstName, lastName, emailAddress)) {
return "missing-input";
} else {
return "confirm-registration";
}
}
private boolean isAnyEmpty(String... values)
{
for (String value : values) {
if (isEmpty(value)) {
return true;
}
}
return false;
}
private boolean isEmpty(String value)
{
return value == null || value.trim().length() == 0;
}
}

View File

@@ -0,0 +1,13 @@
package edu.slcc.asdv.caleb.labevents_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.labevents_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,14 @@
registrationTitle=Registration
firstName=First Name
lastName=Last Name
emailAddress=Email Address
registrationText=Please Enter Your {0}, {1}, and {2}.
prompt=Enter {0}
buttonLabel=Register Me
successTitle=Success
successText=You Registered Successfully.
switchLanguage=En Espa<70>ol
normalFont=Normal Font
largeFont=Large Font
errorTitle=Error!
missingData=Missing input. Please try again.

View File

@@ -0,0 +1,14 @@
registrationTitle=\u1f18\u03b3\u03b3\u03c1\u03b1\u03c6\u03ae
firstName= \u1f4c\u03bd\u03bf\u03bc\u03b1
lastName=\u1f18\u03c0\u03c9\u03bd\u03c5\u03bc\u03bf\u03bd
emailAddress=\u1f38\u03bc\u03ad\u03b9\u03bb
registrationText=\u03a0\u03b1\u03c1\u03b1\u03ba\u03b1\u03bb\u1ff6 \u03b3\u03c1\u03ac\u03c8\u03b1\u03c4\u03b5 {0}, {1}, \u03ba\u03b1\u1f30 {2}.
prompt=\u0393\u03c1\u03ac\u03c8\u03b5 {0}
buttonLabel=\u1f18\u03b3\u03b3\u03c1\u03ac\u03c8\u03b5 \u03bc\u03b5
successTitle=\u1f18\u03c0\u03b9\u03c4\u03c5\u03c7\u03af\u03b1
successText=\u0393\u03c1\u03ac\u03c6\u03c4\u03b7\u03ba\u03b5\u03c2
switchLanguage=\u03a3\u03c4\u03ac \u1f19\u03bb\u03bb\u03b7\u03bd\u03b9\u03ba\u03ac
normalFont=\u039c\u03b9\u03ba\u03c1\u03ac \u03b3\u03c1\u03ac\u03bc\u03bc\u03b1\u03c4\u03b1
largeFont=\u039c\u03b5\u03b3\u03ac\u03bb\u03b1 \u03b3\u03c1\u03ac\u03bc\u03bc\u03b1\u03c4\u03b1
errorTitle=\u039b\u03ac\u03b8\u03bf\u03c2!
missingData=\u1f18\u03bb\u03bb\u03b5\u03b9\u03c0\u1f20 \u03c3\u03c4\u03bf\u03b9\u03c7\u03b5\u1fd6\u03b1. \u03a0\u03b1\u03c1\u03b1\u03ba\u03b1\u03bb\u1ff6 \u03be\u03b1\u03bd\u03b1\u03b4\u03bf\u03ba\u03b9\u03bc\u1fb6\u03c3\u03c4\u03b5!

View File

@@ -0,0 +1,14 @@
registrationTitle=Registro
firstName=Primer Nombre
lastName=Apellido
emailAddress=Direcci<EFBFBD>n de Email
registrationText=Incorpore Por Favor su {0}, {1}, y {2}.
prompt=Incorpore {0}
buttonLabel=Coloq<EFBFBD>eme
successTitle=<EFBFBD>xito
successText=Se Registr<74> con <20>xito.
switchLanguage=In English
normalFont=Fuente Normal
largeFont=Fuente Grande
errorTitle=<EFBFBD>Error!
missingData=Falta de input. Por favor, int<6E>ntelo de nuevo.

View File

@@ -0,0 +1,14 @@
registrationTitle=\u767B\u9332
firstName=\u540D\u524D
lastName=\u59D3
emailAddress=\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9
registrationText=\u3042\u306A\u305F\u306E\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044 {0}, {1}, \u3068 {2}.
prompt=\u30BF\u30A4\u30D7 {0}
buttonLabel=\u79C1\u3092\u767B\u9332
successTitle=\u6210\u529F
successText=\u3042\u306A\u305F\u304C\u6B63\u5E38\u306B\u767B\u9332\u3002
switchLanguage=\u65E5\u672C\u8A9E\u3067
normalFont=\u901A\u5E38\u306E\u30D5\u30A9\u30F3\u30C8
largeFont=\u5927\u304D\u3044\u30D5\u30A9\u30F3\u30C8
errorTitle=\u30A8\u30E9\u30FC\uFF01
missingData=\u672A\u5165\u529B\u3067\u3059\u3002\u3082\u3046\u4E00\u5EA6\u3084\u308A\u76F4\u3057\u3066\u304F\u3060\u3055\u3044\u3002

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,32 @@
<?xml version='1.0' encoding='UTF-8'?>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<faces-config version="4.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-facesconfig_4_0.xsd">
<application>
<resource-bundle>
<base-name>messages.messages</base-name>
<var>msgs</var>
</resource-bundle>
</application>
</faces-config>

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="5.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_5_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,21 @@
<!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:f="http://xmlns.jcp.org/jsf/core"
xmlns:h="http://xmlns.jcp.org/jsf/html">
<h:head><title>#{msgs.successTitle}</title>
<h:outputStylesheet library="css" name="styles.css"/>
</h:head>
<h:body styleClass="#{formSettings.bodyStyleClass}">
<h1 class="title">#{msgs.successTitle}</h1>
<h3>#{msgs.successText}</h3>
<ul>
<li>#{msgs.firstName}: #{person.firstName}</li>
<li>#{msgs.lastName}: #{person.lastName}</li>
<li>#{msgs.emailAddress}: #{person.emailAddress}</li>
</ul>
</h:body>
</html>

View File

@@ -0,0 +1,19 @@
<?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>Events</title>
</h:head>
<h:body>
<h3>Handling Application Events</h3>
<h:form>
<h:commandLink value="change font size via buttons 1" action="register1"/>
<br/>
<h:commandLink value="change lovale via buttons 2" action="register2"/>
<br/>
<h:commandLink value="change locale via radio buttons 3" action="register3"/>
<br/>
</h:form>
</h:body>
</html>

View File

@@ -0,0 +1,52 @@
<!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:f="http://xmlns.jcp.org/jsf/core"
xmlns:h="http://xmlns.jcp.org/jsf/html">
<h:head><title>#{msgs.registrationTitle}</title>
<h:outputStylesheet library="css" name="styles.css"/>
</h:head>
<h:body styleClass="#{formSettings.bodyStyleClass}">
<h1 > #{msgs.registrationTitle}</h1>
<h3>
<h:outputFormat value="#{msgs.registrationText}">
<f:param value="#{msgs.firstName}"/>
<f:param value="#{msgs.lastName}"/>
<f:param value="#{msgs.emailAddress}"/>
</h:outputFormat>
</h3>
<h:form>
<h:panelGrid columns="2" >
<h:outputLabel value="#{msgs.firstName}"/>
<h:inputText value="#{person.firstName}" />
<h:outputLabel value="#{msgs.lastName}" />
<h:inputText value="#{person.lastName}" />
<h:outputLabel value="#{msgs.emailAddress}"/>
<h:inputText value="#{person.emailAddress}" />
<h:commandButton value="#{msgs.buttonLabel}"
action="#{person.doRegistration}"/>
</h:panelGrid>
<h:commandButton value="#{msgs.normalFont}"
actionListener="#{formSettings.setNormalSize}"
immediate="true"/>
<h:commandLink value="#{msgs.largeFont}"
actionListener="#{formSettings.setLargeSize}"
immediate="true"/>
<br/>
<h:commandButton value="#{msgs.buttonLabel}"
action="#{person.doRegistration}"/>
</h:form>
</h:body>
</html>

View File

@@ -0,0 +1,55 @@
<!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:f="http://xmlns.jcp.org/jsf/core"
xmlns:h="http://xmlns.jcp.org/jsf/html">
<f:view locale="#{formSettingsLocale.locale}">
<h:head><title>#{msgs.registrationTitle}</title>
<h:outputStylesheet library="css" name="styles.css"/>
</h:head>
<h:body styleClass="#{formSettingsLocale.bodyStyleClass}">
<h1 class="title">#{msgs.registrationTitle}</h1>
<h3>
<h:outputFormat value="#{msgs.registrationText}">
<f:param value="#{msgs.firstName}"/>
<f:param value="#{msgs.lastName}"/>
<f:param value="#{msgs.emailAddress}"/>
</h:outputFormat>
</h3>
<h:form>
<h:panelGrid columns="2" >
<h:outputLabel value="#{msgs.firstName}"/>
<h:inputText value="#{person.firstName}" />
<h:outputLabel value="#{msgs.lastName}" />
<h:inputText value="#{person.lastName}" />
<h:outputLabel value="#{msgs.emailAddress}"/>
<h:inputText value="#{person.emailAddress}" />
<h:commandButton value="#{msgs.buttonLabel}"
action="#{person.doRegistration}"/>
</h:panelGrid>
<br/>
<div align="center">
<h:commandButton value="#{msgs.normalFont}"
actionListener="#{formSettingsLocale.setNormalSize}"
immediate="true"/>
<h:commandButton value="#{msgs.largeFont}"
actionListener="#{formSettingsLocale.setLargeSize}"
immediate="true"/>
<br/>
<h:selectOneRadio value="#{formSettingsLocale.language}"
onclick="submit()"
>
<f:selectItems value="#{formSettingsLocale.languages}"/>
</h:selectOneRadio>
</div>
</h:form>
</h:body>
</f:view>
</html>

View File

@@ -0,0 +1,28 @@
/*
Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
Click nbfs://nbhost/SystemFileSystem/Templates/ClientSide/css.css to edit this template
*/
/*
Created on : Nov 13, 2023, 10:07:11AM
Author : caleb
*/
.normalSize { font-size: 110% }
.largeSize { font-size: 200% }
body {
background-color: #e9e9e9;
}
a:hover {
color: red
}
h1,h2,h3 {
text-align: center;
font-family: Verdana, Arial, Helvetica, sans-serif;
color: black;
}
.button1
{
text-height:font-size;
}