diff --git a/Semester 2/Computer Systems Internals & Linux/Week 4/q1.sh b/Semester 2/Computer Systems Internals & Linux/Week 4/q1.sh new file mode 100644 index 0000000..e69de29 diff --git a/Semester 2/Database Systems/Week 4/Week 4 Database Systems.md b/Semester 2/Database Systems/Week 4/Week 4 Database Systems.md index 6d94e9d..7c80101 100644 --- a/Semester 2/Database Systems/Week 4/Week 4 Database Systems.md +++ b/Semester 2/Database Systems/Week 4/Week 4 Database Systems.md @@ -64,3 +64,68 @@ T1 and T2 conflict as T1's write for X is overwritten by T2's write for X before ( 2 conflicts ) T1 and T2 conflict as T1's write operation is overwritten by T2's write operation before either transaction is complete. ( 3 conflicts ) + +# Workshop + +```sql +create table chap27.car( + carId INT, + carMake VARCHAR(8), + carModel VARCHAR(12), + carPrice INT, + primary key( carId ) +); + +create table chap27.part( + partId INT, + partName VARCHAR(6), + partPrice INT, + primary key( partId ) +); + +create table chap27.carPart( + carId INT, + partId INT, + foreign key (carId) references car(carId), + foreign key (partId) references part(partId) +); + +insert into car values + (1, 'Ford', 'Focus', 18000), + (2, 'Toyota', 'Avensis', 20000), + (3, 'BMW', '640d', 60000), + (4, 'Porsche', 'Boxter 718', 42000); + +insert into part values + (1, 'part1', 54), + (2, 'part2', 664), + (3, 'part3', 224), + (4, 'part4', 11), + (5, 'part5', 187), + (6, 'part6', 22), + (7, 'part7', 998), + (8, 'part8', 115), + (9, 'part9', 23), + (10, 'part10', 55); + +insert into carpart values + (1, 3), + (1, 8), + (1, 5), + (1, 1), + (1, 7), + (2, 3), + (2, 4), + (2, 2), + (2, 8), + (3, 9), + (3, 5), + (3, 3), + (3, 1), + (4, 7), + (4, 9), + (4, 5), + (4, 6), + (4, 4), + (4, 2); +``` diff --git a/Semester 2/Programming 2/Project/Part 1/Library.class b/Semester 2/Programming 2/Project/Part 1/Library.class index ad444ef..5667e4c 100644 Binary files a/Semester 2/Programming 2/Project/Part 1/Library.class and b/Semester 2/Programming 2/Project/Part 1/Library.class differ diff --git a/Semester 2/Programming 2/Project/Part 1/Library.java b/Semester 2/Programming 2/Project/Part 1/Library.java index bd859ce..406baf5 100644 --- a/Semester 2/Programming 2/Project/Part 1/Library.java +++ b/Semester 2/Programming 2/Project/Part 1/Library.java @@ -8,10 +8,8 @@ // Import all required libraries. Not using .* as it is not good practice due to potential conflicts. import java.util.ArrayList; -import java.util.Iterator; import java.util.Scanner; import java.io.File; -import java.io.PrintWriter; import java.io.IOException; import java.awt.FileDialog; import java.awt.Frame; @@ -49,32 +47,32 @@ public class Library public void readItemData() //throws IOException { - try { Frame frame = null; // Initialise a null frame FileDialog fileBox = new FileDialog( frame, "Open", FileDialog.LOAD ); // Initialise filebox with the null frame pointer fileBox.setVisible( true ); // Open a file selection dialog to the user. - Scanner fileScanner = new Scanner( new File( fileBox.getDirectory() + fileBox.getFile() ) ); - - while( fileScanner.hasNextLine() ) - { + try { + Scanner fileScanner = new Scanner( new File( fileBox.getDirectory() + fileBox.getFile() ) ); - String lineItem = fileScanner.nextLine(); - - if ( !lineItem.contains( "//" ) && !lineItem.trim().isEmpty() ) { // Ensure no comments or empty lines are included + while( fileScanner.hasNextLine() ) + { - Scanner detailScanner = new Scanner ( lineItem ).useDelimiter(","); // Create a new scanner to grab the values in a comma separated list - - LibraryItem libraryItem = new LibraryItem(); - libraryItem.readData( detailScanner ); - - storeItem( libraryItem ); // Store the new LibraryItem in the itemList + String lineItem = fileScanner.nextLine(); + if ( !lineItem.contains( "//" ) && !lineItem.trim().isEmpty() ) { // Ensure no comments or empty lines are included + + Scanner detailScanner = new Scanner ( lineItem ).useDelimiter(","); // Create a new scanner to grab the values in a comma separated list + + LibraryItem libraryItem = new LibraryItem(); + libraryItem.readData( detailScanner ); + + storeItem( libraryItem ); // Store the new LibraryItem in the itemList + + } } } - } - catch( IOException e ) { // Catch any IO Exceptions that may occur from improper file selection. - System.err.println( "Caught IOException: " + e.getMessage() + "\nAn I/O Exception has occurred, please check file is readable and correct format." ); - } + catch( IOException e ) { // Catch any IO Exceptions that may occur from improper file selection. + System.err.println( "Caught IOException: " + e.getMessage() + "\nAn I/O Exception has occurred, please check file is readable and correct format." ); + } } } diff --git a/Semester 2/Programming 2/Project/Part 1/LibraryItem.class b/Semester 2/Programming 2/Project/Part 1/LibraryItem.class index 75a36ec..b2fce12 100644 Binary files a/Semester 2/Programming 2/Project/Part 1/LibraryItem.class and b/Semester 2/Programming 2/Project/Part 1/LibraryItem.class differ diff --git a/Semester 2/Programming 2/Project/Part 1/LibraryItem.java b/Semester 2/Programming 2/Project/Part 1/LibraryItem.java index 924863e..bdcba6f 100644 --- a/Semester 2/Programming 2/Project/Part 1/LibraryItem.java +++ b/Semester 2/Programming 2/Project/Part 1/LibraryItem.java @@ -8,6 +8,7 @@ import java.util.Scanner; import java.util.ArrayList; +import java.util.NoSuchElementException; public class LibraryItem { @@ -116,10 +117,13 @@ public class LibraryItem } public void readData( Scanner detailScanner ) { - this.title = detailScanner.next(); - this.itemCode = detailScanner.next(); - this.cost = Integer.parseInt( detailScanner.next() ); - this.timesBorrowed = Integer.parseInt( detailScanner.next() ); - this.onLoan = Boolean.parseBoolean( detailScanner.next() ); + + if ( detailScanner != null ) { + this.title = detailScanner.next().trim(); + this.itemCode = detailScanner.next().trim(); + this.cost = Integer.parseInt( detailScanner.next() ); + this.timesBorrowed = Integer.parseInt( detailScanner.next() ); + this.onLoan = Boolean.parseBoolean( detailScanner.next() ); + } } } diff --git a/Semester 2/Programming 2/Project/Part 1/doc/LibraryItem.html b/Semester 2/Programming 2/Project/Part 1/doc/LibraryItem.html new file mode 100644 index 0000000..d762cb0 --- /dev/null +++ b/Semester 2/Programming 2/Project/Part 1/doc/LibraryItem.html @@ -0,0 +1,369 @@ + + + + + + + +LibraryItem + + + + + + + + + + + + +
+ +
+ +

