*internal screaming*

master
Caleb Fontenot 2023-10-24 11:24:42 +07:00
parent 4f7b942791
commit 8ecc08a547
39 changed files with 1377 additions and 0 deletions

3
.gitignore vendored

@ -56,3 +56,6 @@
/Semester 2/SelectAll/target/
/Semester 2/Assignments/MultiComponents_collections/target/
/Semester 2/Assignments/suppliers_parts/target/
/Semester 2/Assignments/MP5-Binary-Files_CalebFontenot/nbproject/private/
/Semester 2/Assignments/MP5-Binary-Files_CalebFontenot/build/
/Semester 2/Assignments/SuppliersPartsDatabase_CalebFontenot/target/

@ -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>9.0-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>

@ -0,0 +1,82 @@
<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>com.mycompany</groupId>
<artifactId>SuppliersPartsDatabase</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>war</packaging>
<name>SuppliersPartsDatabase-1.0-SNAPSHOT</name>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<endorsed.dir>${project.build.directory}/endorsed</endorsed.dir>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<failOnMissingWebXml>false</failOnMissingWebXml>
<jakartaee>9.0.0</jakartaee>
</properties>
<dependencies>
<dependency>
<groupId>jakarta.platform</groupId>
<artifactId>jakarta.jakartaee-api</artifactId>
<version>${jakartaee}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
<version>8.1.0</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.8</source>
<target>1.8</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>

@ -0,0 +1,13 @@
package com.mycompany.supplierspartsdatabase;
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 {
}

@ -0,0 +1,20 @@
package com.mycompany.supplierspartsdatabase.resources;
import jakarta.ws.rs.GET;
import jakarta.ws.rs.Path;
import jakarta.ws.rs.core.Response;
/**
*
* @author
*/
@Path("jakartaee9")
public class JakartaEE9Resource {
@GET
public Response ping(){
return Response
.ok("ping Jakarta EE")
.build();
}
}

@ -0,0 +1,34 @@
/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
*/
package edu.slcc.asdv.beans;
import edu.slcc.asdv.bl.DatabaseManipulationParts;
import edu.slcc.asdv.bl.Part;
import jakarta.enterprise.context.SessionScoped;
import jakarta.inject.Named;
import java.io.Serializable;
import java.util.List;
/**
*
* @author caleb
*/
@Named(value = "partBean")
@SessionScoped
public class PartBean implements Serializable
{
DatabaseManipulationParts dms = new DatabaseManipulationParts();
public List<Part> getParts()
{
System.out.println("getDms()");
sout
return dms.listAll();
}
public PartBean()
{
}
}

@ -0,0 +1,33 @@
/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/JSF/JSFManagedBean.java to edit this template
*/
package edu.slcc.asdv.beans;
import edu.slcc.asdv.bl.DatabaseManipulationSupplier;
import edu.slcc.asdv.bl.Supplier;
import jakarta.inject.Named;
import jakarta.enterprise.context.SessionScoped;
import java.io.Serializable;
import java.util.List;
/**
*
* @author asdv5
*/
@Named(value = "supplierBean")
@SessionScoped
public class SupplierBean implements Serializable
{
DatabaseManipulationSupplier dms = new DatabaseManipulationSupplier();
public List<Supplier> getSuppliers()
{
System.out.println("getDms()");
return dms.listAll();
}
public SupplierBean()
{
}
}

@ -0,0 +1,18 @@
/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
*/
package edu.slcc.asdv.bl;
import java.util.ArrayList;
import java.util.List;
/**
*
* @author asdv5
*/
public interface DBase<T>
{
List<T> listAll();
}

