push files
This commit is contained in:
@@ -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>
|
@@ -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>
|
@@ -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;
|
||||
}
|
||||
}
|
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
}
|
@@ -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 {
|
||||
|
||||
}
|
@@ -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();
|
||||
}
|
||||
}
|
@@ -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,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>
|
@@ -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>
|
@@ -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>
|
@@ -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>
|
Reference in New Issue
Block a user