+Class LibraryItem

+
+java.lang.Object
+  extended by LibraryItem
+
+
+
+
public class LibraryItem
extends java.lang.Object
+ + +

+


+ +

+ + + + + + + + + + + + + + +
+Constructor Summary
LibraryItem() + +
+           
LibraryItem(java.lang.String title, + java.lang.String itemCode, + int cost, + int timesBorrowed, + boolean onLoan) + +
+          Constructor for objects of class LibraryItem
+  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ intgetCost() + +
+           
+ java.lang.StringgetItemCode() + +
+           
+ booleangetOnLoan() + +
+           
+ intgetTimesBorrowed() + +
+           
+ java.lang.StringgetTitle() + +
+           
+ voidprintDetails() + +
+           
+ voidreadData(java.util.Scanner detailScanner) + +
+           
+ voidsetCost(int cost) + +
+           
+ voidsetItemCode(java.lang.String itemCode) + +
+           
+ voidsetOnLoan(boolean onLoan) + +
+           
+ voidsetTimesBorrowed(int timesBorrowed) + +
+           
+ voidsetTitle(java.lang.String title) + +
+           
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+LibraryItem

+
+public LibraryItem()
+
+
+
+ +

+LibraryItem

+
+public LibraryItem(java.lang.String title,
+                   java.lang.String itemCode,
+                   int cost,
+                   int timesBorrowed,
+                   boolean onLoan)
+
+
Constructor for objects of class LibraryItem +