@ -0,0 +1,85 @@
/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
*/
package edu.slcc.asdv.bl;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
/**
*
* @author asdv5
*/
public class DatabaseManipulationParts implements DBase<Part>
{
@Override
public List<Part> listAll()
{
List<Part> tablePart = new ArrayList<>();
String databaseName = "suppliers_parts_23";
String userName = "admin";
String password = "RangerDog01!";
String URL2 = "com.mysql.jdbc.Driver";
Connection con = new UtilitiesDatabase().connection(
databaseName, userName, password, URL2);
PreparedStatement ps = null;
try
{
if (con == null)
throw new RuntimeException("cannot connect to database") ;
String table = "";
ResultSet rs = null;
String sqlStr = "SELECT * FROM part";
//prepare statement
ps = con.prepareStatement(sqlStr);
//execute
rs = ps.executeQuery();
int row = 0;
while (rs.next())
{
String pnumber = rs.getString(1);
String pname = rs.getString(2);
String color = rs.getString(3) + " ";
String city = rs.getString(4);
Part part = new Part(pnumber, color, pname, city);
tablePart.add(part);
row++;
}
}
catch (Exception ex)
{
ex.printStackTrace();
}
finally
{
try
{
new UtilitiesDatabase().closeDatabaseConnection(con);
// close the resources
if (ps != null)
{
ps.close();
}
}
catch (SQLException sqle){ sqle.printStackTrace(); }
}
return tablePart;
}
public static void main(String[] args)
{
DatabaseManipulationParts dms = new DatabaseManipulationParts();
System.out.println( dms.listAll());
}
}

@ -0,0 +1,86 @@
/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
*/
package edu.slcc.asdv.bl;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
/**
*
* @author asdv5
*/
public class DatabaseManipulationSupplier implements DBase<Supplier>
{
@Override
public List<Supplier> listAll()
{
List<Supplier> tableSuppliers = new ArrayList<Supplier>();
String databaseName = "suppliers_parts_23";
String userName = "admin";
String password = "RangerDog01!";
String URL2 = "com.mysql.jdbc.Driver";
Connection con = new UtilitiesDatabase().connection(
databaseName, userName, password, URL2);
PreparedStatement ps = null;
try
{
if (con == null)
throw new RuntimeException("cannot connect to database") ;
String table = "";
ResultSet rs = null;
String sqlStr = "SELECT * FROM supplier";
//prepare statement
ps = con.prepareStatement(sqlStr);
//execute
rs = ps.executeQuery();
int row = 0;
while (rs.next())
{
String sNumber = rs.getString(1);
String sName = rs.getString(2);
String bdate = rs.getDate(3) + " ";
int status = rs.getInt(4);
String city = rs.getString(5) + " ";
Supplier supplier = new Supplier(sNumber, sName, bdate, status, city);
tableSuppliers.add(supplier);
row++;
}
}
catch (Exception ex)
{
ex.printStackTrace();
}
finally
{
try
{
new UtilitiesDatabase().closeDatabaseConnection(con);
// close the resources
if (ps != null)
{
ps.close();
}
}
catch (SQLException sqle){ sqle.printStackTrace(); }
}
return tableSuppliers;
}
public static void main(String[] args)
{
DatabaseManipulationSupplier dms = new DatabaseManipulationSupplier();
System.out.println( dms.listAll());
}
}

@ -0,0 +1,114 @@
/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
*/
package edu.slcc.asdv.bl;
/**
*
* @author asdv5
*/
public class Part
{
private String pnumber;
private String color;
private String pname;
private String city;
public Part(String pnumber, String color, String pname, String city)
{
this.pnumber = pnumber;
this.color = color;
this.pname = pname;
this.city = city;
}
/**
* Get the value of city
*
* @return the value of city
*/
public String getCity()
{
return city;
}
/**
* Set the value of city
*
* @param city new value of city
*/
public void setCity(String city)
{
this.city = city;
}
/**
* Get the value of pname
*
* @return the value of pname
*/
public String getPname()
{
return pname;
}
/**
* Set the value of pname
*
* @param pname new value of pname
*/
public void setPname(String pname)
{
this.pname = pname;
}
/**
* Get the value of color
*
* @return the value of color
*/
public String getColor()
{
return color;
}
/**
* Set the value of color
*
* @param color new value of color
*/
public void setColor(String color)
{
this.color = color;
}
/**
* Get the value of pnumber
*
* @return the value of pnumber
*/
public String getPnumber()
{
return pnumber;
}
/**
* Set the value of pnumber
*
* @param pnumber new value of pnumber
*/
public void setPnumber(String pnumber)
{
this.pnumber = pnumber;
}
}

