Continuous Integration Part 2

Size: px
Start display at page:

Download "Continuous Integration Part 2"

Transcription

1 1 Continuous Integration Part 2 This blog post is a follow up to my blog post Continuous Integration (CI), in which I described how to execute test cases in Code Tester (CT) in a CI environment. What I didn't explain in the afore mentioned blog post is how to deploy the test definitions (TD), only how to execute them. Some users have notified in the forums that I missed out on deployment and this blog post rectifies this. This blog post assumes that you're using the latest beta of CT ( as of this time of writing) but also offers some hints on how to accomplish the same with earlier versions. Command Line You can import a given TD through the following command line parameter: i or Import. However, there are several issues with this approach: Prior to CT the exit code was never reflecting errors that occurred -- it always returned zero. Prior to CT the application could show message boxes reflecting issues with the import, which obviously isn't useful in an automated environment. The command line of the Windows application isn't easily available from CI software running on other OSs like Linux or Solaris. However, if you do have access to the Windows application in your CI environment and if you're using CT or newer, you can make use of the new CT command line interface offered by the new executable QctoCmd.exe, which differs from the "old" command line offered through the GUI executable QuestCodeTesterOracle.exe (or QctoBeta.exe) in the following ways: It is a Windows Console application, such that you will no longer get GUI message boxes popping up with error messages. The exit code is now non-zero in case of an error, always zero for success. The error codes are documented in the on-line help system. Example command line for for importing an XML file (note how you no longer need the Close parameter that you had to include previous to in order to close down the application after the operation): "C:\Program Files (x86)\quest Software\Quest Code Tester for Oracle Beta 5\QctoCmd.exe" u=qcto200b5 p=o112 d=o112 DBHome=o112_32 i=c:\myproject\tests\q##my_function.xml po=scott to=qcto200b5 which imports the file C:\MyProject\tests\Q##MY_FUNCTION.xml into the repository owned by QCTO200B5, test program generated in the schema QCTO200B5 and program code is owned by SCOTT. Standard output from the command line shown above could be: Quest Code Tester for Oracle command line utility. Version Importing started C:\MyProject\tests\Q##MY_FUNCTION.xml - SUCCESS Importing ended

2 Exit code 0 Calling with a parameter of? or h will show all the available parameters. PLSQL API The PLSQL API is readily available on any Oracle-supported platform where you have SQL*Plus installed. There is one top-level API you can call to import the XML -- you "just" need to get the XML into a CLOB, set some options and then import. This is demonstrated in the following. Also, two different ways of reading the file into a CLOB are demonstrated, depending on where you can access the XML file from. In any case, it's important that the XML file is transferred binary from where it was exported to where it's referenced for import, in order to avoid issues with unwanted conversions of CRLF in string literals etc. Access to XML File on Database Server You can use BFILE and DBMS_LOB.LOADCLOBFROMFILE to read a file into a CLOB. Here's an example SQL*Plus script that reads a given file into a CLOB SQL*Plus variable, assuming that you have read access to an Oracle directory MY_PROJECT_TESTS that in turn points to an OS directory like C:\MyProject\tests (Windows) or usercimyprojecttests (Linux, UNIX): variable xml_import clob declare file bfile := bfilename('my_project_tests', 'Q##MY_FUNCTION.xml' dst_offset integer := 1; src_offset integer := 1; lang integer := 0; warn integer; dbms_lob.createtemporary(:xml_import, true, dbms_lob.call dbms_lob.fileopen(file, dbms_lob.file_readonly dbms_lob.loadclobfromfile( :xml_import, file, dbms_lob.lobmaxsize, dst_offset, src_offset, nls_charset_id('al32utf8'), lang, warn dbms_lob.fileclose(file dbms_output.put_line('read ' length(:xml_import) ' character(s)' Please note how it's specified that the XML file is in UTF-8 encoding (which is always the case, irrespective of databasenational character set and NLS_LANG). This is done through the usage of the AL32UTF8 character set. You can also use UTL_FILE to read the file line-by-line but this is less effective than the solution above. Access to XML File on CI Server If the XML file cannot be accessed from the Oracle database server but instead is accessible from your CI server, you can write a script, Java program or similar that creates an anonymous PLSQL block that first builds a BLOB from the file's bytes, then converts the result to a CLOB using AL32UTF8 as the character set. This way you avoid issues with NLS_LANG, what your Command Promptshell uses as code pageterm, character set etc. Such an anonymous block could look like (including the declaration of the CLOB variable): variable xml_import clob set linesize 220 declare xml_import_binary blob; src_offset integer := 1;

