push files
This commit is contained in:
		
							
								
								
									
										1
									
								
								Semester 3/Assignments/.~lock.dbase.rtf#
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								Semester 3/Assignments/.~lock.dbase.rtf#
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1 @@
 | 
			
		||||
Caleb Fontenot,caleb,caleb-gaming-laptop-archlinux,29.04.2024 10:04,file:///home/caleb/.config/libreoffice/4;
 | 
			
		||||
							
								
								
									
										
											BIN
										
									
								
								Semester 3/Assignments/LabFileDownload.zip
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Semester 3/Assignments/LabFileDownload.zip
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										21
									
								
								Semester 3/Assignments/LabFileDownload/nb-configuration.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								Semester 3/Assignments/LabFileDownload/nb-configuration.xml
									
									
									
									
									
										Normal 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>Facelets</org-netbeans-modules-projectapi.jsf_2e_language>
 | 
			
		||||
        <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>
 | 
			
		||||
							
								
								
									
										48
									
								
								Semester 3/Assignments/LabFileDownload/pom.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										48
									
								
								Semester 3/Assignments/LabFileDownload/pom.xml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,48 @@
 | 
			
		||||
<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>asdv</groupId>
 | 
			
		||||
    <artifactId>LabFileDownload</artifactId>
 | 
			
		||||
    <version>1</version>
 | 
			
		||||
    <packaging>war</packaging>
 | 
			
		||||
    <name>LabFileDownload-1</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>
 | 
			
		||||
        <dependency>
 | 
			
		||||
            <groupId>org.primefaces</groupId>
 | 
			
		||||
            <artifactId>primefaces</artifactId>
 | 
			
		||||
            <version>12.0.0</version>
 | 
			
		||||
            <classifier>jakarta</classifier>
 | 
			
		||||
        </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,13 @@
 | 
			
		||||
package asdv.labfiledownload;
 | 
			
		||||
 | 
			
		||||
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 asdv.labfiledownload.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,81 @@
 | 
			
		||||
/*
 | 
			
		||||
 * 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.faces.application.FacesMessage;
 | 
			
		||||
import jakarta.faces.context.FacesContext;
 | 
			
		||||
import java.io.File;
 | 
			
		||||
import java.io.FileInputStream;
 | 
			
		||||
import java.io.IOException;
 | 
			
		||||
import java.io.InputStream;
 | 
			
		||||
import java.io.Serializable;
 | 
			
		||||
import java.nio.file.Path;
 | 
			
		||||
import java.nio.file.Paths;
 | 
			
		||||
import org.primefaces.model.DefaultStreamedContent;
 | 
			
		||||
import org.primefaces.model.StreamedContent;
 | 
			
		||||
import org.primefaces.util.SerializableSupplier;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 *
 | 
			
		||||
 * @author asdv5
 | 
			
		||||
 */
 | 
			
		||||
@Named(value = "downloadBean")
 | 
			
		||||
@SessionScoped
 | 
			
		||||