+

+ + + + + + + + +
+Method Detail
+ +

+getCost

+
+public int getCost()
+
+
+
+
+
+
+ +

+getItemCode

+
+public java.lang.String getItemCode()
+
+
+
+
+
+
+ +

+getOnLoan

+
+public boolean getOnLoan()
+
+
+
+
+
+
+ +

+getTimesBorrowed

+
+public int getTimesBorrowed()
+
+
+
+
+
+
+ +

+getTitle

+
+public java.lang.String getTitle()
+
+
+
+
+
+
+ +

+printDetails

+
+public void printDetails()
+
+
+
+
+
+
+ +

+readData

+
+public void readData(java.util.Scanner detailScanner)
+
+
+
+
+
+
+ +

+setCost

+
+public void setCost(int cost)
+
+
+
+
+
+
+ +

+setItemCode

+
+public void setItemCode(java.lang.String itemCode)
+
+
+
+
+
+
+ +

+setOnLoan

+
+public void setOnLoan(boolean onLoan)
+
+
+
+
+
+
+ +

+setTimesBorrowed

+
+public void setTimesBorrowed(int timesBorrowed)
+
+
+
+
+
+
+ +

+setTitle

+
+public void setTitle(java.lang.String title)
+
+
+
+
+
+ +
+ +
+ + + diff --git a/Semester 2/Programming 2/Project/Part 1/doc/allclasses-frame.html b/Semester 2/Programming 2/Project/Part 1/doc/allclasses-frame.html new file mode 100644 index 0000000..aea5ee7 --- /dev/null +++ b/Semester 2/Programming 2/Project/Part 1/doc/allclasses-frame.html @@ -0,0 +1,32 @@ + + + + + + + +All Classes + + + + + + + + + + + +All Classes +
+ + + + + +
LibraryItem +
+
+ + + diff --git a/Semester 2/Programming 2/Project/Part 1/doc/allclasses-noframe.html b/Semester 2/Programming 2/Project/Part 1/doc/allclasses-noframe.html new file mode 100644 index 0000000..f7a8c5a --- /dev/null +++ b/Semester 2/Programming 2/Project/Part 1/doc/allclasses-noframe.html @@ -0,0 +1,32 @@ + + + + + + + +All Classes + + + + + + + + + + + +All Classes +
+ + + + + +
LibraryItem +
+
+ + + diff --git a/Semester 2/Programming 2/Project/Part 1/doc/constant-values.html b/Semester 2/Programming 2/Project/Part 1/doc/constant-values.html new file mode 100644 index 0000000..61a4fd0 --- /dev/null +++ b/Semester 2/Programming 2/Project/Part 1/doc/constant-values.html @@ -0,0 +1,45 @@ + + + + + + + +Constant Field Values + + + + + + + + + + + + +
+ +
+
+

+Constant Field Values

