From f6a8c2ea5e932f7dadd742bc8a0241c1deb6e1bb Mon Sep 17 00:00:00 2001
From: Connor L Jackson
Date: Wed, 12 Apr 2017 14:19:35 -0400
Subject: [PATCH] Handling MySQL Errors
Max User Connections problem should be really fixed at this point. You
also cannot delete a location unless no devices/employees are there.
There is now a "something went wrong!" page in case someone works around
that.
---
WebContent/adminLogin.jsp | 17 +-
.../my-icons-collection-128px/png/wrong.png | Bin 0 -> 4009 bytes
WebContent/html/webpages/adminLocation.jsp | 13 +-
WebContent/html/webpages/deviceRedirect.jsp | 1 -
WebContent/html/webpages/locationRedirect.jsp | 6 +-
.../html/webpages/profileSettingsRedirect.jsp | 1 -
WebContent/html/webpages/somethingwrong.jsp | 40 +++++
WebContent/index.jsp | 14 +-
WebContent/userLogin.jsp | 17 +-
src/database/EmployeeQueries.java | 43 +++--
src/database/LocationQueries.java | 150 ++++++++++++------
src/database/MySQLAccess.java | 32 ----
src/database/TicketQueries.java | 32 ++--
src/entities/Location.java | 27 +++-
14 files changed, 262 insertions(+), 131 deletions(-)
create mode 100644 WebContent/html/imgs/my-icons-collection-128px/png/wrong.png
create mode 100644 WebContent/html/webpages/somethingwrong.jsp
delete mode 100644 src/database/MySQLAccess.java
diff --git a/WebContent/adminLogin.jsp b/WebContent/adminLogin.jsp
index de40b3c..6341098 100644
--- a/WebContent/adminLogin.jsp
+++ b/WebContent/adminLogin.jsp
@@ -8,10 +8,15 @@ String pass;
Cookie adminCookie;
ssoNum = Integer.parseInt(request.getParameter("ssoNum2"));
pass = request.getParameter("pass");
-MySQLAccess myaccess = new MySQLAccess();
-Statement statement = myaccess.getStatement();
+String database = "jdbc:mysql://us-cdbr-iron-east-04.cleardb.net/ad_15a989204c2ff8a?user=b372dfe7409692&password=74f6e317";
+String user = "b372dfe7409692";
+String password = "74f6e317";
+System.getenv("VCAP_SERVICES");
+Class.forName("com.mysql.jdbc.Driver");
+Connection connection = DriverManager.getConnection(database, user, password);
+Statement stmt = connection.createStatement();
ResultSet result;
-result = statement.executeQuery("select * FROM admin where Admin_ID='" + ssoNum + "' AND Password='" + pass + "'");
+result = stmt.executeQuery("select * FROM admin where Admin_ID='" + ssoNum + "' AND Password='" + pass + "'");
if (result.next()){
request.getSession();
@@ -19,10 +24,12 @@ if (result.next()){
adminCookie = new Cookie("ssoNum", Integer.toString(ssoNum));
adminCookie.setMaxAge(30*60);
response.addCookie(adminCookie);
- statement.close();
+ stmt.close();
+ connection.close();
response.sendRedirect("html/webpages/admin.jsp");
} else {
- statement.close();
+ stmt.close();
+ connection.close();
response.sendRedirect("index.jsp");
}
diff --git a/WebContent/html/imgs/my-icons-collection-128px/png/wrong.png b/WebContent/html/imgs/my-icons-collection-128px/png/wrong.png
new file mode 100644
index 0000000000000000000000000000000000000000..6107cee75857189a2ae7b24ce9ed3feb88795a14
GIT binary patch
literal 4009
zcmV;a4_5GrP)ro~`F;yO~`!&0B~D-sSG4
zyhQ5_TfDcLF4mJ|-r^~%?b$FZDFp@zP*TJztAN}QL>c6oGk`a671U&qfpPWS-)}g>
z0-k}HIq!Mr%<%s4`J>cxe)Ii)&wHOay$B(_I6W6G0uKNefd_!Y1Hj<{;P3!&cmSM)
zTfeOQ1Kafhb@W@H-v=Hm3ImMgd{KHO7W_MH8?S
zn1aFN0ibXE<3I>-PC=%d<2n!uJi!AX-T1!1R-oAdj2CMaz62iS0kGcq0YDt^Uk5b4
zGdkcC;P*TLmQCBfbrR#nx`s7M955=u_&&fwpxz0M?+i{)R{;<30JNI_5>U_sj2D|m
zy7uS*2-Bv99%#Oa7GOz_3xF`6-(ZKu8>JFu&n|(r`40j6xaoJHw$~Cf>;Ario89G1
zVUkk@06y4c;08CjTkZ&}o_(Am078Gip7-}wlf-IVAa?-5xS2MS2;Aea0f6E^;3i6D
zt3w7rIGn+oeL8&XPyv8~hYP1@xOwz=#~}g$g+2>h;f7J?7T}}k0N|D0f^-0FaulJ-zp{mP|Q+p3Uk&dA^=dxlRbP(*Pdq%pHV^p
z_|BgF*lX7SKmjwj33kWNE&+fWKMeeb8(?=Tf&1+dfQ?*y#juWP0N{p?@V$LSfy?gC
zu?)axTy({8fJp#^uVFVb`A`+_5rcXGX~~~UnsfX~%ZWL}P_z*K{|aTBQEsYxj!^ep
zq3-wOzV|p50oWwB>H5rRJzdG;DkNE_4xn$<0JJ(wsd*Ibi_P^%+oi!f>eX
zIq|w9pC?WG+@bEbpw7Z6{
zAP&qKfM@QA4+xa8fpv^#iQj9QV#%Jv>){&Uhu@C
zX*5J^d!lv^lYLxZC|gc+aRZfH_gpywKz-`hw0~sRqCmHxPxd1%d9#d9T=Vf+M1Rx=
z#B%AnJ4o`7H2^pO?Y8a|Uzi2V7V4g9th@2&?&|im%N~KH0VtsL+*IdTY7?OU!?owvgEG
zi9S6rsIs&_#Qwf<*I@DM?0sF90GR8t@TteH!Lo4=)EzfS?z(5t3;@*wABMs}GxOwr
z#8AA{x@)Nyh_4rHf5te#r26!qoF`s))C*P*J`IKQNkjN^;&of8ff-_H2H*hI`9AcA
zVnX6NfGyW+J~l=4dd+EX&>gcJ@e;pJwr%SW`jm;{*UNa5)@-1+LRX|
z1YbUyz4d75;l#{sM|T}OtKL{-uKCCQT*_jM*y-)N8|8BQ
z?!JG7#4*JXk=3?WsRlr&dO^f2H>zWb+HC_!VB|5qn0BbCDkY{EG&a!uGD&vkrm;q3_v|D=PEEd}!=
z35o0KV(aZR1Av3n&i62!3Y1niOlM8kLQSmE&{w6onvfn*)W!9SXapeF+zl=jf2?~a
z?qrcQMVknWNd3Q2aRaGr%5>gH(x*e0S~rqV6I-+lh&@$UTfDa3
z%;wMoHU~iX{XWsb$G(j1r9LWcqb&uSsE+e&Y5KPZX(?JvXL<=!!luLHNn`v_7)ej1
zzW;70Uj{RaDaP>z&IoXok5=7h_fM0gC7_E>Q>BYs|3xVQ5L*D!Z`gO_5Zv&N#Da+`
zIX07@So2L4^k-9$fkn_k8$%`K`m(M
z8W4Bth`u7|x^V3UQUWl^RA7Bc@cB1(ROHht5?Pm+%mW~RTF}(?ji`$Jx{_cm{@|39
z0L;hYw1pwR_(h(nrdc4eYEOC^H@_9sg0{XeC9llP{pLd{0SL~@4K0Ex-Zk3AA%Bn0
z&EV#@f?CL-v3I2As&|BDj7V#vw1rR_j%j>hqQfKH$$EImNajREjgRldOT=|{AuLaOW`vc7N`X-Hd0>JtMz6X1y=To%|X}d;JxwIN?8>RDCg-{F*$UNxjw{tdZ;mcn^cW%6OJHofmiVxV+!k
zT}dwQoK4C;@FdxugRM5*92g)B()FZ3*=k2^*tPd$Wp%@KiOJNO|Hhmp#zC6BjPK0prDI8R(J~r`Ls)hLwY|I}v}ufP
zcB`g%EtTb8oT_De4_1u%Ch}*vlEy4)hec5%)QX8G;61hgp)76|7*~)>!~B|UZ;|v-
z0~BYziEPh7q<){Y?>V4Wj2_C+US1JZBU#)mFYjN)Qq9N38l@WFVSqTYKdDQYYxCzs
ztyp-1-s4(uZ}<;cHzMBLQC=q1{JK4JjU#VI2mq4hG03>0XzS-i&14S11@zvu7qCdq
zo5iF?OWOR=Wh^3D69zeq`6lwFyOL(LZ39EpOy<3SMQxiw>(`S$@IPfalrSZ#LZhz;
zYLT*jpEqro!rYRz7hT6##fFks~!+8L&?NtNe4;tvs`?ZbQ!jMZ+o_?HO
zIjZ?4DmP8G>9cDJLoT9*l+ABIuSHJ;d8sNVP+S;lNy-eVEom+MpvPSv3iXVr@{qbb?4#1$NYB}lFYR{(SCD*vSEmR7QWiA9W-T&u
zw%}LrrMAv>=&eP^!hNDOPujXb6cBr=q*}dE^7{m8!u{z^&D>y)?mmFzj(nBmjT}hw
zM-L(eV+NCx0tI6Rk^E5u$#MAeoRI@a7X00GnjwJu|9ZssokY;|`m7kW+SUah^wjF#
z2k;5kj)T!+iUl{hJ@cp2#fP)PsGRg|DOpZ(Cl0l3`US?Jp{K_UB^4enq|)1!T=0FJ
z)J}A_ni}97{9CQpa8d@>DuQbkKyWhLY}{k$wt#DEWsX
z$NyOMCrHuTvt!lKOX82`&5tWkFWQw~uqHA2*v`})Wmk&V7-;V9o%?30RfeA$I~dF!
zM$X!3wAJ{zlWLz4q-=tVvE{HP5O^AihDM+?&39)4Yi7Wh8&+E##2j_b=$@Aok0%(7v&1T
zh3}@{y}^RULldu5)5Ti_H&Qa*MYMakcKB~JH8V(gp|q{9jhiP|0C1qxHgX3_C%k49
z(~-&qY5sqK59OeE_tdPNb>XW_!Fh5Pv|bNRDIMxRZt=WxDq_j=mk$_|D)UHND-r
z0ZN+Tbo)_zy*k#Db^xyYJg2pvgn2l#5j{gN(55Z{!%ji7V0*tj`Vh?k)NJ!N3gnFD
zo50xu2H-}j&y~wEzeq_>@Wj=8WzU0YJ`uWb+SXCt3O~0G0u`7m)mw
z@2WT5drSbT1IO8-5w5>HM$3F^0T4p)XW*)o05lv5B){$n=n*ugEVNs{FG~PA|GFrL
zI>EHfryc+y1S`2&)QOqhAq4;6rcpzME3b0+BwGN45Cn1aBoi&C`LYH;2*LZ@
zM4O2L?vc|U*#jVi-~(=^)x@zdpGg4PwFGy#u@;+uFAHCo1waUauhew{C+C*XTJ~n;
z3DW=wA$SVN<7SJl@VT?}!Y%<2LU14O4L7}wBea)y6&-+fL3oSB31bC=zm>FB?rEN4
z10aOpMIgHenqLWwx2N`s2td0a%n(FzcH^%L3uN~xL3hOjpxxLYND#@{jK`zfp}-%N
zqPOA#&@Kp%0ACBDIfMBLKtHAFtk?jw3qn8O2L~M};@r#;0C0r&
z44wf#1fEd3t_~9bkyZiEAJ!dnIJ;x%NxR(
P00000NkvXXu0mjfB+!)1
literal 0
HcmV?d00001
diff --git a/WebContent/html/webpages/adminLocation.jsp b/WebContent/html/webpages/adminLocation.jsp
index 1e75e6d..1a22413 100644
--- a/WebContent/html/webpages/adminLocation.jsp
+++ b/WebContent/html/webpages/adminLocation.jsp
@@ -230,8 +230,8 @@
-
-
+
+
@@ -323,6 +323,15 @@ function modifyModal(){
$("#modifyState").val(locations[i].state);
$("#modifyZip").val(locations[i].zip);
$("#modifyID").val(locations[i].id);
+
+ if(locations[i].numDevices > 0 || locations[i].numEmployees > 0){
+ $('#thedeletebutton').attr('disabled',true);
+ $('#thedeletebutton').attr('title','Cannot delete because devices and/or employees are at this location!');
+ }
+ else{
+ $('#thedeletebutton').attr('disabled',false);
+ $('#thedeletebutton').removeAttr('title');
+ }
$("#modifyModal").show();
}
diff --git a/WebContent/html/webpages/deviceRedirect.jsp b/WebContent/html/webpages/deviceRedirect.jsp
index d0e4ceb..8b90d60 100644
--- a/WebContent/html/webpages/deviceRedirect.jsp
+++ b/WebContent/html/webpages/deviceRedirect.jsp
@@ -28,7 +28,6 @@
<%
//make instance
-MySQLAccess myaccess = new MySQLAccess();
String name = request.getParameter("name").replace("\"","\\\"");
String description = request.getParameter("description").replace("\"","\\\"");
String status = request.getParameter("status");
diff --git a/WebContent/html/webpages/locationRedirect.jsp b/WebContent/html/webpages/locationRedirect.jsp
index 5483488..3995a44 100644
--- a/WebContent/html/webpages/locationRedirect.jsp
+++ b/WebContent/html/webpages/locationRedirect.jsp
@@ -34,6 +34,7 @@ String address = request.getParameter("address").replace("\"","\\\"");
String town = request.getParameter("town").replace("\"","\\\"");
String state = request.getParameter("state");
String zip = request.getParameter("zip");
+int er = 0;
//add form was submitted
if(request.getParameter("add") != null){
Location location = new Location(name,address,town,state,zip,0);
@@ -52,11 +53,14 @@ if(request.getParameter("modify") != null){
if(request.getParameter("delete") != null){
String strID = request.getParameter("id");
int id = Integer.parseInt(strID);
- LocationQueries.deleteLocation(id);
+ er = LocationQueries.deleteLocation(id);
}
%>
+
+
+
Something Went Wrong!
+

+
Try Again Later.
+
+
diff --git a/WebContent/html/webpages/profileSettingsRedirect.jsp b/WebContent/html/webpages/profileSettingsRedirect.jsp
index bbce74c..da95137 100644
--- a/WebContent/html/webpages/profileSettingsRedirect.jsp
+++ b/WebContent/html/webpages/profileSettingsRedirect.jsp
@@ -28,7 +28,6 @@
<%
//make instance
-MySQLAccess myaccess = new MySQLAccess();
String name = request.getParameter("name").replace("\"","\\\"");
int id = Integer.parseInt(request.getParameter("sso"));
String phone = request.getParameter("phone");
diff --git a/WebContent/html/webpages/somethingwrong.jsp b/WebContent/html/webpages/somethingwrong.jsp
new file mode 100644
index 0000000..d86d296
--- /dev/null
+++ b/WebContent/html/webpages/somethingwrong.jsp
@@ -0,0 +1,40 @@
+
+
+