public class DownloadBean implements Serializable
 | 
			
		||||
{
 | 
			
		||||
    private StreamedContent fileStreamContent;
 | 
			
		||||
 | 
			
		||||
    private void download()
 | 
			
		||||
    {
 | 
			
		||||
        String directory = "/media/DataEXT4/WebDev/pdf";
 | 
			
		||||
        try
 | 
			
		||||
        {
 | 
			
		||||
            Path path = Paths.get(directory + "/" + "book1.pdf");
 | 
			
		||||
            File file = new File(path.toAbsolutePath().toString());
 | 
			
		||||
             InputStream inputStream
 | 
			
		||||
                    = new FileInputStream(file.getAbsoluteFile());
 | 
			
		||||
            
 | 
			
		||||
                
 | 
			
		||||
            
 | 
			
		||||
            this.fileStreamContent
 | 
			
		||||
                    = DefaultStreamedContent.builder()
 | 
			
		||||
                            .name("book1.pdf")
 | 
			
		||||
                            .contentType("application/pdf")
 | 
			
		||||
                            
 | 
			
		||||
                            .stream(new SerializableSupplier<InputStream>()
 | 
			
		||||
                            {
 | 
			
		||||
                                @Override
 | 
			
		||||
                                public InputStream get()
 | 
			
		||||
                                {
 | 
			
		||||
                                    return inputStream;
 | 
			
		||||
                                }
 | 
			
		||||
                            })
 | 
			
		||||
                            .build();
 | 
			
		||||
            
 | 
			
		||||
        }
 | 
			
		||||
        catch (IOException e)
 | 
			
		||||
        {
 | 
			
		||||
            
 | 
			
		||||
            System.out.println(e);
 | 
			
		||||
            
 | 
			
		||||
            FacesContext fc = FacesContext.getCurrentInstance();
 | 
			
		||||
            fc.addMessage(null,
 | 
			
		||||
                    new FacesMessage(FacesMessage.SEVERITY_ERROR,
 | 
			
		||||
                            "Failed to download file.",
 | 
			
		||||
                            e.toString()
 | 
			
		||||
                            )
 | 
			
		||||
                        );
 | 
			
		||||
        }
 | 
			
		||||
      
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public StreamedContent getFileStreamContent()
 | 
			
		||||
    {
 | 
			
		||||
        download();
 | 
			
		||||
        return fileStreamContent;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -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,33 @@
 | 
			
		||||
<?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:p="http://primefaces.org/ui">
 | 
			
		||||
    <h:head>
 | 
			
		||||
        <title>Download</title>
 | 
			
		||||
 | 
			
		||||
        <script type="text/javascript">
 | 
			
		||||
            function showStatus() {
 | 
			
		||||
                PF('statusDialog').show();
 | 
			
		||||
            }
 | 
			
		||||
            function hideStatus() {
 | 
			
		||||
                PF('statusDialog').hide();
 | 
			
		||||
            }
 | 
			
		||||
        </script>
 | 
			
		||||
 | 
			
		||||
    </h:head>
 | 
			
		||||
    <h:body>
 | 
			
		||||
 | 
			
		||||
        <h:form>
 | 
			
		||||
            <p:growl showDetail="true"   life="8000"  />
 | 
			
		||||
            <p:dialog modal="true" widgetVar="statusDialog" header="Status" draggable="false" closable="false">
 | 
			
		||||
                <p:graphicImage name="images/ajax-loader.gif" />
 | 
			
		||||
            </p:dialog>
 | 
			
		||||
            <p:commandLink   value="Download"  ajax="false"
 | 
			
		||||
                             onclick="PrimeFaces.monitorDownload(showStatus, hideStatus)">
 | 
			
		||||
                <p:graphicImage name="images/fileDownload.png" style="vertical-align:middle; width:32px; height:32px;" />
 | 
			
		||||
                <p:fileDownload value="#{downloadBean.fileStreamContent}" />                             
 | 
			
		||||
            </p:commandLink>
 | 
			
		||||
        </h:form>
 | 
			
		||||
    </h:body>
 | 
			
		||||
</html>
 | 
			
		||||
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 2.5 KiB  | 
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 8.4 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								Semester 3/Assignments/LabFileDownload_Dbases.zip
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Semester 3/Assignments/LabFileDownload_Dbases.zip
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							@@ -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>Facelets</org-netbeans-modules-projectapi.jsf_2e_language>
 | 
			
		||||
        <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>
 | 
			
		||||
							
								
								
									
										53
									
								
								Semester 3/Assignments/LabFileDownload_Dbases/pom.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										53
									
								
								Semester 3/Assignments/LabFileDownload_Dbases/pom.xml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,53 @@
 | 
			
		||||
<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>asdv</groupId>
 | 
			
		||||
    <artifactId>LabFileDownload_Dbases</artifactId>
 | 
			
		||||
    <version>1</version>
 | 
			
		||||
    <packaging>war</packaging>
 | 
			
		||||
    <name>LabFileDownload_Dbases</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>
 | 
			
		||||
        <dependency>
 | 
			
		||||
            <groupId>org.primefaces</groupId>
 | 
			
		||||
            <artifactId>primefaces</artifactId>
 | 
			
		||||
            <version>12.0.0</version>
 | 
			
		||||
            <classifier>jakarta</classifier>
 | 
			
		||||
        </dependency>
 | 
			
		||||
        <dependency>
 | 
			
		||||
            <groupId>com.mysql</groupId>
 | 
			
		||||
            <artifactId>mysql-connector-j</artifactId>
 | 
			
		||||
            <version>8.3.0</version>
 | 
			
		||||
        </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,13 @@
 | 
			
		||||
package asdv.labfiledownload;
 | 
			
		||||
 | 
			
		||||
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 asdv.labfiledownload.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,146 @@
 | 
			
		||||
/*
 | 
			
		||||
 * 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.annotation.PostConstruct;
 | 
			
		||||
import jakarta.annotation.PreDestroy;
 | 
			
		||||
import jakarta.inject.Named;
 | 
			
		||||
import jakarta.enterprise.context.SessionScoped;
 | 
			
		||||
import jakarta.faces.application.FacesMessage;
 | 
			
		||||
import jakarta.faces.context.FacesContext;
 | 
			
		||||
import java.io.Serializable;
 | 
			
		||||
import java.io.InputStream;
 | 
			
		||||
import java.sql.Blob;
 | 
			
		||||
import java.sql.Connection;
 | 
			
		||||
import java.sql.DriverManager;
 | 
			
		||||
import java.sql.PreparedStatement;
 | 
			
		||||
import java.sql.ResultSet;
 | 
			
		||||
import java.sql.ResultSetMetaData;
 | 
			
		||||
import java.sql.SQLException;
 | 
			
		||||
import org.primefaces.model.DefaultStreamedContent;
 | 
			
		||||
import org.primefaces.model.StreamedContent;
 | 
			
		||||
import org.primefaces.util.SerializableSupplier;
 | 
			
		||||
 | 
			
		||||
@Named(value = "downloadBeanDBase")
 | 
			
		||||
@SessionScoped
 | 
			
		||||
public class DownloadBeanDBase implements Serializable
 | 
			
		||||
{
 | 
			
		||||
    private StreamedContent fileStreamContent;
 | 
			
		||||
    Connection connection;
 | 
			
		||||
 | 
			
		||||
    public DownloadBeanDBase()
 | 
			
		||||
    {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @PostConstruct
 | 
			
		||||
    public void init()
 | 
			
		||||
    {
 | 
			
		||||
        try
 | 
			
		||||
        {
 | 
			
		||||
            connection = connection();
 | 
			
		||||
        }
 | 
			
		||||
        catch (Exception e)
 | 
			
		||||
        {
 | 
			
		||||
            System.out.println(e);
 | 
			
		||||
            FacesContext fc = FacesContext.getCurrentInstance();
 | 
			
		||||
            fc.addMessage(null,
 | 
			
		||||
                    new FacesMessage(FacesMessage.SEVERITY_ERROR,
 | 
			
		||||
                            "Failed to connect to the database.",
 | 
			
		||||
                            e.toString()
 | 
			
		||||
                    )
 | 
			
		||||
            );
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @PreDestroy
 | 
			
		||||
    public void destroy()
 | 
			
		||||
    {
 | 
			
		||||
        try
 | 
			
		||||
        {
 | 
			
		||||
            connection.close();
 | 
			
		||||
        }
 | 
			
		||||
        catch (SQLException e)
 | 
			
		||||
        {
 | 
			
		||||
            System.out.println(e);
 | 
			
		||||
            FacesContext fc = FacesContext.getCurrentInstance();
 | 
			
		||||
            fc.addMessage(null,
 | 
			
		||||
                    new FacesMessage(FacesMessage.SEVERITY_WARN,
 | 
			
		||||
                            "Failed to close the connection with the database.",
 | 
			
		||||
                            e.toString()
 | 
			
		||||
                    )
 | 
			
		||||
            );
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public void download()
 | 
			
		||||
    {
 | 
			
		||||
        try
 | 
			
		||||
        {
 | 
			
		||||
            ResultSet results = getRsultSetFromDatabase();
 | 
			
		||||
            ResultSetMetaData meta = results.getMetaData();
 | 
			
		||||
            results.next();//position the cursor
 | 
			
		||||
            Blob blob = results.getBlob("binary_data");
 | 
			
		||||
            InputStream inputStream = blob.getBinaryStream();
 | 
			
		||||
            this.fileStreamContent
 | 
			
		||||
                    = DefaultStreamedContent.builder()
 | 
			
		||||
                            .name("TEST 4.pdf")
 | 
			
		||||
                            .contentType("application/pdf")
 | 
			
		||||
                            .stream(new SerializableSupplier<InputStream>()
 | 
			
		||||
                            {
 | 
			
		||||
                                @Override
 | 
			
		||||
                                public InputStream get()
 | 
			
		||||
                                {
 | 
			
		||||
                                    return inputStream;
 | 
			
		||||
                                }
 | 
			
		||||
                            })
 | 
			
		||||
                            .build();
 | 
			
		||||
        }
 | 
			
		||||
        catch (SQLException e)
 | 
			
		||||
        {
 | 
			
		||||
            System.out.println(e);
 | 
			
		||||
            FacesContext fc = FacesContext.getCurrentInstance();
 | 
			
		||||
            fc.addMessage(null,
 | 
			
		||||
                    new FacesMessage(FacesMessage.SEVERITY_ERROR,
 | 
			
		||||
                            "Failed to download file.",
 | 
			
		||||
                            e.toString()
 | 
			
		||||
                    )
 | 
			
		||||
            );
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public StreamedContent getFileStreamContent()
 | 
			
		||||
    {
 | 
			
		||||
        download();
 | 
			
		||||
        return fileStreamContent;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private ResultSet getRsultSetFromDatabase() throws SQLException
 | 
			
		||||
    {
 | 
			
		||||
        PreparedStatement ps = null;
 | 
			
		||||
        ResultSet rs = null;
 | 
			
		||||
        String sqlStr = "SELECT * from binary_files where key_ai = 2 ";
 | 
			
		||||
        ps = connection.prepareStatement(sqlStr);
 | 
			
		||||
        rs = ps.executeQuery();
 | 
			
		||||
        return rs;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private Connection connection()
 | 
			
		||||
            throws SQLException,
 | 
			
		||||
            ClassNotFoundException, InstantiationException, IllegalAccessException
 | 
			
		||||
    {
 | 
			
		||||
        String databaseName = "downloads";
 | 
			
		||||
        String userName = "java";
 | 
			
		||||
        String password = "java";
 | 
			
		||||
        String URL2 = "com.mysql.jdbc.Driver";
 | 
			
		||||
        Connection con = null;
 | 
			
		||||
        Class.forName(URL2).newInstance();
 | 
			
		||||
        String ip = "localhost"; //internet connection
 | 
			
		||||
        String url = "jdbc:mysql://" + ip + ":3306/" + databaseName;
 | 
			
		||||
        url += "?allowPublicKeyRetrieval=true&useSSL=false";
 | 
			
		||||
        con = DriverManager.getConnection(url, userName, password);
 | 
			
		||||
        con.setReadOnly(false);
 | 
			
		||||
        return con;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -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,38 @@
 | 
			
		||||
<?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:p="http://primefaces.org/ui">
 | 
			
		||||
    <h:head>
 | 
			
		||||
        <title>Download from database</title>
 | 
			
		||||
 | 
			
		||||
        <script type="text/javascript">
 | 
			
		||||
            function showStatus() {
 | 
			
		||||
                PF('statusDialog').show();
 | 
			
		||||
            }
 | 
			
		||||
            function hideStatus() {
 | 
			
		||||
                PF('statusDialog').hide();
 | 
			
		||||
            }
 | 
			
		||||
        </script>
 | 
			
		||||
 | 
			
		||||
    </h:head>
 | 
			
		||||
    <h:body>
 | 
			
		||||
 | 
			
		||||
        <h:form>
 | 
			
		||||
            <p:growl showDetail="true"   life="8000"  />
 | 
			
		||||
            <p:dialog modal="true" widgetVar="statusDialog" header="Status" draggable="false" closable="false">
 | 
			
		||||
                <p:graphicImage name="images/ajax-loader.gif" />
 | 
			
		||||
            </p:dialog>
 | 
			
		||||
            <p:commandLink   value="Download PDF from database"  ajax="false"
 | 
			
		||||
                             onclick="PrimeFaces.monitorDownload(showStatus, hideStatus)">
 | 
			
		||||
                <p:graphicImage name="images/fileDownload.png" style="vertical-align:middle; width:32px; height:32px;" />
 | 
			
		||||
                <p:fileDownload value="#{downloadBeanDBase.fileStreamContent}" />                             
 | 
			
		||||
            </p:commandLink>
 | 
			
		||||
                        <p:commandLink   value="Download mp3 from database"  ajax="false"
 | 
			
		||||
                             onclick="PrimeFaces.monitorDownload(showStatus, hideStatus)">
 | 
			
		||||
                <p:graphicImage name="images/fileDownload.png" style="vertical-align:middle; width:32px; height:32px;" />
 | 
			
		||||
                <p:fileDownload value="#{downloadBeanDBase.fileStreamContent}" />                             
 | 
			
		||||
            </p:commandLink>
 | 
			
		||||
        </h:form>
 | 
			
		||||
    </h:body>
 | 
			
		||||
</html>
 | 
			
		||||
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 2.5 KiB  | 
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 8.4 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								Semester 3/Assignments/LabFileUpload.zip
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Semester 3/Assignments/LabFileUpload.zip
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										22
									
								
								Semester 3/Assignments/LabFileUpload/nb-configuration.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								Semester 3/Assignments/LabFileUpload/nb-configuration.xml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,22 @@
 | 
			
		||||
<?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>
 | 
			
		||||
        <netbeans.hint.jdkPlatform>JDK_11</netbeans.hint.jdkPlatform>
 | 
			
		||||
        <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>
 | 
			
		||||
							
								
								
									
										83
									
								
								Semester 3/Assignments/LabFileUpload/pom.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										83
									
								
								Semester 3/Assignments/LabFileUpload/pom.xml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,83 @@
 | 
			
		||||
<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>ripoll</groupId>
 | 
			
		||||
    <artifactId>LabFileUpload</artifactId>
 | 
			
		||||
    <version>1.0</version>
 | 
			
		||||
    <packaging>war</packaging>
 | 
			
		||||
    <name>LabFileUpload-1.0</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>
 | 
			
		||||
        <dependency>
 | 
			
		||||
            <groupId>org.primefaces</groupId>
 | 
			
		||||
            <artifactId>primefaces</artifactId>
 | 
			
		||||
            <version>12.0.0</version>
 | 
			
		||||
            <classifier>jakarta</classifier>
 | 
			
		||||
        </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>
 | 
			
		||||
@@ -0,0 +1,89 @@
 | 
			
		||||
/*
 | 
			
		||||
 * 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.faces.application.FacesMessage;
 | 
			
		||||
import jakarta.faces.context.FacesContext;
 | 
			
		||||
import java.io.File;
 | 
			
		||||
import java.io.FileOutputStream;
 | 
			
		||||
import java.io.IOException;
 | 
			
		||||
import java.io.InputStream;
 | 
			
		||||
import java.io.Serializable;
 | 
			
		||||
import java.nio.file.FileAlreadyExistsException;
 | 
			
		||||
import java.nio.file.Files;
 | 
			
		||||
import java.nio.file.Path;
 | 
			
		||||
import java.nio.file.Paths;
 | 
			
		||||
import org.primefaces.event.FileUploadEvent;
 | 
			
		||||
import org.primefaces.model.file.UploadedFile;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 *
 | 
			
		||||
 * @author lisset
 | 
			
		||||
 */
 | 
			
		||||
@Named(value = "fileUploadBean")
 | 
			
		||||
@SessionScoped
 | 
			
		||||
public class FieUploadBean implements Serializable {
 | 
			
		||||
    
 | 
			
		||||
    private UploadedFile file;
 | 
			
		||||
 | 
			
		||||
    public UploadedFile getFile() {
 | 
			
		||||
        return file;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public void setFile(UploadedFile file) {
 | 
			
		||||
        this.file = file;
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    public void handleFileUpload(FileUploadEvent event){
 | 
			
		||||
        System.out.println("handleFileUpload");
 | 
			
		||||
        file = event.getFile();
 | 
			
		||||
        
 | 
			
		||||
        if (writeToAnyExistingDirectory(file))
 | 
			
		||||
        {
 | 
			
		||||
            FacesContext fc = FacesContext.getCurrentInstance();
 | 
			
		||||
            fc.addMessage(null,
 | 
			
		||||
                    new FacesMessage(FacesMessage.SEVERITY_ERROR,
 | 
			
		||||
                    "Upload Successful",
 | 
			
		||||
                    file.getFileName() + " is uploaded."));
 | 
			
		||||
        }
 | 
			
		||||
        else
 | 
			
		||||
        {
 | 
			
		||||
            FacesContext fc = FacesContext.getCurrentInstance();
 | 
			
		||||
            fc.addMessage(null,
 | 
			
		||||
                    new FacesMessage(FacesMessage.SEVERITY_ERROR,
 | 
			
		||||
                    "Failed to upload.",
 | 
			
		||||
                    file.getFileName() + " was not uploaded."));
 | 
			
		||||
        }
 | 
			
		||||
        
 | 
			
		||||
        FacesContext fc = FacesContext.getCurrentInstance();
 | 
			
		||||
        fc.addMessage(null, new FacesMessage(
 | 
			
		||||
                FacesMessage.SEVERITY_INFO, 
 | 
			
		||||
                "upload succesful", 
 | 
			
		||||
                file.getFileName() + " is uploaded"));
 | 
			
		||||
       writeToAnyExistingDirectory(file);
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
   public boolean writeToAnyExistingDirectory(UploadedFile f) {
 | 
			
		||||
       Path path =  Paths.get("/media/DataEXT4/WebDev/");
 | 
			
		||||
       String s = "";
 | 
			
		||||
       if (Files.exists(path)) {
 | 
			
		||||
           s = path.toString();
 | 
			
		||||
       }
 | 
			
		||||
       try (InputStream input = f.getInputStream()) {
 | 
			
		||||
           String fileName = f.getFileName();
 | 
			
		||||
           Files.copy(input, new File(s, fileName).toPath());
 | 
			
		||||
       } catch (FileAlreadyExistsException e) {
 | 
			
		||||
           System.out.println(e);
 | 
			
		||||
                   return false;
 | 
			
		||||
       }
 | 
			
		||||
       catch (IOException e) {
 | 
			
		||||
           System.out.println("------ failed to upload file" + e);
 | 
			
		||||
           return false;
 | 
			
		||||
       }
 | 
			
		||||
       return true;
 | 
			
		||||
   }
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,13 @@
 | 
			
		||||
package ripoll.labfileupload;
 | 
			
		||||
 | 
			
		||||
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 ripoll.labfileupload.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,26 @@
 | 
			
		||||
<?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:p="http://primefaces.org/ui">
 | 
			
		||||
    <h:head>
 | 
			
		||||
        <title>File Uploads</title>
 | 
			
		||||
    </h:head>
 | 
			
		||||
    <h:body>
 | 
			
		||||
        <h:form>
 | 
			
		||||
            <p:growl id="growl" life="50000" showSummary="true" showDetail="true"/>
 | 
			
		||||
            <p:fileUpload id="upload" 
 | 
			
		||||
                          dragDropSupport="true"
 | 
			
		||||
                          update="growl"
 | 
			
		||||
                          widgetVar="importDevicesWidget"
 | 
			
		||||
                          listener="#{fileUploadBean.handleFileUpload}"
 | 
			
		||||
                          label="Add a file"
 | 
			
		||||
                          uploadLabel="upload all"
 | 
			
		||||
                          cancelLabel="cancel all">
 | 
			
		||||
                     <p:dataTable>
 | 
			
		||||
                         
 | 
			
		||||
                     </p:dataTable>
 | 
			
		||||
            </p:fileUpload>
 | 
			
		||||
        </h:form>
 | 
			
		||||
    </h:body>
 | 
			
		||||
</html>
 | 
			
		||||
							
								
								
									
										
											BIN
										
									
								
								Semester 3/Assignments/LabFileUpload_Dbase.zip
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Semester 3/Assignments/LabFileUpload_Dbase.zip
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							@@ -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>
 | 
			
		||||
        <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>
 | 
			
		||||
							
								
								
									
										53
									
								
								Semester 3/Assignments/LabFileUpload_Dbase/pom.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										53
									
								
								Semester 3/Assignments/LabFileUpload_Dbase/pom.xml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,53 @@
 | 
			
		||||
<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>asdv</groupId>
 | 
			
		||||
    <artifactId>LabFileUpload_Dbase</artifactId>
 | 
			
		||||
    <version>1</version>
 | 
			
		||||
    <packaging>war</packaging>
 | 
			
		||||
    <name>LabFileUpload_Dbase</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>
 | 
			
		||||
        <dependency>
 | 
			
		||||
            <groupId>org.primefaces</groupId>
 | 
			
		||||
            <artifactId>primefaces</artifactId>
 | 
			
		||||
            <version>12.0.0</version>
 | 
			
		||||
            <classifier>jakarta</classifier>
 | 
			
		||||
        </dependency>
 | 
			
		||||
        <dependency>
 | 
			
		||||
            <groupId>com.mysql</groupId>
 | 
			
		||||
            <artifactId>mysql-connector-j</artifactId>
 | 
			
		||||
            <version>8.3.0</version>
 | 
			
		||||
        </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,13 @@
 | 
			
		||||
package asdv.labfileupload;
 | 
			
		||||
 | 
			
		||||
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 asdv.labfileupload.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,122 @@
 | 
			
		||||
/*
 | 
			
		||||
 * 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;
 | 
			
		||||
 | 
			
		||||
import java.io.File;
 | 
			
		||||
import java.io.FileInputStream;
 | 
			
		||||
import java.io.FileNotFoundException;
 | 
			
		||||
import java.nio.file.Path;
 | 
			
		||||
import java.nio.file.Paths;
 | 
			
		||||
import java.sql.Connection;
 | 
			
		||||
import java.sql.DriverManager;
 | 
			
		||||
import java.sql.PreparedStatement;
 | 
			
		||||
import java.sql.SQLException;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 *
 | 
			
		||||
 * @author ASDV1
 | 
			
		||||
 */
 | 
			
		||||
public class Database
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
    public static int saveFile( String directory, String fileName, String extension)
 | 
			
		||||
    {
 | 
			
		||||
        int count = -1;
 | 
			
		||||
        File f = null;
 | 
			
		||||
        Connection con = connection();
 | 
			
		||||
        if (con == null)
 | 
			
		||||
        {
 | 
			
		||||
            System.out.println("cannot connect to database");
 | 
			
		||||
            return -1;
 | 
			
		||||
        }
 | 
			
		||||
        try
 | 
			
		||||
        {
 | 
			
		||||
            PreparedStatement ps = null;
 | 
			
		||||
 | 
			
		||||
            String sqlStr = "INSERT INTO binary_files (file_name , file_extension, size_kb, binary_data )VALUES(?,?,?,?)";
 | 
			
		||||
            ps = con.prepareStatement(sqlStr);
 | 
			
		||||
 | 
			
		||||
            Path path = Paths.get(directory + "/" + fileName);
 | 
			
		||||
             f = path.toFile();
 | 
			
		||||
            long fileLength = f.length();
 | 
			
		||||
            ps.setString(1, fileName);
 | 
			
		||||
            ps.setString(2, extension);
 | 
			
		||||
            ps.setLong(3, fileLength/1000);
 | 
			
		||||
 | 
			
		||||
            FileInputStream fis = new FileInputStream(f);
 | 
			
		||||
            ps.setBinaryStream(4, fis, fileLength);
 | 
			
		||||
            //execute
 | 
			
		||||
            count = ps.executeUpdate();
 | 
			
		||||
        }
 | 
			
		||||
        catch (   FileNotFoundException e )
 | 
			
		||||
        {
 | 
			
		||||
               System.out.println("method Database:saveFile " + e);
 | 
			
		||||
  
 | 
			
		||||
        }
 | 
			
		||||
        catch (SQLException e)
 | 
			
		||||
        {
 | 
			
		||||
            System.out.println("method Database:saveFile " + e);
 | 
			
		||||
        }
 | 
			
		||||
        finally
 | 
			
		||||
        {
 | 
			
		||||
            try
 | 
			
		||||
            {
 | 
			
		||||
                if ( f!= null )
 | 
			
		||||
                    f.delete();//delete the uploaded file
 | 
			
		||||
                con.close();
 | 
			
		||||
            }
 | 
			
		||||
            catch (SQLException e)
 | 
			
		||||
            {
 | 
			
		||||
                System.out.println("connection did not close...method Database:saveFile " + e);
 | 
			
		||||
                return -1;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        
 | 
			
		||||
      return count;  
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    private static Connection connection() //throws InstantiationException, IllegalAccessException
 | 
			
		||||
    {
 | 
			
		||||
        String databaseName = "downloads";
 | 
			
		||||
        String userName = "java";
 | 
			
		||||
        String password = "java";
 | 
			
		||||
        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 + ":3306/" + databaseName;
 | 
			
		||||
        url += "?allowPublicKeyRetrieval=true&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 static void main(String[] args)
 | 
			
		||||
            throws SQLException
 | 
			
		||||
    {
 | 
			
		||||
        connection();
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,197 @@
 | 
			
		||||
/*
 | 
			
		||||
 * 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.enterprise.context.SessionScoped;
 | 
			
		||||
import jakarta.faces.application.FacesMessage;
 | 
			
		||||
import jakarta.faces.context.FacesContext;
 | 
			
		||||
import jakarta.inject.Named;
 | 
			
		||||
import java.io.File;
 | 
			
		||||
import java.io.IOException;
 | 
			
		||||
import java.io.InputStream;
 | 
			
		||||
import java.io.Serializable;
 | 
			
		||||
import java.nio.file.FileAlreadyExistsException;
 | 
			
		||||
import java.nio.file.Files;
 | 
			
		||||
import java.nio.file.Path;
 | 
			
		||||
import java.nio.file.Paths;
 | 
			
		||||
import org.primefaces.event.FileUploadEvent;
 | 
			
		||||
import org.primefaces.model.file.UploadedFile;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 *
 | 
			
		||||
 * @author asdv5
 | 
			
		||||
 */
 | 
			
		||||
@Named(value = "fileUploadBean")
 | 
			
		||||
@SessionScoped
 | 
			
		||||
public class FileUploadBean implements Serializable
 | 
			
		||||
{
 | 
			
		||||
    private UploadedFile file;
 | 
			
		||||
 | 
			
		||||
    public void handleFileUpload(FileUploadEvent event)
 | 
			
		||||
    {
 | 
			
		||||
        System.out.println("handleFileUpload");
 | 
			
		||||
        UploadedFile file = event.getFile();
 | 
			
		||||
        if (uploadToDatabase(file))
 | 
			
		||||
        {
 | 
			
		||||
            FacesContext fc = FacesContext.getCurrentInstance();
 | 
			
		||||
            fc.addMessage(null,
 | 
			
		||||
                    new FacesMessage(FacesMessage.SEVERITY_INFO,
 | 
			
		||||
                            "upload successful",
 | 
			
		||||
                            file.getFileName() + " is uploaded."));
 | 
			
		||||
        }
 | 
			
		||||
        else
 | 
			
		||||
        {
 | 
			
		||||
            FacesContext fc = FacesContext.getCurrentInstance();
 | 
			
		||||
            fc.addMessage(null,
 | 
			
		||||
                    new FacesMessage(FacesMessage.SEVERITY_ERROR,
 | 
			
		||||
                            "Failed to upload.",
 | 
			
		||||
                            file.getFileName() + "  was not uploaded."));
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public static boolean fileExists(Path path, String fileName)
 | 
			
		||||
    {
 | 
			
		||||
        Path p = Paths.get(path.toString() + "/" + fileName);
 | 
			
		||||
        System.out.println(p);
 | 
			
		||||
        if (Files.exists(p))
 | 
			
		||||
        {
 | 
			
		||||
            return true;
 | 
			
		||||
        }
 | 
			
		||||
        return false;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Writes the file in Uploaded file into MAC existing directory
 | 
			
		||||
     * /Users/asdv5/user1")
 | 
			
		||||
     *
 | 
			
		||||
     * @param f the file to be uploaded.
 | 
			
		||||
     * @return the filename written, or null if nothing was written
 | 
			
		||||
     */
 | 
			
		||||
    private String writeToAnyExistingDirectory(UploadedFile f)
 | 
			
		||||
    {
 | 
			
		||||
        InputStream input = null;
 | 
			
		||||
        Path path = Paths.get("/media/DataEXT4/WebDev/");
 | 
			
		||||
        String s = "";
 | 
			
		||||
        String fileName = "";
 | 
			
		||||
        if (Files.exists(path))
 | 
			
		||||
        {
 | 
			
		||||
            s = path.toString();
 | 
			
		||||
        }
 | 
			
		||||
        try
 | 
			
		||||
        {
 | 
			
		||||
            input = f.getInputStream();
 | 
			
		||||
            fileName = f.getFileName();
 | 
			
		||||
            Files.copy(input, new File(s, fileName).toPath());
 | 
			
		||||
            System.out.println("---success saving file" + s + " " + fileName);
 | 
			
		||||
        }
 | 
			
		||||
        catch (FileAlreadyExistsException e)
 | 
			
		||||
        {
 | 
			
		||||
            int i = 1;
 | 
			
		||||
            do
 | 
			
		||||
            {
 | 
			
		||||
                fileName = f.getFileName();
 | 
			
		||||
                int indexOfLastDot = fileName.lastIndexOf(".");
 | 
			
		||||
                if (indexOfLastDot != -1)
 | 
			
		||||
                {
 | 
			
		||||
                    String s1 = fileName.substring(0, indexOfLastDot);
 | 
			
		||||
                    s1 += "_" + i;
 | 
			
		||||
                    s1 += fileName.substring(indexOfLastDot);
 | 
			
		||||
                    fileName = s1;
 | 
			
		||||
                    ++i;
 | 
			
		||||
                }
 | 
			
		||||
                else
 | 
			
		||||
                {
 | 
			
		||||
                    fileName += "_1";
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
            while (fileExists(path, fileName));
 | 
			
		||||
            try
 | 
			
		||||
            {
 | 
			
		||||
                input.close();
 | 
			
		||||
                input = f.getInputStream();
 | 
			
		||||
                Files.copy(input, new File(s, fileName).toPath());
 | 
			
		||||
                System.out.println("---success saving file" + s + " " + fileName);
 | 
			
		||||
            }
 | 
			
		||||
            catch (IOException ex)
 | 
			
		||||
            {
 | 
			
		||||
                System.out.println(ex);
 | 
			
		||||
                return null;
 | 
			
		||||
            }
 | 
			
		||||
            return fileName;
 | 
			
		||||
        }
 | 
			
		||||
        catch (IOException e)
 | 
			
		||||
        {
 | 
			
		||||
            System.out.println("---failed to upload file " + e);
 | 
			
		||||
            return null;
 | 
			
		||||
        }
 | 
			
		||||
        finally
 | 
			
		||||
        {
 | 
			
		||||
            try
 | 
			
		||||
            {
 | 
			
		||||
                input.close();
 | 
			
		||||
            }
 | 
			
		||||
            catch (IOException e)
 | 
			
		||||
            {
 | 
			
		||||
                System.out.println(e);
 | 
			
		||||
                return null;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        return fileName;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Uploads a file to a database. Firstly writes the file to the user's
 | 
			
		||||
     * directory and then copies it to the database and deletes it from the
 | 
			
		||||
     * user's directory.
 | 
			
		||||
     *
 | 
			
		||||
     * @param f Uploaded file that contains the file to be uploaded
 | 
			
		||||
     * @return true if the file was uploaded, false otherwise.
 | 
			
		||||
     */
 | 
			
		||||
    private boolean uploadToDatabase(UploadedFile f)
 | 
			
		||||
    {
 | 
			
		||||
        //users's directory
 | 
			
		||||
        String uploadDirectory = "/media/DataEXT4/WebDev/";
 | 
			
		||||
        
 | 
			
		||||
            //>if failed to write to user's directory, return false
 | 
			
		||||
        if (writeToAnyExistingDirectory(f) == null)
 | 
			
		||||
        {
 | 
			
		||||
            return false;
 | 
			
		||||
        }
 | 
			
		||||
            //>separate file name from file extension if any
 | 
			
		||||
        String fileName = f.getFileName();
 | 
			
		||||
        int indexOfDot = fileName.lastIndexOf(".");
 | 
			
		||||
        String fileExtension = "";
 | 
			
		||||
        if (indexOfDot != -1)
 | 
			
		||||
        {
 | 
			
		||||
            fileExtension = fileName.substring(indexOfDot);
 | 
			
		||||
        }
 | 
			
		||||
        String fullPathNfileName = uploadDirectory + "/" + fileName;
 | 
			
		||||
        
 | 
			
		||||
            //> write to database
 | 
			
		||||
        int count = Database.saveFile(uploadDirectory, fileName, fileExtension);
 | 
			
		||||
        System.out.println(" ...the database server returned: " + Integer.toString(count));
 | 
			
		||||
        Path path = Paths.get(uploadDirectory + "/" + fileName);
 | 
			
		||||
            
 | 
			
		||||
            //>delete file from usr's directory
 | 
			
		||||
        try
 | 
			
		||||
        {
 | 
			
		||||
            
 | 
			
		||||
            Files.deleteIfExists(path);
 | 
			
		||||
        }
 | 
			
		||||
        catch (IOException e)
 | 
			
		||||
        {
 | 
			
		||||
            FacesContext fc = FacesContext.getCurrentInstance();
 | 
			
		||||
            fc.addMessage(null,
 | 
			
		||||
                    new FacesMessage(
 | 
			
		||||
                            FacesMessage.SEVERITY_WARN,
 | 
			
		||||
                            file.getFileName(),
 | 
			
		||||
                            "Failed to delete an intemmediate file but the file was uploaded to database. "
 | 
			
		||||
                            )
 | 
			
		||||
                        );
 | 
			
		||||
            
 | 
			
		||||
        }
 | 
			
		||||
        return count >= 0 ? true : false;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -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,32 @@
 | 
			
		||||
<?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:p="http://primefaces.org/ui">
 | 
			
		||||
    <h:head>
 | 
			
		||||
        <title>Facelet Title</title>
 | 
			
		||||
    </h:head>
 | 
			
		||||
    <h:body>
 | 
			
		||||
        <h:form>
 | 
			
		||||
        <p:growl id="localForm1Growl" showDetail="true"   life="3000" 
 | 
			
		||||
                 redisplay="true" />
 | 
			
		||||
            <p:fileUpload id="upload" value="#{fileUploadBean}" 
 | 
			
		||||
                          mode="advanced"
 | 
			
		||||
                          process="@this"
 | 
			
		||||
                          listener="#{fileUploadBean.handleFileUpload}" 
 | 
			
		||||
                          dragDropSupport="true"
 | 
			
		||||
                          update="localForm1Growl"
 | 
			
		||||
                          label="Add a file"
 | 
			
		||||
                          uploadLabel=" upload all"
 | 
			
		||||
                          cancelLabel="discard all"
 | 
			
		||||
                          >
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
                <p:dataTable   >
 | 
			
		||||
                    <p:column>   
 | 
			
		||||
                    </p:column  > 
 | 
			
		||||
                </p:dataTable>
 | 
			
		||||
            </p:fileUpload>
 | 
			
		||||
        </h:form>
 | 
			
		||||
    </h:body>
 | 
			
		||||
</html>
 | 
			
		||||
							
								
								
									
										
											BIN
										
									
								
								Semester 3/Assignments/Problem2Final2800.zip
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Semester 3/Assignments/Problem2Final2800.zip
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								Semester 3/Assignments/TP2_CalebFontenot.zip
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Semester 3/Assignments/TP2_CalebFontenot.zip
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							@@ -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-maven-jaxws.rest_2e_config_2e_type>ide</org-netbeans-modules-maven-jaxws.rest_2e_config_2e_type>
 | 
			
		||||
        <org-netbeans-modules-projectapi.jsf_2e_language>Facelets</org-netbeans-modules-projectapi.jsf_2e_language>
 | 
			
		||||
    </properties>
 | 
			
		||||
</project-shared-configuration>
 | 
			
		||||
							
								
								
									
										42
									
								
								Semester 3/Assignments/Templates1_CalebFontenot/pom.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										42
									
								
								Semester 3/Assignments/Templates1_CalebFontenot/pom.xml
									
									
									
									
									
										Normal 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>Templates1_CalebFontenot</artifactId>
 | 
			
		||||
    <version>1.0-SNAPSHOT</version>
 | 
			
		||||
    <packaging>war</packaging>
 | 
			
		||||
    <name>Templates1_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,32 @@
 | 
			
		||||
/*
 | 
			
		||||
 * 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.faces.view.ViewScoped;
 | 
			
		||||
import java.io.Serializable;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 *
 | 
			
		||||
 * @author caleb
 | 
			
		||||
 */
 | 
			
		||||
@Named(value="templatesBean")
 | 
			
		||||
@ViewScoped
 | 
			
		||||
public class templatesBean implements Serializable{
 | 
			
		||||
    private String msg = "";
 | 
			
		||||
 | 
			
		||||
    public String getMsg() { return msg; }
 | 
			
		||||
    public void action(String arg){this.msg = arg;}
 | 
			
		||||
 | 
			
		||||
    public String createMenu(String menu) {
 | 
			
		||||
        String s = "";
 | 
			
		||||
        for (String menuItems: menu) {
 | 
			
		||||
            s += menuItems;
 | 
			
		||||
            return "I created a menu and return " + s1;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,13 @@
 | 
			
		||||
package edu.slcc.asdv.caleb.templates1_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.templates1_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,12 @@
 | 
			
		||||
<?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"
 | 
			
		||||
      xmlns:ui="jakarta.faces.facelets">
 | 
			
		||||
    <ui:composition>
 | 
			
		||||
        <h:outputText value="#{templatesBean.msg}"/> 
 | 
			
		||||
        <h:form>
 | 
			
		||||
            <h:commandButton value="button" action="#{templatesBeanName[action](arg)}"/>
 | 
			
		||||
        </h:form>
 | 
			
		||||
    </ui:composition>
 | 
			
		||||
</html>
 | 
			
		||||
@@ -0,0 +1,18 @@
 | 
			
		||||
<?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>
 | 
			
		||||
    </h:head>
 | 
			
		||||
    <h:body>
 | 
			
		||||
        <ui:include src="template1.xhtml">
 | 
			
		||||
        <ui:param name="templatesBeanName" value="#{templatesBean}"/>
 | 
			
		||||
        <ui:param name="action" value="action"/>
 | 
			
		||||
        <ui:param name="arg" value="ASDV"/>
 | 
			
		||||
        <ui:param name="createMenuPram" value="createMenu"/>
 | 
			
		||||
        <ui:param name="param1" value="Open file"/>
 | 
			
		||||
        <ui:param name="param2" value="Close File"/>
 | 
			
		||||
        </ui:include>
 | 
			
		||||
    </h:body>
 | 
			
		||||
</html>
 | 
			
		||||
							
								
								
									
										45
									
								
								Semester 3/Assignments/dbase.rtf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										45
									
								
								Semester 3/Assignments/dbase.rtf
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,45 @@
 | 
			
		||||
{\rtf1\ansi\ansicpg1252\cocoartf2639
 | 
			
		||||
\cocoatextscaling0\cocoaplatform0{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
 | 
			
		||||
{\colortbl;\red255\green255\blue255;}
 | 
			
		||||
{\*\expandedcolortbl;;}
 | 
			
		||||
\margl1440\margr1440\vieww11520\viewh8400\viewkind0
 | 
			
		||||
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural\partightenfactor0
 | 
			
		||||
 | 
			
		||||
\f0\fs24 \cf0 -- phpMyAdmin SQL Dump\
 | 
			
		||||
-- version 5.2.0\
 | 
			
		||||
-- https://www.phpmyadmin.net/\
 | 
			
		||||
--\
 | 
			
		||||
-- Host: localhost:8889\
 | 
			
		||||
-- Generation Time: Apr 29, 2024 at 02:43 PM\
 | 
			
		||||
-- Server version: 5.7.39\
 | 
			
		||||
-- PHP Version: 7.4.33\
 | 
			
		||||
\
 | 
			
		||||
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";\
 | 
			
		||||
START TRANSACTION;\
 | 
			
		||||
SET time_zone = "+00:00";\
 | 
			
		||||
\
 | 
			
		||||
\
 | 
			
		||||
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;\
 | 
			
		||||
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;\
 | 
			
		||||
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;\
 | 
			
		||||
/*!40101 SET NAMES utf8mb4 */;\
 | 
			
		||||
\
 | 
			
		||||
--\
 | 
			
		||||
-- Database: `downloads`\
 | 
			
		||||
--\
 | 
			
		||||
\
 | 
			
		||||
-- --------------------------------------------------------\
 | 
			
		||||
\
 | 
			
		||||
--\
 | 
			
		||||
-- Table structure for table `binary_files`\
 | 
			
		||||
--\
 | 
			
		||||
\
 | 
			
		||||
CREATE TABLE `binary_files` (\
 | 
			
		||||
  `key_ai` int(11) NOT NULL,\
 | 
			
		||||
  `file_name` varchar(1000) NOT NULL,\
 | 
			
		||||
  `file_extension` varchar(100) NOT NULL,\
 | 
			
		||||
  `size_kb` bigint(20) NOT NULL,\
 | 
			
		||||
  `binary_data` longblob NOT NULL\
 | 
			
		||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;\
 | 
			
		||||
\
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										37
									
								
								Semester 3/Assignments/dbase.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										37
									
								
								Semester 3/Assignments/dbase.sql
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,37 @@
 | 
			
		||||
-- phpMyAdmin SQL Dump
 | 
			
		||||
-- version 5.2.0
 | 
			
		||||
-- https://www.phpmyadmin.net/
 | 
			
		||||
--
 | 
			
		||||
-- Host: localhost:8889
 | 
			
		||||
-- Generation Time: Apr 29, 2024 at 02:43 PM
 | 
			
		||||
-- Server version: 5.7.39
 | 
			
		||||
-- PHP Version: 7.4.33
 | 
			
		||||
 | 
			
		||||
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
 | 
			
		||||
START TRANSACTION;
 | 
			
		||||
SET time_zone = "+00:00";
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
 | 
			
		||||
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
 | 
			
		||||
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
 | 
			
		||||
/*!40101 SET NAMES utf8mb4 */;
 | 
			
		||||
 | 
			
		||||
--
 | 
			
		||||
-- Database: `downloads`
 | 
			
		||||
--
 | 
			
		||||
 | 
			
		||||
-- --------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
--
 | 
			
		||||
-- Table structure for table `binary_files`
 | 
			
		||||
--
 | 
			
		||||
 | 
			
		||||
CREATE TABLE `binary_files` (
 | 
			
		||||
    `key_ai` int(11) NOT NULL,
 | 
			
		||||
    `file_name` varchar(1000) NOT NULL,
 | 
			
		||||
    `file_extension` varchar(100) NOT NULL,
 | 
			
		||||
    `size_kb` bigint(20) NOT NULL,
 | 
			
		||||
    `binary_data` longblob NOT NULL
 | 
			
		||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user