+
+
+Contents + +
+ +
+ + + diff --git a/Semester 2/Programming 2/Project/Part 1/doc/index.html b/Semester 2/Programming 2/Project/Part 1/doc/index.html new file mode 100644 index 0000000..993e57b --- /dev/null +++ b/Semester 2/Programming 2/Project/Part 1/doc/index.html @@ -0,0 +1,37 @@ + + + + + + + +Generated Documentation (Untitled) + + + + + + + + +<H2> +Frame Alert</H2> + +<P> +This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client. +<BR> +Link to<A HREF="LibraryItem.html">Non-frame version.</A> + + + diff --git a/Semester 2/Programming 2/Project/Part 1/doc/logfile.txt b/Semester 2/Programming 2/Project/Part 1/doc/logfile.txt new file mode 100644 index 0000000..71c7972 --- /dev/null +++ b/Semester 2/Programming 2/Project/Part 1/doc/logfile.txt @@ -0,0 +1,41 @@ +Class documentation +<---- javadoc command: ----> +/usr/lib/jvm/java-8-openjdk-amd64/bin/javadoc +-author +-version +-nodeprecated +-package +-noindex +-notree +-nohelp +-nonavbar +-source +1.8 +-classpath +/usr/share/bluej/bluejcore.jar:/usr/share/bluej/junit-4.8.2.jar:/usr/share/bluej/userlib/pi4j-gpio-extension.jar:/usr/share/bluej/userlib/pi4j-device.jar:/usr/share/bluej/userlib/pi4j-core.jar:/usr/share/bluej/userlib/pi4j-service.jar:/home/boris/OneDrive/Computer Science Year 1/Semester 2/Programming 2/Project/Part 1 +-d +/home/boris/OneDrive/Computer Science Year 1/Semester 2/Programming 2/Project/Part 1/doc +-encoding +UTF-8 +-charset +UTF-8 +-docletpath +/usr/share/bluej/bjdoclet.jar +-doclet +bluej.doclet.doclets.formats.html.HtmlDoclet +/home/boris/OneDrive/Computer Science Year 1/Semester 2/Programming 2/Project/Part 1/LibraryItem.java +<---- end of javadoc command ----> +Loading source file /home/boris/OneDrive/Computer Science Year 1/Semester 2/Programming 2/Project/Part 1/LibraryItem.java... +Constructing Javadoc information... +Standard Doclet version 1.8.0_392 +Building tree for all the packages and classes... +Generating /home/boris/OneDrive/Computer Science Year 1/Semester 2/Programming 2/Project/Part 1/doc/LibraryItem.html... +Generating /home/boris/OneDrive/Computer Science Year 1/Semester 2/Programming 2/Project/Part 1/doc/package-frame.html... +Generating /home/boris/OneDrive/Computer Science Year 1/Semester 2/Programming 2/Project/Part 1/doc/package-summary.html... +Generating /home/boris/OneDrive/Computer Science Year 1/Semester 2/Programming 2/Project/Part 1/doc/constant-values.html... +Building index for all the packages and classes... +Building index for all classes... +Generating /home/boris/OneDrive/Computer Science Year 1/Semester 2/Programming 2/Project/Part 1/doc/allclasses-frame.html... +Generating /home/boris/OneDrive/Computer Science Year 1/Semester 2/Programming 2/Project/Part 1/doc/allclasses-noframe.html... +Generating /home/boris/OneDrive/Computer Science Year 1/Semester 2/Programming 2/Project/Part 1/doc/index.html... +Generating /home/boris/OneDrive/Computer Science Year 1/Semester 2/Programming 2/Project/Part 1/doc/stylesheet.css... diff --git a/Semester 2/Programming 2/Project/Part 1/doc/package-frame.html b/Semester 2/Programming 2/Project/Part 1/doc/package-frame.html new file mode 100644 index 0000000..aa0f2b2 --- /dev/null +++ b/Semester 2/Programming 2/Project/Part 1/doc/package-frame.html @@ -0,0 +1,33 @@ + + + + + + + +<Unnamed> + + + + + + + + + + + +<Unnamed> + + + + +
+Classes  + +
+LibraryItem
+ + + + diff --git a/Semester 2/Programming 2/Project/Part 1/doc/package-list b/Semester 2/Programming 2/Project/Part 1/doc/package-list new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/Semester 2/Programming 2/Project/Part 1/doc/package-list @@ -0,0 +1 @@ + diff --git a/Semester 2/Programming 2/Project/Part 1/doc/package-summary.html b/Semester 2/Programming 2/Project/Part 1/doc/package-summary.html new file mode 100644 index 0000000..24d0395 --- /dev/null +++ b/Semester 2/Programming 2/Project/Part 1/doc/package-summary.html @@ -0,0 +1,46 @@ + + + + + + + + + + + + + + + + + + +
+ +
+