@ -0,0 +1,93 @@
/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
*/
package edu.slcc.asdv.bl;
/**
*
* @author asdv5
*/
public class Supplier
{
private String snumber;
private String sname;
private String birthday;
private int status;
private String city;
public Supplier(String snumber, String sname, String birthday, int status, String city)
{
this.snumber = snumber;
this.sname = sname;
this.birthday = birthday;
this.status = status;
this.city = city;
}
public String getCity()
{
return city;
}
public void setCity(String city)
{
this.city = city;
}
public int getStatus()
{
return status;
}
public void setStatus(int status)
{
this.status = status;
}
public String getBirthday()
{
return birthday;
}
public void setBirthday(String birthday)
{
this.birthday = birthday;
}
public String getSname()
{
return sname;
}
public void setSname(String sname)
{
this.sname = sname;
}
public String getSnumber()
{
System.out.println("getSnumber()");
return snumber;
}
public void setSnumber(String snumber)
{
this.snumber = snumber;
}
@Override
public String toString()
{
return "Supplier{" + "snumber=" + snumber + ", sname=" + sname + ", birthday=" + birthday + ", status=" + status + ", city=" + city + '}';
}
}

@ -0,0 +1,434 @@
package edu.slcc.asdv.bl;
import java.io.Serializable;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import jakarta.enterprise.context.ApplicationScoped;
import jakarta.inject.Named;
/**
*
* @author a. v. markou
*/
@Named(value = "suppliers")
@ApplicationScoped
public class Suppliers implements Serializable
{
String snumber = "";
String sname = "";
int status = 0;
String birthday = "";
String city = "";
String result = "";
public Suppliers()
{
connection();
}
public String getSnumber()
{
return snumber;
}
public void setSnumber(String snumber)
{
this.snumber = snumber;
}
public String getSname()
{
return sname;
}
public void setSname(String sname)
{
this.sname = sname;
}
public int getStatus()
{
return status;
}
public void setStatus(int status)
{
this.status = status;
}
public String getBirthday()
{
return birthday;
}
public void setBirthday(String birthday)
{
this.birthday = birthday;
}
public String getCity()
{
return city;
}
public void setCity(String city)
{
this.city = city;
}
public String getConnectionResponse()
{
Connection con = connection();
if (con == null)
{
result = "cannot connect to database" ;
return null;
}
if (con != null)
{
return "<p style=\"color:green\">Connection succesfull! <br />";
}
else
{
connection();
return "<p style=\"color:red\">Connection failed! <br />";
}
}
private Connection connection() //throws InstantiationException, IllegalAccessException
{
String databaseName = "suppliers_parts_23";
String userName = "root";
String password = "root";
String URL2 = "com.mysql.jdbc.Driver";
Connection con = null;
try
{// Load Sun's jdbc driver
Class.forName(URL2).newInstance();
System.out.println("JDBC Driver loaded!");
}
catch (Exception e) // driver not found
{
System.err.println("Unable to load database driver");
System.err.println("Details : " + e);
return null;
}
String ip = "localhost"; //internet connection
String url = "jdbc:mysql://" + ip + ":8889/" + databaseName + "?useSSL=false";
try
{
con = DriverManager.getConnection(url, userName, password);
con.setReadOnly(false);
}
catch (Exception e)
{
System.err.println(e.toString());
return null;
}
System.out.println("connection successfull");
return con;
}
public void clear()
{
status = 0;
snumber = "";
sname = "";
birthday = "";
city = "";
result = "";
}
public void listAll()
{
Connection con = connection();
if (con == null)
{
result = "cannot connect to database" ;
return ;
}
String table = "";
PreparedStatement ps = null;
ResultSet rs = null;
String sqlStr = "SELECT * FROM supplier";
try
{
//prepare statement
ps = con.prepareStatement(sqlStr);
//execute
rs = ps.executeQuery();
while (rs.next())
{
String sNumber = rs.getString(1) + " ";
String sName = rs.getString(2) + " ";
String bdate = rs.getDate(3) + " ";
String status = rs.getInt(4) + " ";
String city = rs.getString(5) + " ";
table += sNumber + sName + bdate + status + city + "</br>";
}
}
catch (Exception ex)
{
ex.printStackTrace();
}
finally
{
try
{
closeDatabaseConnection( con);
// close the resources
if (ps != null)
{
ps.close();
}
}
catch (SQLException sqle){ sqle.printStackTrace(); }
}
result = table;
}
public void viewSupplier()
{
Connection con = connection();
if (con == null)
{
result = "cannot connect to database" ;
return ;
}
String ret = "";
PreparedStatement ps = null;
ResultSet rs = null;
String sqlStr = "SELECT * FROM supplier WHERE snumber=?";
try
{
//prepare statement
ps = con.prepareStatement(sqlStr);
ps.setString(1, snumber);
//execute
rs = ps.executeQuery();
if (rs.next())
{
this.snumber = rs.getString("snumber");
ret += this.snumber + " ";
this.sname = rs.getString("sname");
ret += this.sname + " ";
this.status = rs.getInt("status");
ret += this.status + " ";
this.city = rs.getString("city");
ret += this.city + " ";
Object bDate = rs.getObject("birthday");
this.birthday = bDate.toString();
ret += this.birthday;
}
else
ret = this.snumber + " doesn't exist.";
}
catch (Exception ex){ex.printStackTrace();}
finally
{
try
{
this.closeDatabaseConnection(con);
if (ps != null)
ps.close();
}
catch (SQLException sqle){ sqle.printStackTrace();}
}
this.result = ret;
}
public void updateSupplier()
{
Connection con = connection();
if (con == null)
{
result = "cannot connect to database" ;
return ;
}
PreparedStatement updateSupplier = null;
try
{
updateSupplier = con.prepareStatement(
"UPDATE supplier SET snumber=?, sname=?, status=?, birthday=?, city=? WHERE snumber=?");
updateSupplier.setString(1, snumber);
updateSupplier.setString(2, sname);
updateSupplier.setInt(3, status);
java.sql.Date bd = stringDateToSqlDate(this.birthday);
updateSupplier.setDate(4, bd );
updateSupplier.setString(5, city);
updateSupplier.setString(6, snumber);
int updateCount = updateSupplier.executeUpdate();
result = "number of rows affected: " + updateCount;
}
catch (Exception ex)
{
System.err.println(ex.toString());
}
finally
{
try
{
this.closeDatabaseConnection(con);
// close the resources
if (updateSupplier != null)
{
updateSupplier.close();
}
}
catch (SQLException sqlee)
{
sqlee.printStackTrace();
}
}
}
public void deleteSupplier()
{
Connection con = connection();
if (con == null)
{
result = "cannot connect to database" ;
return ;
}
PreparedStatement ps = null;
int rowsAffected = -1;
try
{
String query = "DELETE FROM supplier WHERE snumber=? ";
ps = con.prepareStatement(query);
ps.setString(1, snumber);
rowsAffected = ps.executeUpdate();
result = "number of rows affected: " + rowsAffected;
}
catch (Exception ex)
{
System.err.println(ex.toString());
}
finally
{
try
{
this.closeDatabaseConnection(con);
// close the resources
if (ps != null)
{
ps.close();
}
}
catch (SQLException sqlee)
{
sqlee.printStackTrace();
}
}
}
public void insertSupplier()
{
Connection con = connection();
if (con == null)
{
result = "cannot connect to database" ;
return ;
}
PreparedStatement updateSupplier = null;
try
{
updateSupplier = con.prepareStatement(
"INSERT INTO supplier (snumber, sname, status, birthday, city ) "
+ "VALUES ( ?, ?, ? , ? ,? )");
updateSupplier.setString(1, snumber);
updateSupplier.setString(2, sname);
updateSupplier.setInt(3, status);
java.sql.Date sqlDate = stringDateToSqlDate(birthday);
updateSupplier.setDate(4, sqlDate);
updateSupplier.setString(5, city);
int updateCount = updateSupplier.executeUpdate();
result = "number of rows affected: " + updateCount;
}
catch (Exception ex)
{
System.err.println(ex.toString());
result = ex.toString();
}
finally
{
try
{
this.closeDatabaseConnection(con);
// close the resources
if (updateSupplier != null)
{
updateSupplier.close();
}
}
catch (SQLException e)
{
System.err.println(e.toString());
result = e.toString();
}
}
}
private java.sql.Date stringDateToSqlDate(String sDate)
{
java.util.Date date = null;
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
try
{
date = sdf.parse(sDate);
}
catch (ParseException e)
{
e.printStackTrace();
}
return new java.sql.Date( date.getTime() );
}
public String getResult()
{
return "<p style=\"color:green\">Suppliers <br />" + result;
}
public void closeDatabaseConnection( Connection con)
{
try
{
if (con != null)
{
con.close();
}
}
catch (SQLException e)
{
result = e.toString();
e.printStackTrace();
}
}
}