3 3 dst_offset integer := 1; lang integer := 0; warn integer; dbms_lob.createtemporary(xml_import_binary, true, dbms_lob.call dbms_lob.append(xml_import_binary, hextoraw('3c f5f f52543e0d0a093c212d2d0d0a546f f e f E C ')... dbms_lob.append(xml_import_binary, hextoraw('3c2f554e49545f e0d0a09093c2f51555f e e0d0a093c2f f E F4E533E0D0A3C2F F5F F52543E0D0A') dbms_lob.createtemporary(:xml_import, true, dbms_lob.call dbms_lob.converttoclob( :xml_import, xml_import_binary, dbms_lob.lobmaxsize, dst_offset, src_offset, nls_charset_id('al32utf8'), lang, warn Here's a small Java program that converts a given text file to a SQL*Plus script similar to the one above (written on standard output). The end result is that we have the file represented in the CLOB variable :xml_import: import java.io.fileinputstream; import java.io.filenotfoundexception; import java.io.ioexception; import java.io.inputstream; public class FileToClob { ** * The hexadecimal characters. * private static final char HEX_CHARS[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' ; public FileToClob(String filepathname) throws FileNotFoundException, IOException { InputStream is = new FileInputStream(filePathName print( "variable xml_import clob\n" + "set linesize 220\n" + "\n" + "declare\n" + " xml_import_binary blob;\n" + " src_offset integer := 1;\n" + " dst_offset integer := 1;\n" + " lang integer := 0;\n" + " warn integer;\n" + "\n" + " dbms_lob.createtemporary(xml_import_binary, true, dbms_lob.call\n" int n; byte[] bytes = new byte[80]; while ((n = is.read(bytes)) > 0) { print(" dbms_lob.append(xml_import_binary, hextoraw('" for (int i = 0; i < n; i++) { print("" + HEX_CHARS[(bytes[i] & 0xF0) >> 4] + HEX_CHARS[bytes[i] & 0x0F] print("')\n" is.close( print("\n" print( " dbms_lob.createtemporary(:xml_import, true, dbms_lob.call\n" + " dbms_lob.converttoclob(\n" + " :xml_import, xml_import_binary, dbms_lob.lobmaxsize,\n" + " dst_offset, src_offset, nls_charset_id('al32utf8'), lang, warn\n" + " \n" + "\n" + "" private static void print(string s) {

4 4 System.out.print(s public static void main(string[] args) throws FileNotFoundException, IOException { FileToClob filetoclob = new FileToClob(args[0] Calling Import PLSQL API Now we have read the XML file into our :xml_import CLOB variable, we can simply call the CT PLSQL API for importing this CLOB. This is divided into 4 parts: Parsing the XML, setting import options (2 parts) and importing: -- Load the export, preparing for import. qu_xmldom_import.init_xml(:xml_import -- Set options for the import. qu_xmldom_import.set_options( include_results_in => false, include_program_source_in => false, tdg_conflict_handling_in => qu_xmldom_import.tdg_skip, td_merge_in => false, harness_guid_for_merge_in => null, skip_new_test_cases_in => null -- Set program and test code owner. qu_xmldom_import.set_for_mapping( prog_owner_in => 'SCOTT', harn_owner_in => USER -- Perform the import. qu_xmldom_import.import_as_xml; The last API call performs an implicit commit. Exceptions can be raised by any of these calls, eg: ERROR at line 1: ORA-31011: XML parsing failed ORA-19202: Error occurred in XML processing LPX-00225: end-element tag "QCTO_EXPORT_HEADER" does not match start-element tag "QCTO_EXPORT_HEADERx" Error at line 19 ORA-06512: at "XDB.DBMS_XSLPROCESSOR", line 974 ORA-06512: at "XDB.DBMS_XSLPROCESSOR", line 1002 ORA-06512: at "QCTO200B5.QU_XMLDOM_IMPORT", line 554 ORA-06512: at "QCTO200B5.QU_XMLDOM_IMPORT", line 576 ORA-06512: at "QCTO200B5.QU_XMLDOM_IMPORT", line 914 ORA-06512: at "QCTO200B5.QU_XMLDOM_IMPORT", line 974* ORA-06512: at line 3 Deleting Test Definitions Let's say that you no longer need a TD that you created earlier. You then need to make sure that this change is deployed to your CI environments. There are two ways of accomplishing this: Calling CT with specific command line options: T=<test_definition_name> and Delete. You need to be aware that the exit code of the application is non-zero if the TD isn't found but that's to be expected as you get the same when trying to delete a file in the file system with an OS command. Using one of the PLSQL APIs provided: o Find the UNIVERSAL_ID in QU_HARNESS table for applicable NAMETEST_NAMEPROGRAM_OWNERPROGRAM_NAME and then call the following procedure in QU_HARNESS_XP:

5 5 procedure del( universal_id_in in qu_harness_tp.universal_id_t, rows_out out pls_integer, handle_error_in in boolean := true, del_test_pkg_in in boolean default false, part_of_import_in in boolean default false o Use another of the DEL or DEL_% subprograms in QU_HARNESS_XP with parameters appropriate for your requirements. However, I would argue that it's not necessary to delete the TD specifically, since -- in my view -- the XML file containing the TD (produced by exporting it from CT) must always reflect the current state of the TD in your revision control system, such that you: Avoid problems when somebody manually deploys it to a given environment. Don't have to program specific rules into your CI scripts for handling removal of TDs -- you can always deploy the latest version of any given TD XML (unless you start the CI deployment by removing all TDs in a "pre burner" step). You can remove all the TDs in a given repository through the following anonymous block: declare n pls_integer; for td in ( select universal_id, name, test_name from qu_harness where name!= 'IMPLICIT_' ) loop dbms_output.put_line('deleting TD "' td.test_name '"...' qu_harness_xp.del( universal_id_in => td.universal_id, rows_out => n, handle_error_in => true, del_test_pkg_in => true, part_of_import_in => false dbms_output.put_line('done. ' n ' row(s) deleted.' exception when others then dbms_output.put_line(sqlerrm end loop; commit; (omit using TEST_NAME if you're using CT or earlier as that's a new feature of CT 2.0.0). You can remove all the test cases for a given TD in various different ways, including: Edit the XML file and remove all TEST_CASES fragments. Use Test Editor to remove all test cases and export again. Use Test Builder to remove all test cases and export again. You then need to commitcheck in the new XML file to your revision control system. This way, you still have the TD in the CT repository but it doesn't have any test cases defined. Arguably, it would be better to get rid of the TD but you can't do this through the XML file. Perhaps Quest should

6 consider a mean of doing so through the XML format, eg by looking for an optional element QCTO_EXPORTTEST_DEFINITIONSQU_HARNESSDELETE with a value of "Y". 6

Creating a Simple, Multithreaded Chat System with Java

Creating a Simple, Multithreaded Chat System with Java Creating a Simple, Multithreaded Chat System with Java Introduction by George Crawford III In this edition of Objective Viewpoint, you will learn how to develop a simple chat system. The program will demonstrate

More information

Sample CSE8A midterm Multiple Choice (circle one)

Sample CSE8A midterm Multiple Choice (circle one) Sample midterm Multiple Choice (circle one) (2 pts) Evaluate the following Boolean expressions and indicate whether short-circuiting happened during evaluation: Assume variables with the following names

More information

Database Programming with PL/SQL: Learning Objectives

Database Programming with PL/SQL: Learning Objectives Database Programming with PL/SQL: Learning Objectives This course covers PL/SQL, a procedural language extension to SQL. Through an innovative project-based approach, students learn procedural logic constructs

More information

Creating Custom Web Pages for cagrid Services

Creating Custom Web Pages for cagrid Services Creating Custom Web Pages for cagrid Services Creating Custom Web Pages for cagrid Services Contents Overview Changing the Default Behavior Subclassing the AXIS Servlet Installing and Configuring the Custom

More information

Translating to Java. Translation. Input. Many Level Translations. read, get, input, ask, request. Requirements Design Algorithm Java Machine Language

Translating to Java. Translation. Input. Many Level Translations. read, get, input, ask, request. Requirements Design Algorithm Java Machine Language Translation Translating to Java Introduction to Computer Programming The job of a programmer is to translate a problem description into a computer language. You need to be able to convert a problem description

More information

Java Interview Questions and Answers

Java Interview Questions and Answers 1. What is the most important feature of Java? Java is a platform independent language. 2. What do you mean by platform independence? Platform independence means that we can write and compile the java

More information

Creating PL/SQL Blocks. Copyright 2007, Oracle. All rights reserved.

Creating PL/SQL Blocks. Copyright 2007, Oracle. All rights reserved. What Will I Learn? In this lesson, you will learn to: Describe the structure of a PL/SQL block Identify the different types of PL/SQL blocks Identify PL/SQL programming environments Create and execute

More information

D06 PROGRAMMING with JAVA

D06 PROGRAMMING with JAVA Cicles Formatius de Grau Superior Desenvolupament d Aplicacions Informàtiques D06 PROGRAMMING with JAVA Ch16 Files and Streams PowerPoint presentation, created by Angel A. Juan - ajuanp(@)gmail.com, for

More information

AP Computer Science Java Subset

AP Computer Science Java Subset APPENDIX A AP Computer Science Java Subset The AP Java subset is intended to outline the features of Java that may appear on the AP Computer Science A Exam. The AP Java subset is NOT intended as an overall

More information

3.GETTING STARTED WITH ORACLE8i

3.GETTING STARTED WITH ORACLE8i Oracle For Beginners Page : 1 3.GETTING STARTED WITH ORACLE8i Creating a table Datatypes Displaying table definition using DESCRIBE Inserting rows into a table Selecting rows from a table Editing SQL buffer

More information

File class in Java. Scanner reminder. Files 10/19/2012. File Input and Output (Savitch, Chapter 10)

File class in Java. Scanner reminder. Files 10/19/2012. File Input and Output (Savitch, Chapter 10) File class in Java File Input and Output (Savitch, Chapter 10) TOPICS File Input Exception Handling File Output Programmers refer to input/output as "I/O". The File class represents files as objects. The

More information

Lecture 5: Java Fundamentals III

Lecture 5: Java Fundamentals III Lecture 5: Java Fundamentals III School of Science and Technology The University of New England Trimester 2 2015 Lecture 5: Java Fundamentals III - Operators Reading: Finish reading Chapter 2 of the 2nd

More information

Oracle Database 10g: Program with PL/SQL

Oracle Database 10g: Program with PL/SQL Oracle University Contact Us: Local: 1800 425 8877 Intl: +91 80 4108 4700 Oracle Database 10g: Program with PL/SQL Duration: 5 Days What you will learn This course introduces students to PL/SQL and helps

More information

MULTIPLE CHOICE. Choose the one alternative that best completes the statement or answers the question.

MULTIPLE CHOICE. Choose the one alternative that best completes the statement or answers the question. Exam Name MULTIPLE CHOICE. Choose the one alternative that best completes the statement or answers the question. 1) The JDK command to compile a class in the file Test.java is A) java Test.java B) java

More information

Smooks Dev Tools Reference Guide. Version: 1.1.0.GA

Smooks Dev Tools Reference Guide. Version: 1.1.0.GA Smooks Dev Tools Reference Guide Version: 1.1.0.GA Smooks Dev Tools Reference Guide 1. Introduction... 1 1.1. Key Features of Smooks Tools... 1 1.2. What is Smooks?... 1 1.3. What is Smooks Tools?... 2

More information

Building a Multi-Threaded Web Server

Building a Multi-Threaded Web Server Building a Multi-Threaded Web Server In this lab we will develop a Web server in two steps. In the end, you will have built a multi-threaded Web server that is capable of processing multiple simultaneous

More information

Chulalongkorn University International School of Engineering Department of Computer Engineering 2140105 Computer Programming Lab.

Chulalongkorn University International School of Engineering Department of Computer Engineering 2140105 Computer Programming Lab. Chulalongkorn University Name International School of Engineering Student ID Department of Computer Engineering Station No. 2140105 Computer Programming Lab. Date Lab 2 Using Java API documents, command

More information

PL/JSON Reference Guide (version 1.0.4)

PL/JSON Reference Guide (version 1.0.4) PL/JSON Reference Guide (version 1.0.4) For Oracle 10g and 11g Jonas Krogsbøll Contents 1 PURPOSE 2 2 DESCRIPTION 2 3 IN THE RELEASE 3 4 GETTING STARTED 3 5 TWEAKS 4 6 JSON PATH 6 7 BEHAVIOR & ERROR HANDLING

More information

J a v a Quiz (Unit 3, Test 0 Practice)

J a v a Quiz (Unit 3, Test 0 Practice) Computer Science S-111a: Intensive Introduction to Computer Science Using Java Handout #11 Your Name Teaching Fellow J a v a Quiz (Unit 3, Test 0 Practice) Multiple-choice questions are worth 2 points

More information

First Java Programs. V. Paúl Pauca. CSC 111D Fall, 2015. Department of Computer Science Wake Forest University. Introduction to Computer Science

First Java Programs. V. Paúl Pauca. CSC 111D Fall, 2015. Department of Computer Science Wake Forest University. Introduction to Computer Science First Java Programs V. Paúl Pauca Department of Computer Science Wake Forest University CSC 111D Fall, 2015 Hello World revisited / 8/23/15 The f i r s t o b l i g a t o r y Java program @author Paul Pauca

More information

B.Sc (Honours) - Software Development

B.Sc (Honours) - Software Development Galway-Mayo Institute of Technology B.Sc (Honours) - Software Development E-Commerce Development Technologies II Lab Session Using the Java URLConnection Class The purpose of this lab session is to: (i)

More information

An Overview of Java. overview-1

An Overview of Java. overview-1 An Overview of Java overview-1 Contents What is Java Major Java features Java virtual machine Java programming language Java class libraries (API) GUI Support in Java Networking and Threads in Java overview-2

More information

Chapter 2 Introduction to Java programming

Chapter 2 Introduction to Java programming Chapter 2 Introduction to Java programming 1 Keywords boolean if interface class true char else package volatile false byte final switch while throws float private case return native void protected break

More information

CS170 Lab 11 Abstract Data Types & Objects

CS170 Lab 11 Abstract Data Types & Objects CS170 Lab 11 Abstract Data Types & Objects Introduction: Abstract Data Type (ADT) An abstract data type is commonly known as a class of objects An abstract data type in a program is used to represent (the

More information

WRITING DATA TO A BINARY FILE

WRITING DATA TO A BINARY FILE WRITING DATA TO A BINARY FILE TEXT FILES VS. BINARY FILES Up to now, we have looked at how to write and read characters to and from a text file. Text files are files that contain sequences of characters.

More information

SQL Server An Overview

SQL Server An Overview SQL Server An Overview SQL Server Microsoft SQL Server is designed to work effectively in a number of environments: As a two-tier or multi-tier client/server database system As a desktop database system

More information

Oracle Internal & Oracle Academy

Oracle Internal & Oracle Academy Declaring PL/SQL Variables Objectives After completing this lesson, you should be able to do the following: Identify valid and invalid identifiers List the uses of variables Declare and initialize variables

More information

java.util.scanner Here are some of the many features of Scanner objects. Some Features of java.util.scanner

java.util.scanner Here are some of the many features of Scanner objects. Some Features of java.util.scanner java.util.scanner java.util.scanner is a class in the Java API used to create a Scanner object, an extremely versatile object that you can use to input alphanumeric characters from several input sources

More information

Oracle Database: SQL and PL/SQL Fundamentals

Oracle Database: SQL and PL/SQL Fundamentals Oracle University Contact Us: 1.800.529.0165 Oracle Database: SQL and PL/SQL Fundamentals Duration: 5 Days What you will learn This course is designed to deliver the fundamentals of SQL and PL/SQL along

More information

Handout 1. Introduction to Java programming language. Java primitive types and operations. Reading keyboard Input using class Scanner.

Handout 1. Introduction to Java programming language. Java primitive types and operations. Reading keyboard Input using class Scanner. Handout 1 CS603 Object-Oriented Programming Fall 15 Page 1 of 11 Handout 1 Introduction to Java programming language. Java primitive types and operations. Reading keyboard Input using class Scanner. Java

More information

Modern PL/SQL Code Checking and Dependency Analysis

Modern PL/SQL Code Checking and Dependency Analysis Modern PL/SQL Code Checking and Dependency Analysis Philipp Salvisberg Senior Principal Consultant BASEL BERN BRUGG LAUSANNE ZÜRICH DÜSSELDORF FRANKFURT A.M. FREIBURG I.BR. HAMBURG MUNICH STUTTGART VIENNA

More information

13 File Output and Input

13 File Output and Input SCIENTIFIC PROGRAMMING -1 13 File Output and Input 13.1 Introduction To make programs really useful we have to be able to input and output data in large machinereadable amounts, in particular we have to

More information

Supplement IV.C: Tutorial for Oracle. For Introduction to Java Programming By Y. Daniel Liang

Supplement IV.C: Tutorial for Oracle. For Introduction to Java Programming By Y. Daniel Liang Supplement IV.C: Tutorial for Oracle For Introduction to Java Programming By Y. Daniel Liang This supplement covers the following topics: Connecting and Using Oracle Creating User Accounts Accessing Oracle

More information

Builder User Guide. Version 6.0.1. Visual Rules Suite - Builder. Bosch Software Innovations

Builder User Guide. Version 6.0.1. Visual Rules Suite - Builder. Bosch Software Innovations Visual Rules Suite - Builder Builder User Guide Version 6.0.1 Bosch Software Innovations Americas: Bosch Software Innovations Corp. 161 N. Clark Street Suite 3500 Chicago, Illinois 60601/USA Tel. +1 312

More information

Capabilities of a Java Test Execution Framework by Erick Griffin

Capabilities of a Java Test Execution Framework by Erick Griffin Capabilities of a Java Test Execution Framework by Erick Griffin Here we discuss key properties and capabilities of a Java Test Execution Framework for writing and executing discrete Java tests for testing

More information

AP Computer Science File Input with Scanner

AP Computer Science File Input with Scanner AP Computer Science File Input with Scanner Subset of the Supplement Lesson slides from: Building Java Programs, Chapter 6 by Stuart Reges and Marty Stepp (http://www.buildingjavaprograms.com/ ) Input/output

More information

Handling Exceptions. Copyright 2006, Oracle. All rights reserved. Oracle Database 10g: PL/SQL Fundamentals 8-1

Handling Exceptions. Copyright 2006, Oracle. All rights reserved. Oracle Database 10g: PL/SQL Fundamentals 8-1 Handling Exceptions Copyright 2006, Oracle. All rights reserved. Oracle Database 10g: PL/SQL Fundamentals 8-1 Objectives After completing this lesson, you should be able to do the following: Define PL/SQL

More information

Using DOTS as Apache Derby System Test

Using DOTS as Apache Derby System Test Using DOTS as Apache Derby System Test Date: 02/16/2005 Author: Ramandeep Kaur ramank@yngvi.org Table of Contents 1 Introduction... 3 2 DOTS Overview... 3 3 Running DOTS... 4 4 Issues/Tips/Hints... 6 5

More information

Introduction to Java

Introduction to Java Introduction to Java The HelloWorld program Primitive data types Assignment and arithmetic operations User input Conditional statements Looping Arrays CSA0011 Matthew Xuereb 2008 1 Java Overview A high

More information

AWS Encryption SDK. Developer Guide

AWS Encryption SDK. Developer Guide AWS Encryption SDK Developer Guide AWS Encryption SDK: Developer Guide Copyright 2016 Amazon Web Services, Inc. and/or its affiliates. All rights reserved. Amazon's trademarks and trade dress may not be

More information

Builder User Guide. Version 5.4. Visual Rules Suite - Builder. Bosch Software Innovations

Builder User Guide. Version 5.4. Visual Rules Suite - Builder. Bosch Software Innovations Visual Rules Suite - Builder Builder User Guide Version 5.4 Bosch Software Innovations Americas: Bosch Software Innovations Corp. 161 N. Clark Street Suite 3500 Chicago, Illinois 60601/USA Tel. +1 312

More information

bbc Developing Service Providers Adobe Flash Media Rights Management Server November 2008 Version 1.5

bbc Developing Service Providers Adobe Flash Media Rights Management Server November 2008 Version 1.5 bbc Developing Service Providers Adobe Flash Media Rights Management Server November 2008 Version 1.5 2008 Adobe Systems Incorporated. All rights reserved. Adobe Flash Media Rights Management Server 1.5

More information

Object Oriented Software Design

Object Oriented Software Design Object Oriented Software Design Introduction to Java - II Giuseppe Lipari http://retis.sssup.it/~lipari Scuola Superiore Sant Anna Pisa September 14, 2011 G. Lipari (Scuola Superiore Sant Anna) Introduction

More information

Pemrograman Dasar. Basic Elements Of Java

Pemrograman Dasar. Basic Elements Of Java Pemrograman Dasar Basic Elements Of Java Compiling and Running a Java Application 2 Portable Java Application 3 Java Platform Platform: hardware or software environment in which a program runs. Oracle

More information

public static void main(string[] args) { System.out.println("hello, world"); } }

public static void main(string[] args) { System.out.println(hello, world); } } Java in 21 minutes hello world basic data types classes & objects program structure constructors garbage collection I/O exceptions Strings Hello world import java.io.*; public class hello { public static

More information

Masters programmes in Computer Science and Information Systems. Object-Oriented Design and Programming. Sample module entry test xxth December 2013

Masters programmes in Computer Science and Information Systems. Object-Oriented Design and Programming. Sample module entry test xxth December 2013 Masters programmes in Computer Science and Information Systems Object-Oriented Design and Programming Sample module entry test xxth December 2013 This sample paper has more questions than the real paper

More information

Oracle Database: SQL and PL/SQL Fundamentals NEW

Oracle Database: SQL and PL/SQL Fundamentals NEW Oracle University Contact Us: + 38516306373 Oracle Database: SQL and PL/SQL Fundamentals NEW Duration: 5 Days What you will learn This Oracle Database: SQL and PL/SQL Fundamentals training delivers the

More information

Setting Up the Site Licenses

Setting Up the Site Licenses XC LICENSE SERVER Setting Up the Site Licenses INTRODUCTION To complete the installation of an XC Site License, create an options file that includes the Host Name (computer s name) of each client machine.

More information

SQL Databases Course. by Applied Technology Research Center. This course provides training for MySQL, Oracle, SQL Server and PostgreSQL databases.

SQL Databases Course. by Applied Technology Research Center. This course provides training for MySQL, Oracle, SQL Server and PostgreSQL databases. SQL Databases Course by Applied Technology Research Center. 23 September 2015 This course provides training for MySQL, Oracle, SQL Server and PostgreSQL databases. Oracle Topics This Oracle Database: SQL

More information

Using SQL Developer. Copyright 2008, Oracle. All rights reserved.

Using SQL Developer. Copyright 2008, Oracle. All rights reserved. Using SQL Developer Objectives After completing this appendix, you should be able to do the following: List the key features of Oracle SQL Developer Install Oracle SQL Developer Identify menu items of

More information

CSS 543 Program 3: Online Tic-Tac-Toe Game Professor: Munehiro Fukuda Due date: see the syllabus

CSS 543 Program 3: Online Tic-Tac-Toe Game Professor: Munehiro Fukuda Due date: see the syllabus CSS 543 Program 3: Online Tic-Tac-Toe Game Professor: Munehiro Fukuda Due date: see the syllabus 1. Purpose This assignment exercises how to write a peer-to-peer communicating program using non-blocking

More information

Oracle Database 11g: Advanced PL/SQL

Oracle Database 11g: Advanced PL/SQL Oracle Database 11g: Advanced PL/SQL Volume I Student Guide D52601GC10 Edition 1.0 March 2008 D54299 Authors Nancy Greenberg Rick Green Marcie Young Technical Contributors and Reviewers Claire Bennett

More information

qwertyuiopasdfghjklzxcvbnmqwerty uiopasdfghjklzxcvbnmqwertyuiopasd fghjklzxcvbnmqwertyuiopasdfghjklzx cvbnmqwertyuiopasdfghjklzxcvbnmq

qwertyuiopasdfghjklzxcvbnmqwerty uiopasdfghjklzxcvbnmqwertyuiopasd fghjklzxcvbnmqwertyuiopasdfghjklzx cvbnmqwertyuiopasdfghjklzxcvbnmq qwertyuiopasdfghjklzxcvbnmqwerty uiopasdfghjklzxcvbnmqwertyuiopasd fghjklzxcvbnmqwertyuiopasdfghjklzx cvbnmqwertyuiopasdfghjklzxcvbnmq Introduction to Programming using Java wertyuiopasdfghjklzxcvbnmqwertyui

More information

Using Two-Dimensional Arrays

Using Two-Dimensional Arrays Using Two-Dimensional Arrays Great news! What used to be the old one-floor Java Motel has just been renovated! The new, five-floor Java Hotel features a free continental breakfast and, at absolutely no

More information

Basic Java Constructs and Data Types Nuts and Bolts. Looking into Specific Differences and Enhancements in Java compared to C

Basic Java Constructs and Data Types Nuts and Bolts. Looking into Specific Differences and Enhancements in Java compared to C Basic Java Constructs and Data Types Nuts and Bolts Looking into Specific Differences and Enhancements in Java compared to C 1 Contents Hello World Program Statements Explained Java Program Structure in

More information

Classes and Objects in Java Constructors. In creating objects of the type Fraction, we have used statements similar to the following:

Classes and Objects in Java Constructors. In creating objects of the type Fraction, we have used statements similar to the following: In creating objects of the type, we have used statements similar to the following: f = new (); The parentheses in the expression () makes it look like a method, yet we never created such a method in our

More information

Introduction to Java Applications. 2005 Pearson Education, Inc. All rights reserved.

Introduction to Java Applications. 2005 Pearson Education, Inc. All rights reserved. 1 2 Introduction to Java Applications 2.2 First Program in Java: Printing a Line of Text 2 Application Executes when you use the java command to launch the Java Virtual Machine (JVM) Sample program Displays

More information

This example illustrates how to copy contents from one file to another file. This topic is related to the I/O (input/output) of

This example illustrates how to copy contents from one file to another file. This topic is related to the I/O (input/output) of Java Frameworks Databases Technology Development Build/Test tools OS Servers PHP Books More What's New? Core Java JSP Servlets XML EJB JEE5 Web Services J2ME Glossary Questions? Software Development Search

More information

TIBCO ActiveMatrix BusinessWorks Plug-in for TIBCO Managed File Transfer Software Installation

TIBCO ActiveMatrix BusinessWorks Plug-in for TIBCO Managed File Transfer Software Installation TIBCO ActiveMatrix BusinessWorks Plug-in for TIBCO Managed File Transfer Software Installation Software Release 6.0 November 2015 Two-Second Advantage 2 Important Information SOME TIBCO SOFTWARE EMBEDS

More information

Consolidate by Migrating Your Databases to Oracle Database 11g. Fred Louis Enterprise Architect

Consolidate by Migrating Your Databases to Oracle Database 11g. Fred Louis Enterprise Architect Consolidate by Migrating Your Databases to Oracle Database 11g Fred Louis Enterprise Architect Agenda Why migrate to Oracle What is migration? What can you migrate to Oracle? SQL Developer Migration Workbench

More information

UIL Computer Science for Dummies by Jake Warren and works from Mr. Fleming

UIL Computer Science for Dummies by Jake Warren and works from Mr. Fleming UIL Computer Science for Dummies by Jake Warren and works from Mr. Fleming 1 2 Foreword First of all, this book isn t really for dummies. I wrote it for myself and other kids who are on the team. Everything

More information

PL/SQL MOCK TEST PL/SQL MOCK TEST I

PL/SQL MOCK TEST PL/SQL MOCK TEST I http://www.tutorialspoint.com PL/SQL MOCK TEST Copyright tutorialspoint.com This section presents you various set of Mock Tests related to PL/SQL. You can download these sample mock tests at your local

More information

CSE 1223: Introduction to Computer Programming in Java Chapter 7 File I/O

CSE 1223: Introduction to Computer Programming in Java Chapter 7 File I/O CSE 1223: Introduction to Computer Programming in Java Chapter 7 File I/O 1 Sending Output to a (Text) File import java.util.scanner; import java.io.*; public class TextFileOutputDemo1 public static void

More information

Product: DQ Order Manager Release Notes

Product: DQ Order Manager Release Notes Product: DQ Order Manager Release Notes Subject: DQ Order Manager v7.1.25 Version: 1.0 March 27, 2015 Distribution: ODT Customers DQ OrderManager v7.1.25 Added option to Move Orders job step Update order

More information

PL/SQL Overview. Basic Structure and Syntax of PL/SQL

PL/SQL Overview. Basic Structure and Syntax of PL/SQL PL/SQL Overview PL/SQL is Procedural Language extension to SQL. It is loosely based on Ada (a variant of Pascal developed for the US Dept of Defense). PL/SQL was first released in ١٩٩٢ as an optional extension

More information

Example of a Java program

Example of a Java program Example of a Java program class SomeNumbers static int square (int x) return x*x; public static void main (String[] args) int n=20; if (args.length > 0) // change default n = Integer.parseInt(args[0]);

More information

Part I. Multiple Choice Questions (2 points each):

Part I. Multiple Choice Questions (2 points each): Part I. Multiple Choice Questions (2 points each): 1. Which of the following is NOT a key component of object oriented programming? (a) Inheritance (b) Encapsulation (c) Polymorphism (d) Parallelism ******

More information

Cabot Consulting Oracle Solutions. The Benefits of this Approach. Infrastructure Requirements

Cabot Consulting Oracle Solutions. The Benefits of this Approach. Infrastructure Requirements Scheduling Workbooks through the Application Concurrent Manager By Rod West, Cabot Oracle Application users will be very familiar with the Applications concurrent manager and how to use it to schedule

More information

Channel Access Client Programming. Andrew Johnson Computer Scientist, AES-SSG

Channel Access Client Programming. Andrew Johnson Computer Scientist, AES-SSG Channel Access Client Programming Andrew Johnson Computer Scientist, AES-SSG Channel Access The main programming interface for writing Channel Access clients is the library that comes with EPICS base Written

More information

Onset Computer Corporation

Onset Computer Corporation Onset, HOBO, and HOBOlink are trademarks or registered trademarks of Onset Computer Corporation for its data logger products and configuration/interface software. All other trademarks are the property

More information

Learning Outcomes. Networking. Sockets. TCP/IP Networks. Hostnames and DNS TCP/IP

Learning Outcomes. Networking. Sockets. TCP/IP Networks. Hostnames and DNS TCP/IP CP4044 Lecture 7 1 Networking Learning Outcomes To understand basic network terminology To be able to communicate using Telnet To be aware of some common network services To be able to implement client

More information

CS 1302 Ch 19, Binary I/O

CS 1302 Ch 19, Binary I/O CS 1302 Ch 19, Binary I/O Sections Pages Review Questions Programming Exercises 19.1-19.4.1, 19.6-19.6 710-715, 724-729 Liang s Site any Sections 19.1 Introduction 1. An important part of programming is

More information

Homework/Program #5 Solutions

Homework/Program #5 Solutions Homework/Program #5 Solutions Problem #1 (20 points) Using the standard Java Scanner class. Look at http://natch3z.blogspot.com/2008/11/read-text-file-using-javautilscanner.html as an exampleof using the

More information

Explain the relationship between a class and an object. Which is general and which is specific?

Explain the relationship between a class and an object. Which is general and which is specific? A.1.1 What is the Java Virtual Machine? Is it hardware or software? How does its role differ from that of the Java compiler? The Java Virtual Machine (JVM) is software that simulates the execution of a

More information

Services. Relational. Databases & JDBC. Today. Relational. Databases SQL JDBC. Next Time. Services. Relational. Databases & JDBC. Today.

Services. Relational. Databases & JDBC. Today. Relational. Databases SQL JDBC. Next Time. Services. Relational. Databases & JDBC. Today. & & 1 & 2 Lecture #7 2008 3 Terminology Structure & & Database server software referred to as Database Management Systems (DBMS) Database schemas describe database structure Data ordered in tables, rows

More information

Review your answers, feedback, and question scores below. An asterisk (*) indicates a correct answer.

Review your answers, feedback, and question scores below. An asterisk (*) indicates a correct answer. Test: Final Exam Semester 1 Review your answers, feedback, and question scores below. An asterisk (*) indicates a correct answer. Section 6 1. The following code does not violate any constraints and will

More information

Revision Action/Change Date. A Sentinel Cloud 3.0 Release December 2012 B Sentinel Cloud 3.1 Release April 2013 C

Revision Action/Change Date. A Sentinel Cloud 3.0 Release December 2012 B Sentinel Cloud 3.1 Release April 2013 C ii Sentinel Cloud Web Services Guide Software Version This documentation is applicable for the Sentinel Cloud EMS Version 3.4. Revision History Part Number 007-012141-001, Revision E Revision Action/Change

More information

Programming Database lectures for mathema

Programming Database lectures for mathema Programming Database lectures for mathematics students April 25, 2015 Functions Functions are defined in Postgres with CREATE FUNCTION name(parameter type,...) RETURNS result-type AS $$ function-body $$

More information

Intel Retail Client Manager Audience Analytics

Intel Retail Client Manager Audience Analytics Intel Retail Client Manager Audience Analytics By using this document, in addition to any agreements you have with Intel, you accept the terms set forth below. You may not use or facilitate the use of

More information

PL/SQL Developer 7.1 User s Guide. March 2007

PL/SQL Developer 7.1 User s Guide. March 2007 PL/SQL Developer 7.1 User s Guide March 2007 PL/SQL Developer 7.1 User s Guide 3 Contents CONTENTS... 3 1. INTRODUCTION... 9 2. INSTALLATION... 13 2.1 SYSTEM REQUIREMENTS... 13 2.2 WORKSTATION INSTALLATION...

More information

File I/O - Chapter 10. Many Stream Classes. Text Files vs Binary Files

File I/O - Chapter 10. Many Stream Classes. Text Files vs Binary Files File I/O - Chapter 10 A Java stream is a sequence of bytes. An InputStream can read from a file the console (System.in) a network socket an array of bytes in memory a StringBuffer a pipe, which is an OutputStream

More information

5 HDFS - Hadoop Distributed System

5 HDFS - Hadoop Distributed System 5 HDFS - Hadoop Distributed System 5.1 Definition and Remarks HDFS is a file system designed for storing very large files with streaming data access patterns running on clusters of commoditive hardware.

More information

Programming Languages CIS 443

Programming Languages CIS 443 Course Objectives Programming Languages CIS 443 0.1 Lexical analysis Syntax Semantics Functional programming Variable lifetime and scoping Parameter passing Object-oriented programming Continuations Exception

More information

Zebra and MapReduce. Table of contents. 1 Overview...2 2 Hadoop MapReduce APIs...2 3 Zebra MapReduce APIs...2 4 Zebra MapReduce Examples...

Zebra and MapReduce. Table of contents. 1 Overview...2 2 Hadoop MapReduce APIs...2 3 Zebra MapReduce APIs...2 4 Zebra MapReduce Examples... Table of contents 1 Overview...2 2 Hadoop MapReduce APIs...2 3 Zebra MapReduce APIs...2 4 Zebra MapReduce Examples... 2 1. Overview MapReduce allows you to take full advantage of Zebra's capabilities.

More information

An Oracle White Paper June 2013. Migrating Applications and Databases with Oracle Database 12c

An Oracle White Paper June 2013. Migrating Applications and Databases with Oracle Database 12c An Oracle White Paper June 2013 Migrating Applications and Databases with Oracle Database 12c Disclaimer The following is intended to outline our general product direction. It is intended for information

More information

Data Access Guide. BusinessObjects 11. Windows and UNIX

Data Access Guide. BusinessObjects 11. Windows and UNIX Data Access Guide BusinessObjects 11 Windows and UNIX 1 Copyright Trademarks Use restrictions Patents Copyright 2004 Business Objects. All rights reserved. If you find any problems with this documentation,

More information

J j enterpririse. Oracle Application Express 3. Develop Native Oracle database-centric web applications quickly and easily with Oracle APEX

J j enterpririse. Oracle Application Express 3. Develop Native Oracle database-centric web applications quickly and easily with Oracle APEX Oracle Application Express 3 The Essentials and More Develop Native Oracle database-centric web applications quickly and easily with Oracle APEX Arie Geller Matthew Lyon J j enterpririse PUBLISHING BIRMINGHAM

More information

Pre-authentication XXE vulnerability in the Services Drupal module

Pre-authentication XXE vulnerability in the Services Drupal module Pre-authentication XXE vulnerability in the Services Drupal module Security advisory 24/04/2015 Renaud Dubourguais www.synacktiv.com 14 rue Mademoiselle 75015 Paris 1. Vulnerability description 1.1. The

More information

OPENRULES. Database Integration. Open Source Business Decision Management System. Release 6.2.1

OPENRULES. Database Integration. Open Source Business Decision Management System. Release 6.2.1 OPENRULES Open Source Business Decision Management System Release 6.2.1 Database Integration OpenRules, Inc. www.openrules.com June-2012 TABLE OF CONTENTS Introduction... 3 Accessing Data Located in Database...

More information

Informatica Corporation Proactive Monitoring for PowerCenter Operations Version 3.0 Release Notes May 2014

Informatica Corporation Proactive Monitoring for PowerCenter Operations Version 3.0 Release Notes May 2014 Contents Informatica Corporation Proactive Monitoring for PowerCenter Operations Version 3.0 Release Notes May 2014 Copyright (c) 2012-2014 Informatica Corporation. All rights reserved. Installation...

More information

A Brief Introduction to MySQL

A Brief Introduction to MySQL A Brief Introduction to MySQL by Derek Schuurman Introduction to Databases A database is a structured collection of logically related data. One common type of database is the relational database, a term

More information

JBoss Forums Guide. 1. Introduction

JBoss Forums Guide. 1. Introduction JBoss s Guide @author Ryszard Kozmik 1. Introduction JBoss s is a subproject of JBoss Portal product. It is simply a forums portlet with all needed functionality for deploying

More information

Oracle SQL Developer for Database Developers. An Oracle White Paper September 2008

Oracle SQL Developer for Database Developers. An Oracle White Paper September 2008 Oracle SQL Developer for Database Developers An Oracle White Paper September 2008 Oracle SQL Developer for Database Developers Introduction...3 Audience...3 Key Benefits...3 Architecture...4 Key Features...4

More information

Illustration 1: Diagram of program function and data flow

Illustration 1: Diagram of program function and data flow The contract called for creation of a random access database of plumbing shops within the near perimeter of FIU Engineering school. The database features a rating number from 1-10 to offer a guideline

More information

Oracle Data Miner (Extension of SQL Developer 4.0)

Oracle Data Miner (Extension of SQL Developer 4.0) An Oracle White Paper October 2013 Oracle Data Miner (Extension of SQL Developer 4.0) Generate a PL/SQL script for workflow deployment Denny Wong Oracle Data Mining Technologies 10 Van de Graff Drive Burlington,

More information

Novell Identity Manager

Novell Identity Manager Password Management Guide AUTHORIZED DOCUMENTATION Novell Identity Manager 3.6.1 June 05, 2009 www.novell.com Identity Manager 3.6.1 Password Management Guide Legal Notices Novell, Inc. makes no representations

More information

Java CPD (I) Frans Coenen Department of Computer Science

Java CPD (I) Frans Coenen Department of Computer Science Java CPD (I) Frans Coenen Department of Computer Science Content Session 1, 12:45-14:30 (First Java Programme, Inheritance, Arithmetic) Session 2, 14:45-16:45 (Input and Programme Constructs) Materials

More information

PROCESSES LOADER 9.0 SETTING. Requirements and Assumptions: I. Requirements for the batch process:

PROCESSES LOADER 9.0 SETTING. Requirements and Assumptions: I. Requirements for the batch process: SETTING UP DATA LOADER 9.0 FOR AUTO PROCESSES Requirements and Assumptions: 9.0 The purpose of this document is to document findings on the setup of Data Loader 9.0 for automated processes. I will be updating

More information

JAVA - FILES AND I/O

JAVA - FILES AND I/O http://www.tutorialspoint.com/java/java_files_io.htm JAVA - FILES AND I/O Copyright tutorialspoint.com The java.io package contains nearly every class you might ever need to perform input and output I/O

More information

Managed File Transfer with Universal File Mover

Managed File Transfer with Universal File Mover Managed File Transfer with Universal File Mover Roger Lacroix roger.lacroix@capitalware.com http://www.capitalware.com Universal File Mover Overview Universal File Mover (UFM) allows the user to combine

More information