+Package <Unnamed> +

+ + + + + + + + + +
+Class Summary
LibraryItem 
+  + +

+

+
+
+ +
+ + + diff --git a/Semester 2/Programming 2/Project/Part 1/doc/resources/inherit.gif b/Semester 2/Programming 2/Project/Part 1/doc/resources/inherit.gif new file mode 100644 index 0000000..c814867 Binary files /dev/null and b/Semester 2/Programming 2/Project/Part 1/doc/resources/inherit.gif differ diff --git a/Semester 2/Programming 2/Project/Part 1/doc/stylesheet.css b/Semester 2/Programming 2/Project/Part 1/doc/stylesheet.css new file mode 100644 index 0000000..6ea9e51 --- /dev/null +++ b/Semester 2/Programming 2/Project/Part 1/doc/stylesheet.css @@ -0,0 +1,29 @@ +/* Javadoc style sheet */ + +/* Define colors, fonts and other style attributes here to override the defaults */ + +/* Page background color */ +body { background-color: #FFFFFF; color:#000000 } + +/* Headings */ +h1 { font-size: 145% } + +/* Table colors */ +.TableHeadingColor { background: #CCCCFF; color:#000000 } /* Dark mauve */ +.TableSubHeadingColor { background: #EEEEFF; color:#000000 } /* Light mauve */ +.TableRowColor { background: #FFFFFF; color:#000000 } /* White */ + +/* Font used in left-hand frame lists */ +.FrameTitleFont { font-size: 100%; font-family: Helvetica, Arial, sans-serif; color:#000000 } +.FrameHeadingFont { font-size: 90%; font-family: Helvetica, Arial, sans-serif; color:#000000 } +.FrameItemFont { font-size: 90%; font-family: Helvetica, Arial, sans-serif; color:#000000 } + +/* Navigation bar fonts and colors */ +.NavBarCell1 { background-color:#EEEEFF; color:#000000} /* Light mauve */ +.NavBarCell1Rev { background-color:#00008B; color:#FFFFFF} /* Dark Blue */ +.NavBarFont1 { font-family: Arial, Helvetica, sans-serif; color:#000000;color:#000000;} +.NavBarFont1Rev { font-family: Arial, Helvetica, sans-serif; color:#FFFFFF;color:#FFFFFF;} + +.NavBarCell2 { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF; color:#000000} +.NavBarCell3 { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF; color:#000000} + diff --git a/Semester 2/Programming 2/Project/Part 1/package.bluej b/Semester 2/Programming 2/Project/Part 1/package.bluej index 24b43d5..48677a7 100644 --- a/Semester 2/Programming 2/Project/Part 1/package.bluej +++ b/Semester 2/Programming 2/Project/Part 1/package.bluej @@ -14,7 +14,7 @@ package.showExtends=true package.showUses=true project.charset=UTF-8 target1.editor.height=1049 -target1.editor.width=960 +target1.editor.width=1591 target1.editor.x=0 target1.editor.y=31 target1.height=50 @@ -27,8 +27,8 @@ target1.width=100 target1.x=70 target1.y=10 target2.editor.height=1049 -target2.editor.width=960 -target2.editor.x=960 +target2.editor.width=1920 +target2.editor.x=0 target2.editor.y=31 target2.height=50 target2.name=Library