×
Samples Blogs Make Payment About Us Reviews 4.9/5 Order Now

Create a Program to Create Schema Simulator in Java Assignment Solution

July 10, 2024
Dr. Hannah Lynch
Dr. Hannah
🇬🇧 United Kingdom
Java
Dr. Hannah, a distinguished Ph.D. holder from the University of York, brings over a decade of expertise to our service. With an impressive track record of completing 1100+ Java assignments, Dr. Hannah's profound knowledge and extensive experience ensure exemplary solutions tailored to meet your specific requirements.
Key Topics
  • Instructions
  • Requirements and Specifications
Tip of the day
Define types and interfaces early in your TypeScript assignments to improve code clarity and prevent errors. Always enable strict mode in your tsconfig.json for enhanced type safety and debugging ease.
News
In 2024, PyCharm introduced enhanced Docker and GitHub integrations for smoother production-like development, while Visual Studio Code improved real-time remote collaboration features, boosting productivity for programming students

Instructions

Objective

Write a program to create a schema simulator in the Java language. This project involves designing and implementing a simulation of various schemas using Java programming concepts. You'll have the opportunity to showcase your Java programming skills while working on this assignment. By completing this task, you'll gain a deeper understanding of schema simulation and enhance your proficiency in Java programming. So, roll up your sleeves and dive into this engaging project to successfully complete a Java assignment that highlights your coding prowess.

Requirements and Specifications

program to create schema simulator in java1
program to create schema simulator in java11
program to create schema simulator in java2

Source Code

QUESTION 1