@ -0,0 +1,77 @@
/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
*/
package edu.slcc.asdv.bl;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
/**
*
* @author asdv5
*/
public class UtilitiesDatabase
{
public Connection connection(
String databaseName,
String userName,
String password,
String URL2
) //throws InstantiationException, IllegalAccessException
{
/*
String databaseName = "suppliers_parts_23";
String userName = "root";
String password = "root";
String URL2 = "com.mysql.jdbc.Driver";
Connection con = null;
*/
Connection con;
try
{// Load Sun's jdbc driver
Class.forName(URL2).newInstance();
System.out.println("JDBC Driver loaded!");
}
catch (Exception e) // driver not found
{
System.err.println("Unable to load database driver");
System.err.println("Details : " + e);
return null;
}
String ip = "localhost"; //internet connection
String url = "jdbc:mysql://" + ip + ":3306/" + databaseName + "?useSSL=false";
try
{
con = DriverManager.getConnection(url, userName, password);
con.setReadOnly(false);
}
catch (Exception e)
{
System.err.println(e.toString());
return null;
}
System.out.println("connection successfull");
return con;
}
public void closeDatabaseConnection( Connection con)
{
try
{
if (con != null)
{
con.close();
}
}
catch (SQLException e)
{
System.out.println(e);
e.printStackTrace();
}
}
}

