Skip to content

Commit 543534e

Browse files
ChidiebereChidiebere
authored andcommitted
These classes have been updated
1 parent 4596504 commit 543534e

7 files changed

Lines changed: 139 additions & 70 deletions

File tree

‎ModualrProject/src/database/bean/Bean.java‎

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
11
package database.bean;
22

3+
import java.io.Serializable;
4+
35
/**This interface is used to mark all the classes that represent a single row of a
46
* table in the database. It is used extensively by a {@code DatabaseManager}
57
* @author Oguejiofor Chidiebere
68
*
79
*/
8-
public interface Bean{
10+
public interface Bean extends Serializable{
911

1012
/**
1113
* Checks that a {@code String} has only letters and space.

‎ModualrProject/src/database/bean/Sponsor.java‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ public String getTelephone()
9999

100100
public void setTelephone(String telephone)
101101
{
102-
this.telephone = Bean.removeExtraSpaces( telephone);
102+
this.telephone = Bean.removeExtraSpaces( telephone.replace("-", ""));
103103
}
104104

105105
/**

‎ModualrProject/src/database/managers/DatabaseManager.java‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ public class DatabaseManager
2323
* @return a {@code CallableStatement} object that can be executed
2424
* @throws SQLException when an error occurs at the database level.
2525
*/
26-
protected static CallableStatement getCallableStatement(String sqlCall, Object ... arguments ) throws SQLException{
26+
public static CallableStatement getCallableStatement(String sqlCall, Object ... arguments ) throws SQLException{
2727
Connection conn = ConnectionManager.getInstance().getConnection();
2828

2929
CallableStatement statement = conn.prepareCall(

‎ModualrProject/src/database/managers/PhoneManager.java‎

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,13 @@
1313

1414
public class PhoneManager
1515
{
16+
/**
17+
* Inserts a new {@code Phone} into the databasse
18+
* @param newNumber
19+
* @return
20+
* @throws SQLException
21+
* @throws InvalidAdminException
22+
*/
1623
public static boolean insert( Phone newNumber)
1724
throws SQLException, InvalidAdminException
1825
{

‎ModualrProject/src/libs/modularappdatabase.sql‎

Lines changed: 78 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
-- https://www.phpmyadmin.net/
44
--
55
-- Host: 127.0.0.1
6-
-- Generation Time: Nov 17, 2017 at 04:10 PM
6+
-- Generation Time: Nov 18, 2017 at 08:27 AM
77
-- Server version: 10.1.26-MariaDB
88
-- PHP Version: 7.1.9
99

@@ -47,7 +47,7 @@ end$$
4747
CREATE DEFINER=`root`@`localhost` PROCEDURE `createNewClass` (IN `name` VARCHAR(30), OUT `creationDate` DATE) BEGIN
4848
set creationDate = now();
4949

50-
INSERT INTO `class`(`name`, `dateCreated`)
50+
INSERT INTO `modular_class`(`name`, `dateCreated`)
5151
VALUES (name ,creationDate);
5252
end$$
5353

@@ -89,7 +89,7 @@ LIMIT startIndex, 30 ;
8989
END$$
9090

9191
CREATE DEFINER=`root`@`localhost` PROCEDURE `getClass` (IN `name` VARCHAR(30)) BEGIN
92-
SELECT * FROM class
92+
SELECT * FROM Modular_class
9393
WHERE class.name = TRIM(name) ;
9494
end$$
9595

@@ -100,7 +100,7 @@ SELECT * FROM class
100100
END$$
101101

102102
CREATE DEFINER=`root`@`localhost` PROCEDURE `getClassesByIndex` (IN `startIndex` INT) BEGIN
103-
SELECT * FROM class
103+
SELECT * FROM Modular_class
104104
LIMIT startIndex , 30 ;
105105
END$$
106106

@@ -135,7 +135,7 @@ WHERE certificate.name = certName;
135135
end$$
136136

137137
CREATE DEFINER=`root`@`localhost` PROCEDURE `removeClass` (IN `name` VARCHAR(30)) BEGIN
138-
DELETE FROM `class`
138+
DELETE FROM `Modular_class`
139139
WHERE class.name = TRIM(name) ;
140140
end$$
141141

@@ -169,7 +169,7 @@ SET `name`= TRIM(newName) WHERE oldCertName = `name` ;
169169
end$$
170170

171171
CREATE DEFINER=`root`@`localhost` PROCEDURE `updateClass` (IN `oldClassName` VARCHAR(100), IN `newClassName` VARCHAR(100), OUT `creationDate` DATE) BEGIN
172-
update class SET class.name = newClassName
172+
update Modular_class as class SET class.name = newClassName
173173
WHERE class.name = oldClassName;
174174
SELECT class.dateCreated from class
175175
WHERE class.name = newClassName into @date;
@@ -249,9 +249,9 @@ CREATE TABLE `admin` (
249249
--
250250

251251
INSERT INTO `admin` (`username`, `password`) VALUES
252-
('Chidi', 'fb47addd47867ce9db8d9a31275977b3d4162f4a9cd6557b40499c1e10414bc4iGt'),
253252
('Chidiebere', '00dc3f179a5f2dae51dd59577a06190bac64d302ab6ecc71fd77015064a442bdUJe'),
254-
('Hello', 'd9473a6b2ca91281dbc8cefff9e210c37437069f4dc830d0c89bed008b50b2dcTPf');
253+
('Enoch', '69eccf6a4d6e8fd120662d013e2291dafe18c1d91bcb52b10eaaea435a11fa85Ydp'),
254+
('Kolawole', 'abfcf75bf54a27dcc879290128c4dbc2b639405ef17e0ce16ac27c52bdc0f8bchyJ');
255255

256256
-- --------------------------------------------------------
257257

@@ -391,35 +391,61 @@ INSERT INTO `certificatemodule` (`certificateName`, `moduleName`) VALUES
391391
-- --------------------------------------------------------
392392

393393
--
394-
-- Table structure for table `class`
394+
-- Table structure for table `educational_background`
395+
--
396+
397+
CREATE TABLE `educational_background` (
398+
`StudentId` varchar(50) COLLATE latin1_bin NOT NULL,
399+
`BeginDate` date NOT NULL,
400+
`EndDate` date NOT NULL,
401+
`Institution` varchar(200) COLLATE latin1_bin NOT NULL,
402+
`CourseRead` varchar(200) COLLATE latin1_bin NOT NULL,
403+
`QualificationName` varchar(200) COLLATE latin1_bin NOT NULL
404+
) ENGINE=CSV DEFAULT CHARSET=latin1 COLLATE=latin1_bin;
405+
406+
-- --------------------------------------------------------
407+
408+
--
409+
-- Table structure for table `means_of_discovery`
395410
--
396411

397-
CREATE TABLE `class` (
412+
CREATE TABLE `means_of_discovery` (
413+
`StudentID` varchar(50) COLLATE latin1_bin NOT NULL,
414+
`Means` varchar(300) COLLATE latin1_bin NOT NULL
415+
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_bin;
416+
417+
-- --------------------------------------------------------
418+
419+
--
420+
-- Table structure for table `modular_class`
421+
--
422+
423+
CREATE TABLE `modular_class` (
398424
`name` varchar(30) COLLATE latin1_bin NOT NULL,
399425
`dateCreated` date DEFAULT NULL
400426
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_bin;
401427

402428
--
403-
-- Dumping data for table `class`
429+
-- Dumping data for table `modular_class`
404430
--
405431

406-
INSERT INTO `class` (`name`, `dateCreated`) VALUES
432+
INSERT INTO `modular_class` (`name`, `dateCreated`) VALUES
407433
('Stream 1', '2017-11-08'),
408434
('Stream 2', '2017-11-07'),
409435
('Stream 3', '2017-11-08'),
410436
('Stream 9', '2017-11-08');
411437

412438
--
413-
-- Triggers `class`
439+
-- Triggers `modular_class`
414440
--
415441
DELIMITER $$
416-
CREATE TRIGGER `classUpdateTrigger` AFTER UPDATE ON `class` FOR EACH ROW BEGIN
442+
CREATE TRIGGER `classUpdateTrigger` AFTER UPDATE ON `modular_class` FOR EACH ROW BEGIN
417443
UPDATE `student` SET `className`= new.name WHERE `className` = old.name;
418444
END
419445
$$
420446
DELIMITER ;
421447
DELIMITER $$
422-
CREATE TRIGGER `deleteClassTrigger` BEFORE DELETE ON `class` FOR EACH ROW BEGIN
448+
CREATE TRIGGER `deleteClassTrigger` BEFORE DELETE ON `modular_class` FOR EACH ROW BEGIN
423449
UPDATE student SET student.className = NULL
424450
WHERE student.className = old.name;
425451
END
@@ -428,47 +454,6 @@ DELIMITER ;
428454

429455
-- --------------------------------------------------------
430456

431-
--
432-
-- Table structure for table `educational_background`
433-
--
434-
435-
CREATE TABLE `educational_background` (
436-
`StudentId` varchar(50) COLLATE latin1_bin NOT NULL,
437-
`BeginDate` date NOT NULL,
438-
`EndDate` date NOT NULL,
439-
`Institution` varchar(200) COLLATE latin1_bin NOT NULL,
440-
`CourseRead` varchar(200) COLLATE latin1_bin NOT NULL,
441-
`QualificationName` varchar(200) COLLATE latin1_bin NOT NULL
442-
) ENGINE=CSV DEFAULT CHARSET=latin1 COLLATE=latin1_bin;
443-
444-
-- --------------------------------------------------------
445-
446-
--
447-
-- Table structure for table `finance`
448-
--
449-
450-
CREATE TABLE `finance` (
451-
`StudentID` varchar(50) COLLATE latin1_bin NOT NULL,
452-
`FirstName` varchar(30) COLLATE latin1_bin NOT NULL,
453-
`LastName` varchar(30) COLLATE latin1_bin NOT NULL,
454-
`Address` varchar(200) COLLATE latin1_bin NOT NULL,
455-
`Telephone` varchar(30) COLLATE latin1_bin NOT NULL,
456-
`Email` varchar(100) COLLATE latin1_bin NOT NULL
457-
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_bin;
458-
459-
-- --------------------------------------------------------
460-
461-
--
462-
-- Table structure for table `howyouheard`
463-
--
464-
465-
CREATE TABLE `howyouheard` (
466-
`StudentID` varchar(50) COLLATE latin1_bin NOT NULL,
467-
`MannerOfHearing` varchar(200) COLLATE latin1_bin NOT NULL
468-
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_bin;
469-
470-
-- --------------------------------------------------------
471-
472457
--
473458
-- Table structure for table `module`
474459
--
@@ -658,6 +643,21 @@ CREATE TABLE `professional_experience` (
658643

659644
-- --------------------------------------------------------
660645

646+
--
647+
-- Table structure for table `sponsor`
648+
--
649+
650+
CREATE TABLE `sponsor` (
651+
`StudentID` varchar(50) COLLATE latin1_bin NOT NULL,
652+
`FirstName` varchar(30) COLLATE latin1_bin NOT NULL,
653+
`LastName` varchar(30) COLLATE latin1_bin NOT NULL,
654+
`Address` varchar(200) COLLATE latin1_bin NOT NULL,
655+
`Telephone` varchar(30) COLLATE latin1_bin NOT NULL,
656+
`Email` varchar(100) COLLATE latin1_bin NOT NULL
657+
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_bin;
658+
659+
-- --------------------------------------------------------
660+
661661
--
662662
-- Table structure for table `student`
663663
--
@@ -774,16 +774,16 @@ ALTER TABLE `certificatemodule`
774774
ADD KEY `moduleLink` (`moduleName`);
775775

776776
--
777-
-- Indexes for table `class`
777+
-- Indexes for table `means_of_discovery`
778778
--
779-
ALTER TABLE `class`
780-
ADD PRIMARY KEY (`name`);
779+
ALTER TABLE `means_of_discovery`
780+
ADD KEY `studentMeansLink` (`StudentID`);
781781

782782
--
783-
-- Indexes for table `finance`
783+
-- Indexes for table `modular_class`
784784
--
785-
ALTER TABLE `finance`
786-
ADD UNIQUE KEY `StudentID` (`StudentID`);
785+
ALTER TABLE `modular_class`
786+
ADD PRIMARY KEY (`name`);
787787

788788
--
789789
-- Indexes for table `module`
@@ -817,6 +817,12 @@ ALTER TABLE `phone`
817817
ALTER TABLE `professional_experience`
818818
ADD KEY `StudentLink` (`StudentId`);
819819

820+
--
821+
-- Indexes for table `sponsor`
822+
--
823+
ALTER TABLE `sponsor`
824+
ADD UNIQUE KEY `StudentID` (`StudentID`);
825+
820826
--
821827
-- Indexes for table `student`
822828
--
@@ -865,10 +871,10 @@ ALTER TABLE `certificatemodule`
865871
ADD CONSTRAINT `moduleLink` FOREIGN KEY (`moduleName`) REFERENCES `module` (`name`) ON DELETE NO ACTION ON UPDATE NO ACTION;
866872

867873
--
868-
-- Constraints for table `finance`
874+
-- Constraints for table `means_of_discovery`
869875
--
870-
ALTER TABLE `finance`
871-
ADD CONSTRAINT `financeLink` FOREIGN KEY (`StudentID`) REFERENCES `student` (`id_card_number`) ON DELETE CASCADE ON UPDATE CASCADE;
876+
ALTER TABLE `means_of_discovery`
877+
ADD CONSTRAINT `studentMeansLink` FOREIGN KEY (`StudentID`) REFERENCES `student` (`id_card_number`) ON DELETE CASCADE ON UPDATE CASCADE;
872878

873879
--
874880
-- Constraints for table `module_register`
@@ -889,12 +895,18 @@ ALTER TABLE `phone`
889895
ALTER TABLE `professional_experience`
890896
ADD CONSTRAINT `StudentLink` FOREIGN KEY (`StudentId`) REFERENCES `student` (`id_card_number`) ON DELETE CASCADE ON UPDATE CASCADE;
891897

898+
--
899+
-- Constraints for table `sponsor`
900+
--
901+
ALTER TABLE `sponsor`
902+
ADD CONSTRAINT `financeLink` FOREIGN KEY (`StudentID`) REFERENCES `student` (`id_card_number`) ON DELETE CASCADE ON UPDATE CASCADE;
903+
892904
--
893905
-- Constraints for table `student`
894906
--
895907
ALTER TABLE `student`
896908
ADD CONSTRAINT `student_certificate_link` FOREIGN KEY (`certificateIssued`) REFERENCES `certificate` (`name`),
897-
ADD CONSTRAINT `student_ibfk_1` FOREIGN KEY (`className`) REFERENCES `class` (`name`) ON DELETE NO ACTION ON UPDATE NO ACTION;
909+
ADD CONSTRAINT `student_ibfk_1` FOREIGN KEY (`className`) REFERENCES `modular_class` (`name`) ON DELETE NO ACTION ON UPDATE NO ACTION;
898910

899911
--
900912
-- Constraints for table `student_finance`

‎ModualrProject/src/test/AdminTest.java‎

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
package test;
22

3+
import java.sql.Connection;
34
import java.sql.SQLException;
45
import java.util.Scanner;
56

67
import database.bean.Admin;
78
import database.managers.AdminManager;
9+
import database.managers.ConnectionManager;
810
import database.managers.DatabaseManager;
911
import exception.InvalidAdminException;
1012
import exception.InvalidBeanException;
@@ -13,7 +15,7 @@ public class AdminTest
1315
{
1416
public static void main(String[] args) throws InvalidBeanException, InvalidAdminException, SQLException
1517
{
16-
Admin currentAdmin = new Admin("Enoch", "Ayobami" );
18+
Admin currentAdmin = new Admin("Chidiebere", "Fred" );
1719
DatabaseManager.setCurrentAdmin(currentAdmin);
1820

1921
Scanner input = new Scanner( System.in);
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
package test;
2+
3+
import java.sql.Connection;
4+
import java.sql.ResultSet;
5+
import java.sql.SQLException;
6+
import java.sql.Statement;
7+
import java.util.ArrayList;
8+
import java.util.List;
9+
10+
import database.managers.ConnectionManager;
11+
12+
public class PreviledgeTest
13+
{
14+
15+
public static void main(String[] args) throws SQLException
16+
{
17+
String[] tableNames = getTables();
18+
19+
for( int i = 0 ; i < tableNames.length ; i++ ){
20+
System.out.println( tableNames[i] );
21+
}
22+
}
23+
24+
public static String[] getTables() throws SQLException
25+
{
26+
ResultSet result = null;
27+
List<String > list = new ArrayList<>(30);
28+
try(Connection conn = ConnectionManager.getInstance().getConnection();
29+
Statement stmt = conn.createStatement();
30+
){
31+
result = stmt. executeQuery("SELECT TABLE_NAME FROM information_schema.tables");
32+
33+
34+
while( result.next()){
35+
36+
list.add( result.getObject(1).toString());
37+
38+
}
39+
40+
}
41+
return list.toArray( new String[ list.size()] );
42+
43+
}
44+
45+
46+
}

0 commit comments

Comments
 (0)