import java.sql.SQLException; import java.text.ParseException; import java.text.SimpleDateFormat; import javax.swing.table.*; import javax.swing.*; import java.awt.event.*; import java.sql.*; public class Q1_ID { public static void main(String[] args) { // Helper variable int EVENT_TYPE = -1; JFrame f=new JFrame();//creating instance of JFrame // add label JLabel label1 = new JLabel("Select Event Type"); label1.setBounds(50, 20, 100, 40); JComboBox cbx = new JComboBox(); cbx.setBounds(180, 20, 100, 40); cbx.addItem("Journal"); cbx.addItem("Book"); cbx.addItem("Conference"); // fields JLabel label2 = new JLabel("Event Name:"); JLabel label3 = new JLabel("Weblink:"); JLabel label4 = new JLabel("Description:"); JLabel label5 = new JLabel("Journal Name:"); JLabel label6 = new JLabel("Publisher:"); JLabel label7 = new JLabel("City:"); JLabel label8 = new JLabel("Country:"); JLabel label9 = new JLabel("Date:"); /* // JTable String[]columns = {"Type", "Date", "Count"}; String[][]data = {{"", "", "", ""}}; final DefaultTableModel model = new DefaultTableModel(null, columns); JTable table = new JTable(model); table.setBounds(5, 5, 300, 100); JScrollPane sp = new JScrollPane(table); sp.setBounds(10, 520, 360, 100);*/ label2.setBounds(50, 80, 100, 30); label3.setBounds(50, 120, 100, 30); label4.setBounds(50, 160, 100, 30); label5.setBounds(50, 200, 100, 30); label6.setBounds(50, 240, 100, 30); label7.setBounds(50, 280, 100, 30); label8.setBounds(50, 320, 100, 30); label9.setBounds(50, 360, 100, 30); // textfields JTextField text1 = new JTextField(); JTextField text2 = new JTextField(); JTextField text3 = new JTextField(); JTextField text4 = new JTextField(); JTextField text5 = new JTextField(); JTextField text6 = new JTextField(); JTextField text7 = new JTextField(); JTextField text8 = new JTextField(); //add listener cbx.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { if(cbx.getSelectedIndex() == 0) // journal { text4.setEnabled(true); text5.setEnabled(true); text6.setEnabled(false); text7.setEnabled(false); text8.setEnabled(false); } else if(cbx.getSelectedIndex() == 1) // book { text4.setEnabled(false); text5.setEnabled(true); text6.setEnabled(false); text7.setEnabled(false); text8.setEnabled(false); } else if(cbx.getSelectedIndex() == 2) // conference { text4.setEnabled(false); text5.setEnabled(false); text6.setEnabled(true); text7.setEnabled(true); text8.setEnabled(true); } } }); cbx.setSelectedIndex(0); // Button JButton addButton = new JButton("Create Event"); // add listener addButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { int EVENT_TYPE = cbx.getSelectedIndex(); String field1 = text1.getText(); String field2 = text2.getText(); String field3 = text3.getText(); String field4 = text4.getText(); String field5 = text5.getText(); String field6 = text6.getText(); String field7 = text7.getText(); String field8 = text8.getText(); if(EVENT_TYPE == 0) // journal { // check that none of the fields are empty if(!field1.isEmpty() && !field2.isEmpty() && !field3.isEmpty() && !field4.isEmpty() && !field5.isEmpty()) { // Create new Q3 object that is the one that will update the DB Q3_ID query = new Q3_ID(); query.setEvent(0); query.setEventName(field1); query.setWebLink(field2); query.setDescription(field3); query.setJournalName(field4); query.setPublisher(field5); try { query.push(); } catch (SQLException e2) { // TODO Auto-generated catch block System.out.println("Could not push query: " + query.toString()); } } } else if(EVENT_TYPE == 1) // book { // check that none of the fields are empty if(!field1.isEmpty() && !field2.isEmpty() && !field3.isEmpty() && !field5.isEmpty()) { // Create new Q3 object that is the one that will update the DB Q3_ID query = new Q3_ID(); query.setEvent(1); query.setEventName(field1); query.setWebLink(field2); query.setDescription(field3); query.setPublisher(field5); try { query.push(); } catch (SQLException e2) { // TODO Auto-generated catch block System.out.println("Could not push query: " + query.toString()); } } } else if(EVENT_TYPE == 2) // conference { // check that none of the fields are empty if(!field1.isEmpty() && !field2.isEmpty() && !field3.isEmpty() && !field6.isEmpty() && !field7.isEmpty() && !field8.isEmpty()) { // Create new Q3 object that is the one that will update the DB Q3_ID query = new Q3_ID(); query.setEvent(2); query.setEventName(field1); query.setWebLink(field2); query.setDescription(field3); query.setCity(field6); query.setCountry(field7); try { query.setDate(new java.sql.Date(new SimpleDateFormat("dd/MM/yyyy").parse(field8).getTime())); } catch (ParseException e1) { // TODO Auto-generated catch block System.out.println("Invalid date format"); } try { query.push(); } catch (SQLException e2) { // TODO Auto-generated catch block System.out.println("Could not push query: " + query.toString()); e2.printStackTrace(); } } } } }); text1.setBounds(180, 80, 100, 30); text2.setBounds(180, 120, 100, 30); text3.setBounds(180, 160, 100, 30); text4.setBounds(180, 200, 100, 30); text5.setBounds(180, 240, 100, 30); text6.setBounds(180, 280, 100, 30); text7.setBounds(180, 320, 100, 30); text8.setBounds(180, 360, 100, 30); addButton.setBounds(70, 420, 200, 40); // add components f.add(label1); f.add(label2); f.add(label3); f.add(label4); f.add(label5); f.add(label6); f.add(label7); f.add(label8); f.add(label9); f.add(cbx); f.add(text1); f.add(text2); f.add(text3); f.add(text4); f.add(text5); f.add(text6); f.add(text7); f.add(text8); f.add(addButton); f.setSize(400,600);//400 width and 500 height f.setLayout(null);//using no layout managers f.setVisible(true);//making the frame visible } }

QUESTION 2

import java.sql.SQLException; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.List; import javax.swing.table.*; import javax.swing.*; import java.awt.event.*; import java.sql.*; public class Q2_ID { public static void main(String[] args) { JFrame f = new JFrame(); // JTable String[]columns = {"Type", "Date", "Count"}; String[][]data = {{"", "", "", ""}}; final DefaultTableModel model = new DefaultTableModel(null, columns); JTable table = new JTable(model); table.setBounds(5, 5, 300, 100); JScrollPane sp = new JScrollPane(table); sp.setBounds(10, 10, 360, 260); // Button JButton queryButton = new JButton("Query Events"); // add listene queryButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { String query = "SELECT \"EventConference\" as type, Concat(monthname(Date),\", \",Year(Date)) as Month, count(*) as Count FROM EventConference GROUP BY Year(Date), Month(Date) UNION Select \"EventJournal\" as type, Concat(monthname(Temp.ADate),\", \",Year(Temp.ADate)) as Month, Count(*) as Count From (Select EventName, Min(ActivityDate) as ADate from ActivityHappens WHERE EventName IN (Select EventName FROM EventJournal) Group by EventName) as Temp Group by Year(Temp.ADate), Month(Temp.ADate)"; List rows = Q3_ID.getResultQuery(query); if(rows.size() > 0) { for(Object[] row: rows) model.addRow(row); } } }); queryButton.setBounds(70, 300, 200, 40); // add components f.add(queryButton); f.add(sp); f.setSize(400,400);//400 width and 500 height f.setLayout(null);//using no layout managers f.setVisible(true);//making the frame visible } }

QUESTION 3

import java.sql.*; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.List; public class Q3_ID { private String EventName; private String WebLink; private String Description; private String City; private String Country; private Date EventDate; private String JournalName; private String Publisher; private int event; // 0 for journal, 1 for book and 2 for conference private static final int JOURNAL = 0; private static final int BOOK = 1; private static final int CONFERENCE = 2; public static final String DB_USER = "root"; public static final String DB_PASS = "root"; public static final String DB_NAME = "3421a03"; public static final String DB_PORT = "3306"; public static final String DB_HOST = "localhost"; public Q3_ID() { event = -1; } public String getWebLink() { return this.WebLink; } public void setWebLink(String WebLink) { this.WebLink = WebLink; } public String getDescription() { return this.Description; } public void setDescription(String Description) { this.Description = Description; } public String getEventName() { return EventName; } public void setEventName(String eventName) { EventName = eventName; } public String getCity() { return City; } public void setCity(String city) { City = city; } public String getCountry() { return Country; } public void setCountry(String country) { Country = country; } public Date getDate() { return EventDate; } public void setDate(Date date) { EventDate = date; } public String getJournalName() { return JournalName; } public void setJournalName(String journalName) { JournalName = journalName; } public String getPublisher() { return Publisher; } public void setPublisher(String publisher) { Publisher = publisher; } public int getEvent() { return event; } public void setEvent(int event) { this.event = event; } // method public void createEvent() throws SQLException { // this method addes to databse the given event try { Class.forName("com.mysql.cj.jdbc.Driver"); Connection conn = DriverManager.getConnection("jdbc:mysql://" + DB_HOST + ":" + DB_PORT + "/" + DB_NAME + "?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC", DB_USER, DB_PASS); //Statement stmt = conn.createStatement(); // Specify query String query = ""; query = "INSERT INTO Event (Name, EventWebLink, CFPText) VALUES (?,?,?);"; PreparedStatement prepared = conn.prepareStatement(query); prepared.setString(1, getEventName()); prepared.setString(2, getWebLink()); prepared.setString(3, getDescription()); prepared.execute(); conn.close(); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); System.out.println(e.getMessage()); } catch(SQLException ex2) { ex2.printStackTrace(); } } public void push() throws SQLException { // this method addes to databse the given event try { Class.forName("com.mysql.cj.jdbc.Driver"); Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/3421a03?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC", "root", "root"); // create the event createEvent(); // Specify query String query = ""; if(getEvent() == BOOK) { query = "INSERT INTO EventBook (EventName, Publisher) VALUES (?,?);"; PreparedStatement prepared = conn.prepareStatement(query); prepared.setString(1, getEventName()); prepared.setString(2, getPublisher()); prepared.execute(); } else if(getEvent() == CONFERENCE) { query = "INSERT INTO EventConference (EventName, City, Country, Date) VALUES (?, ?, ?,?);"; PreparedStatement prepared = conn.prepareStatement(query); prepared.setString(1, getEventName()); prepared.setString(2, getCity()); prepared.setString(3, getCountry()); prepared.setDate(4, getDate()); prepared.execute(); } else if(getEvent() == JOURNAL) { query = "INSERT INTO EventJournal (EventName, JournalName, Publisher) VALUES (?, ?, ?);"; PreparedStatement prepared = conn.prepareStatement(query); prepared.setString(1, getEventName()); prepared.setString(2, getJournalName()); prepared.setString(3, getPublisher()); prepared.execute(); } conn.close(); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } } @Override public String toString() { if(getEvent() == -1) return "Undefined Query"; String result = ""; switch(getEvent()) { case JOURNAL: result = String.format("Journal - Event Name: %s, Journal Name: %s, Publisher: %s", getEventName(), getJournalName(), getPublisher()); break; case BOOK: result = String.format("Book - Event Name: %s, Publisher: %s", getEventName(), getPublisher()); break; case CONFERENCE: DateFormat format = new SimpleDateFormat("dd/MM/yyyy"); result = String.format("Conference - Event Name: %s, City: %s, Country: %s, Date: %s", getEventName(), getCity(), getCountry(), format.format(getDate())); break; } return result; } public static List getResultQuery(String query) { List rows = new ArrayList(); try { Class.forName("com.mysql.cj.jdbc.Driver"); Connection conn = DriverManager.getConnection("jdbc:mysql://" + Q3_ID.DB_HOST + ":" + Q3_ID.DB_PORT + "/" + Q3_ID.DB_NAME + "?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC", Q3_ID.DB_USER, Q3_ID.DB_PASS); Statement stmt = conn.createStatement(); ResultSet result = stmt.executeQuery("SELECT \"EventConference\" as type, Concat(monthname(Date),\", \",Year(Date)) as Month, count(*) as Count FROM EventConference GROUP BY Year(Date), Month(Date) UNION Select \"EventJournal\" as type, Concat(monthname(Temp.ADate),\", \",Year(Temp.ADate)) as Month, Count(*) as Count From (Select EventName, Min(ActivityDate) as ADate from ActivityHappens WHERE EventName IN (Select EventName FROM EventJournal) Group by EventName) as Temp Group by Year(Temp.ADate), Month(Temp.ADate)"); ResultSetMetaData rsmd = result.getMetaData(); int nCols = rsmd.getColumnCount(); while(result.next()) { Object[] row = new Object[nCols]; for(int i = 0; i < nCols; i++) { row[i] = result.getObject(i+1); } rows.add(row); //model.addRow(row); } conn.close(); } catch (SQLException e2) { //TODO: handle exception e2.printStackTrace(); } catch (ClassNotFoundException e3) { e3.printStackTrace(); } return rows; } } Contact Deta

Related Samples

At ProgrammingHomeworkHelp.com, we offer extensive support for Java assignments, ensuring students can access expertly crafted samples to guide their learning. Our platform is designed to assist students in mastering Java programming by providing clear, practical examples. Whether you're tackling basic concepts or advanced projects, our Java samples serve as an invaluable resource for understanding the intricacies of the language. Trust ProgrammingHomeworkHelp.com for comprehensive assignment support and elevate your Java programming skills with our expertly created examples.