@ -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>

@ -0,0 +1,51 @@
<?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">
<h:head>
<h:outputStylesheet library="css" name="styles.css"/>
<title>Supplier Parts DB</title>
</h:head>
<h:body>
<h:form>
<h1> Suppliers-Parts Database </h1>
<h:panelGrid columns="2">
<h:outputLabel styleClass="label" value="Supplier ID:"/>
<h:inputText value="#{suppliers.snumber}"/>
</h:panelGrid>
<h:panelGrid columns="8">
<h:outputLabel styleClass="label" value="Supplier Name"/>
<h:inputText
value="#{suppliers.sname}"/>
<h:outputLabel styleClass="label" value="Status" />
<h:inputText
value="#{suppliers.status}"/>
<h:outputLabel styleClass="label" value="Birthday" />
<h:inputText value="#{suppliers.birthday}"/>
<h:outputLabel styleClass="label" value="City" />
<h:inputText
value="#{suppliers.city}"/>
</h:panelGrid>
<h:panelGrid columns="6">
<h:commandButton styleClass="button" value="View Supplier" action="#{suppliers.viewSupplier()}"/>
<h:commandButton value="Insert Supplier" action="#{suppliers.insertSupplier}"/>
<h:commandButton value="Update Supplier" action="#{suppliers.updateSupplier}"/>
<h:commandButton value="Delete Supplier" action="#{suppliers.deleteSupplier}"/>
<h:commandButton value="List All Suppliers" action="#{suppliers.listAll}"/>
<h:commandButton value="Clear" action="#{suppliers.clear}"/>
</h:panelGrid>
<h:panelGrid>
<h:outputText escape="false" style="color:green"
value="#{suppliers.result}">
</h:outputText>
</h:panelGrid>
</h:form>
</h:body>
</html>

@ -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_3_0.xsd"
bean-discovery-mode="all">
</beans>

@ -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>

@ -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/supplier.xhtml</welcome-file>
</welcome-file-list>
</web-app>

@ -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="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>
<h:dataTable var="part" value="#{PartBean.getParts()}" >
<h:column>
<f:facet name="header"> <h:outputText value="pnumber" /></f:facet>
<h:inputText value="#{part.pnumber}"/>
</h:column>
<h:column>
<f:facet name="header"> <h:outputText value="pname" /></f:facet>
<h:inputText value="#{part.pname}"/>
</h:column>
<h:column>
<f:facet name="header"> <h:outputText value="color" /></f:facet>
<h:inputText value="#{part.color}"/>
</h:column>
<h:column>
<f:facet name="header"> <h:outputText value="city" /></f:facet>
<h:inputText value="#{part.city}"/>
</h:column>
</h:dataTable>
</h:form>
</h:body>
</html>

@ -0,0 +1,71 @@
.body {
background: #eee;
}
.button {
margin: 10px;
border-left: thin solid darkGray;
border-bottom: thin solid darkGray;
border-top: thin solid lightGray;
border-right: thin solid lightGray;
color: #777;
background: #A7C942;
font-family: "Comic Sans MS";
border-radius: 20%;
}
h1
{
vertical-align: top;
text-align: middle;
font-style: italic;
color: #888;
font-size: 2em;
font-family: "Comic Sans MS";
}
.label
{
color: #888;
font-size: 0.8em;
font-family: "Comic Sans MS";
}
.leftImage {
float: left;
margin-right: 1em;
}
.backLink {
font-style: italic;
}
.tableHeader {
font-family:"Trebuchet MS", Arial, Helvetica, sans-serif;
border-collapse:collapse;
font-size:1.1em;
text-align:left;
padding-top:5px;
padding-bottom:4px;
background-color:#A7C942;
color:white;
border:1px solid #98bf21;
}
.oddTableRow {
border:1px solid #98bf21;
}
.evenTableRow {
background-color: #eeeeee;
font-size:1em;
padding:3px 7px 2px 7px;
color:#000000;
background-color:#EAF2D3;
}
.table {
border:1px solid green;
}

@ -0,0 +1,43 @@
<?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>
<h:dataTable var="supplier" value="#{supplierBean.getSuppliers()}" >
<h:column>
<f:facet name="header"> <h:outputText value="snumber" /></f:facet>
<h:inputText value="#{supplier.snumber}"/>
</h:column>
<h:column>
<f:facet name="header"> <h:outputText value="sname" /></f:facet>
<h:inputText value="#{supplier.sname}"/>
</h:column>
<h:column>
<f:facet name="header"> <h:outputText value="birthday" /></f:facet>
<h:inputText value="#{supplier.birthday}"/>
</h:column>
<h:column>
<f:facet name="header"> <h:outputText value="status" /></f:facet>
<h:inputText value="#{supplier.status}"/>
</h:column>
<h:column>
<f:facet name="header"> <h:outputText value="city" /></f:facet>
<h:inputText value="#{supplier.city}"/>
</h:column>
</h:dataTable>
</h:form>
</h:body>
</html>

Binary file not shown.

Binary file not shown.

Binary file not shown.