Software Development Toolkit for Desire2Learn Web Services

Size: px
Start display at page:

Download "Software Development Toolkit for Desire2Learn Web Services"

Transcription

1 Software Development Toolkit for Desire2Learn Web Services Preview of the Developer Guide by Zdenek Nejedly June 1, 2010 Disclaimer: You are using this document or any provided code samples at your own risk. This is an experimental product for education purposes only. There are no warranties whatsoever. It is not endorsed by Desire2Learn or the University of Guelph. Desire2Learn is a trademark of Desire2Learn Incorporated, Kitchener, ON. Abbreviation D2L used throughout this Guide refers to Desire2Learn. Zdenek Nejedly 2010 All rights reserved

2 Frequently Asked Questions Why Software Development Toolkit? Application design with Web Services often requires significant overhead you need to set the request/response variables, manage WS-Security, and handle errors. Additionally, you may wish to add object caching to enhance performance or quality assurance layer to account for communication errors. This Toolkit strives to simplify the application development, avoid code duplication, and allow the developer to focus on the business domain instead. What does the Toolkit provide? The Toolkit provides the following benefits: a) Management of the generic java Web Services overhead b) D2L Web Services authentication and secure token management (expiration, re-issue) c) Streamlining of the D2L Web Service calls into simple function calls d) Automatic management of the database (for example for object mapping) e) Providing an interface which almost hides the D2L specific implementation and decreases the coupling of the business logic Any examples of the Toolkit use? The following code connects to the D2L web service at address serviceurl and retrieves the user object associated with the central account bsmith12 in just three lines of code: TokenManager.initialize(serviceUrl, login, passwd, 30000L, 200L); // initialize authentication ToolBox toolbox = new ToolBox(serviceUrl); // initialize the toolkit UserInfo user = toolbox.getusertools().getuserbyusername( bsmith12 ); // retrieve the user The same code block with the database cache enabled differs only in the name of the toolbox module: TokenManager.initialize(serviceUrl, login, passwd, 30000L, 200L); // initialize authentication ToolBox toolbox = new ToolBoxCached(serviceUrl); // initialize the toolkit UserInfo user = toolbox.getusertools().getuserbyusername( bsmith12 ); // retrieve the user What is the Database Cache?

3 The Desire2Learn WebServices API sometimes operates with references (pointers) to values instead of the values themselves. For example, let s say Jane Smith has an account with the University under username jane_smith. If we search for an account in D2L based on the user s real name then the D2L Web Services will return an internal D2L userid, let s say, If you wish to receive Jane s actual username (jane_smith) you will need to issue another Web Service call with the internal userid (123456) and then you will receive her username. The Toolkit combines both Web Service calls in just one high level function call and it even takes care of the Web Service authentication (generating and managing the WS-Security token). Additionally, if you use the cached version of the Toolkit object then the mapping between the internal D2L userids and the account usernames will be cached and the real number of Web Service calls issued in the background will be reduced. The database cache stores the object mapping in a relational database. The schema part applicable for example to user mapping is illustrated in Figure 1. Connectivity between the application and the database is accomplished via the object-relational mapping framework Hibernate version 3 [3]. Currently we have it implemented in MySQL server but there is no specific dependency on MySQL. Moving to a different relational database is a matter of changing the Hibernate configuration as long the particular database type is supported by Hibernate [3]. grades PK,I1 UserId PK,I2 CourseId PK,I3 GradeId Value PK,I1 I1,U1 users UserId UserName Figure 1: ER Diagram of the database cache schema Are all WebService calls from the D2L API included in this Toolkit? Currently, the Toolkit provides function equivalents to setting and reading of the grade values, user and course lookups and closely related functions. It contains the essential layer for authentication and handling of the WS request/response logic so it is very easy to expand and include other D2L WS functionality as needed.

4 2. Developer s Guide 2.1 Overview The toolkit consists of two main categories of components (Figure 2): a) Authentication components TokenManager SecurityToken b) Specific services, e.g., for managing grades, users, or courses +createtoken() : SecurityToken 1 1 +tostring() : String DescriptorTools AbstractServiceTools UserTools UserToolsCached For more details please see the javadoc pages and the java class files within the project deliverables. OrgUnitTools GradesTools GradesToolsCached ToolBox ToolBoxCached Figure 2: Simplified Toolkit class diagram +getdescriptortools() +getusertools() +getorgunittools() +getgradestools() 2.2 Authentication components Each D2L Web Service request requires an authentication token which is valid for specific number of uses and a defined time interval. Requesting the token for each web service call would double the number of interactions between the application and D2L and is very resource-intensive. Therefore, a custom service TokenManager was created. TokenManager requests a security token from D2L, manages the token s expiry and usage count, recreates it as needed, and issues the token to toolkit services, e.g., the grade service. The application business code typically does not interact with the TokenManager directly except for one-time initialization (per application execution). In terms of architecture, TokenManager is a singleton. 2.3 Toolkit services

5 The toolkit contains fours specific services that provide simple interface for corresponding D2L Web Services: a) DescriptorTools b) GradesTools c) OrgUnitTools d) UserTools Each toolkit service implements and extends abstract AbstractServiceTools, which provides common methods like WS request setup via TokenManager, response validation, and error handling. Additionally, the UserTools and GradesTools have corresponding cached versions (UserToolsCached and GradesToolsCached) that utilize the database cache for user mapping (UofG-D2L) and upload of grade values. 2.4 Test framework Toolkit services have integrated test classes based on the junit test framework [5]. To facilitate testing on two different instances (development and production), the test configuration data are stored in the properties files and loaded in the setupclass() methods. Please note that the role mapping needs to be set manually. 2.5 Developing applications with the toolkit The toolkit provides interface to those D2L WS calls that are required by the UofG Physics Quiz Room systems (note the Toolkit was created at UofG for the purpose of transferring grades between the UofG Quizroom and D2L). Other D2L Web Services operations can be readily implemented by cloning the methods in the toolkit as a template. 2.6 Case study download of final grades Application design with the toolkit is illustrated via a specific business case: download of final grades. Full source code of the functional prototype is provided in Appendix 1. The essentials steps are described below. 1) Process the command line parameters and set up the application variables, e.g., courseid, gradename, etc. 2) Initialize the toolkit

6 TokenManager.initialize(serviceUrl, login, passwd, 30000L, 200L); ToolBox toolbox = null; if (enablecache) toolbox = new ToolBoxCached(serviceUrl); else toolbox = new ToolBox(serviceUrl); 3) Retrieve the toolkit services GradesTools gradestools = toolbox.getgradestools(); UserTools usertools = toolbox.getusertools(); OrgUnitTools orgtools = toolbox.getorgunittools(); 4) Find the given course course = orgtools.getcourseoffering(courseid); 5) Find the grade object within the given course grade = gradestools.getgradebyorgunitandgradename(courseid, gradename); 6) Retrieve the grade values String strgradeid = grade.getgradeobjectid().getid(); List<GradeValueInfo> values = gradestools.getgradevaluesbygradeobject(courseid,strgradeid);

7 7) Store the grade values in a text file for (GradeValueInfo value : values) { if (value!=null && (pointsnumerator = value.getpointsnumerator())!=null) out.println(usertools.getusernamebyuserid(value.getuserid().getid()) + "," + pointsnumerator.floatvalue()); An example of a command that exports a given grade is below (to export the final grades substitute the appropriate column name for Quiz 1 ): java -Djava.util.logging.config.file=logging.properties -classpath webfm.jar ca.uoguelph.identity.d2l.webfm.exportgrade -l wsusername -w pwd3 -a -c x "Quiz 1" -e -o out.txt The command generates the following output: [quizroom@main quizroom]$ java -Djava.util.logging.config.file=logging.properties -classpath webfm.jar ca.uoguelph.identity.d2l.webfm.exportgrade -l wsusername -w pwd3 -a -c x "Quiz 1" -e -o out.txt About to export Grade Book data for course "-DEV- PHYS1070 F09 Intro Physics for Life Sciences" dev_phys_1070_f09 Looking up the grade objects in course "12102" Found grade "Quiz 1" Retrieving grade values for "Quiz 1" with gradeid: Grade values for "Quiz 1" received (total count = 847) Redirecting the exported grades to file out.txt 2.7 Related technologies Knowledge of several technologies is recommended when developing applications with the toolkit (Table 2). Table 1: Related technologies Technology Java Standard Edition version 6 (JSE6) see When used This is the essential requirement JSE is the application s design platform

8 Java Enterprise Edition (JEE 5 and up), see Hibernate, see MySQL database design Desire2Learn Web Services NetBeans IDE (version 6.7 and up) see Web Services, e.g., when generating the WS config files, database access Implementation of the database cache relational persistence When implementing the database cache on MySQL (any relational database supported by Hibernate can be used instead) When extending the toolkit (services in ToolBox and ToolBoxCached) Integrated Development Environment (IDE) used to design and compile the application

9 3. References [1] Desire2Learn Inc.: Desire2Learn Web Services Developer and API Guide, July 2, 2008 [2] Desire2Learn Inc.: Desire2Learn Web Services Code Samples User and reference guide, July 3, 2008 [3] Hibernate: Relational Persistence for Java and.net [4] Java downloads at [5] JUnit test framework (

10 Appendix 1: Source code for the case study (download of specific grades) package ca.uoguelph.identity.d2l.webfm; import java.io.; import java.util.list; import java.math.bigdecimal; // toolkit imports import ca.uoguelph.identity.d2l.webfm.auth.tokenmanager; import ca.uoguelph.identity.d2l.webfm.service.gradestools; import ca.uoguelph.identity.d2l.webfm.service.usertools; import ca.uoguelph.identity.d2l.webfm.service.orgunittools; import ca.uoguelph.identity.d2l.webfm.service.toolbox; import ca.uoguelph.identity.d2l.webfm.service.toolboxcached; // Desire2Learn Web Services imports //.. import statements for D2L code removed... znejedly@uoguelph.ca Downloading a specific grade column from D2L - Demo on how to use the toolkit / public class ExportGrade { public ExportGrade() { / Prints the usage - command line parameters / public static void printusage() { System.out.println( "Usage: java -jar webfm.jar -l username (-p password -w pwdfile) -c courseid -a url\n" + " (-u filename -o filename) [-d] [-s] [-x (full quiz pretest)]\n"+ " [-i] [-z] [-e] [-n]\n" + "\t-l username.. sets the D2L Web Service account (required)\n" + "\t-p password.. sets the password (required, see -w)\n" + "\t-w pwdfile.. reads the password from a file (required, see -p)\n" + "\t-c courseid.. sets the course identifier (required)\n" + "\t-a url.. sets the service address incl protocol and port (required)\n" + "\t-e.. enable database cache (Hibernate config is in the jar file\n" + "\t-o filename.. downloads the grades to a text file called \"filename\" " + " (recommended for download)\n" + " the default behaviour is to download a file to stdout\n"); filename.. name of the file where the password is stored (clear pasword.. in clear WebFMException.. mostly applicable on I/O errors (file does not exist, etc) / public static String getpwdfromfile(string filename) throws WebFMException {

11 String password = null; try { BufferedReader is = new BufferedReader(new FileReader(fileName)); if ((password = is.readline()) == null) throw new WebFMException("The file " + filename + " is empty"); catch (java.io.filenotfoundexception e) { throw new WebFMException("The file " + filename + " not found.", e); catch (java.io.ioexception e) { throw new WebFMException("The file " + filename + " could not be read.", e); return password; / Processes the command line options, initiates the toolkit ({@link ToolBox {@link ToolBoxCached) and passes control to {@link ExportGrade#exportColumn <p/>usage example:<br/> java -Djava.util.logging.config.file=log_hib.properties -jar webfm.jar ExportGrade -l ws.physquiz3 -w pwd_prod_3.txt -a -c x "Quiz 1" -e -o args.. command line arguments - execute with no arguments to get the full listing / public static void main(string[] args) { String passwd = null; boolean enablecache = false; String serviceurl = ""; String login = ""; String pwdfilename = ""; String courseid = ""; String downloadfilename = ""; String gradename = null; int i = 0; try { // process all command line arguments while (i<args.length) { String par = args[i]; if (par.length()>=2 && par.charat(0)=='-') { switch (Character.toUpperCase(par.charAt(1))) { case 'A' : i++; serviceurl = args[i]; break; case 'C' : i++; courseid = args[i]; break; case 'E' : enablecache=true; break; case 'L' : i++; login = args[i]; break; case 'O' :

12 i++; downloadfilename = args[i]; break; case 'W' : i++; pwdfilename = args[i]; break; case 'X' : i++; if (args.length>i){ gradename = args[i]; else { System.out.println("ERROR: Incorrect export option"); printusage(); return; break; i++; catch (Exception e) { System.out.println("ERROR: Incorrect command line parameters"); printusage(); return; if (login==null login.length()<1 (pwdfilename==null pwdfilename.trim().length()<1) serviceurl==null serviceurl.trim().length()<1) { System.out.println("ERROR: login, password (or password file name), " + " and serviceaddress required"); printusage(); return; if (courseid==null courseid.length()==0) { System.out.println("ERROR: course identifier is required "); printusage(); return; // initialize the toolkit try { if (pwdfilename!=null && pwdfilename.trim().length()>0) passwd = getpwdfromfile(pwdfilename); TokenManager.initialize(serviceUrl, login, passwd, 30000L, 200L); ToolBox toolbox = null; if (enablecache) { toolbox = new ToolBoxCached(serviceUrl); else { toolbox = new ToolBox(serviceUrl); // perform the export exportcolumn(toolbox, courseid, gradename, downloadfilename); catch (WebFMException e) { System.out.println("ERROR: " + e.getmessage());

13 System.out.print("Stack Trace: "); e.printstacktrace(system.out); finally { // place any cleanup code here / Exports the values of the given grade column in the given course as CSV file along with the corresponding usernames (already converted to UofG central login account toolbox.. toolbox (either cached or not courseid.. internal D2L identifier for the given gradename.. name of the grade object (column lable in the downloadfilename.. where the grade values should be WebFMException / static public void exportcolumn(toolbox toolbox, String courseid, String gradename, String downloadfilename) throws WebFMException { // retrive the toolkit services GradesTools gradestools = toolbox.getgradestools(); UserTools usertools = toolbox.getusertools(); OrgUnitTools orgtools = toolbox.getorgunittools(); GradeObjectInfo grade = null; CourseOfferingInfo course = null; // find the course object try { course = orgtools.getcourseoffering(courseid); catch (Exception e) { throw new WebFMException("The web services user account does not have access " + "to the specified course " + courseid,e); if (course==null) throw new WebFMException("The web services user account does not have access " + "to the specified course " + courseid); System.out.println("About to export Grade Book data for course " + courseid + " \"" + course.getname() + "\" " + course.getcode()); // find the grade object within the given course try { System.out.println("Looking up the grade objects in course \"" + courseid + "\""); grade = gradestools.getgradebyorgunitandgradename(courseid, gradename); if (grade==null) throw new WebFMException("No grades (columns) with the specified name " + gradename + " were found in the course " + courseid); else System.out.println("Found grade \"" + grade.getname()+ "\""); catch (UnsupportedOperationException e) { throw new WebFMException("Failed to lookup the grades. May not have "+ " access to the course.", e); catch (Exception e) {

14 throw new WebFMException("Failed to lookup the grades. May not have " + " access to the course.", e); // retrieve the grade values and store them in the text file try { String strgradeid = grade.getgradeobjectid().getid(); System.out.println("Retrieving grade values for \"" + grade.getname() + "\" with gradeid: " + strgradeid); List<GradeValueInfo> values = gradestools.getgradevaluesbygradeobject(courseid,strgradeid); if (values!= null) { System.out.println("Grade values for \"" + grade.getname() + "\" received (total count = " + values.size() + ")"); System.out.println("Redirecting the exported grades to file " + downloadfilename); PrintWriter out = new PrintWriter(new FileOutputStream( downloadfilename)); out.println("username," + grade.getname()); BigDecimal pointsnumerator; for (GradeValueInfo value : values) { if (value!=null && (pointsnumerator = value.getpointsnumerator())!=null) { out.println(usertools.getusernamebyuserid(value.getuserid().getid()) + "," + pointsnumerator.floatvalue()); //"," + Math.round(pointsNumerator.floatValue())); // use the line above to print rounded values out.close(); else System.out.println("The WS call for grade values for courseid " + courseid + " and gradeid " + strgradeid + " returned null"); catch (IOException e) { throw new WebFMException("Could not save the grade values to file " + downloadfilename, e) ; catch (Exception e) { throw new WebFMException("Could not retrieve grade values.", e) ;

Defensive Programming. Ric Glassey

Defensive Programming. Ric Glassey Defensive Programming Ric Glassey glassey@kth.se Outline Defensive Programming Aim: Develop the programming skills to anticipate problems beyond control that may occur at runtime Responsibility Exception

More information

public class Q1 { public int x; public static void main(string[] args) { Q1 a = new Q1(17); Q1 b = new Q1(39); public Q1(int x) { this.

public class Q1 { public int x; public static void main(string[] args) { Q1 a = new Q1(17); Q1 b = new Q1(39); public Q1(int x) { this. CS 201, Fall 2013 Oct 2nd Exam 1 Name: Question 1. [5 points] What output is printed by the following program (which begins on the left and continues on the right)? public class Q1 { public int x; public

More information

OBJECT ORIENTED PROGRAMMING. Course 6 Loredana STANCIU Room B616

OBJECT ORIENTED PROGRAMMING. Course 6 Loredana STANCIU Room B616 OBJECT ORIENTED PROGRAMMING Course 6 Loredana STANCIU loredana.stanciu@upt.ro Room B616 Exceptions An event, which occurs during the execution of a program, that disrupts the normal flow of the program's

More information

Project #1 rev 2 Computer Science 2334 Fall 2013 This project is individual work. Each student must complete this assignment independently.

Project #1 rev 2 Computer Science 2334 Fall 2013 This project is individual work. Each student must complete this assignment independently. Project #1 rev 2 Computer Science 2334 Fall 2013 This project is individual work. Each student must complete this assignment independently. User Request: Create a simple magazine data system. Milestones:

More information

Week 12. Streams and File I/O. Overview of Streams and File I/O Text File I/O

Week 12. Streams and File I/O. Overview of Streams and File I/O Text File I/O Week 12 Streams and File I/O Overview of Streams and File I/O Text File I/O 1 I/O Overview I/O = Input/Output In this context it is input to and output from programs Input can be from keyboard or a file

More information

Project #1 Computer Science 2334 Fall 2008

Project #1 Computer Science 2334 Fall 2008 Project #1 Computer Science 2334 Fall 2008 User Request: Create a Word Verification System. Milestones: 1. Use program arguments to specify a file name. 10 points 2. Use simple File I/O to read a file.

More information

Lab 11. A sample of the class is:

Lab 11. A sample of the class is: Lab 11 Lesson 11-2: Exercise 1 Exercise 2 A sample of the class is: public class List // Methods public void store(int item) values[length] = item; length++; public void printlist() // Post: If the list

More information

FDK API Manual for Java. FDK API Manual for Java. June FN Pricing

FDK API Manual for Java. FDK API Manual for Java. June FN Pricing FDK API Manual for Java June 2015 FN Pricing Contents Overview... 1 System Environments... 1 Installation files... 1 Runtime Environments... 1 Sample codes... 1 CCallFdk... 8 static void Initialize(String

More information

IT101. File Input and Output

IT101. File Input and Output IT101 File Input and Output IO Streams A stream is a communication channel that a program has with the outside world. It is used to transfer data items in succession. An Input/Output (I/O) Stream represents

More information

WCS SOAP Based North Bound Application Program Interfaces (APIs) for Guest User Administration

WCS SOAP Based North Bound Application Program Interfaces (APIs) for Guest User Administration WCS SOAP Based North Bound Application Program Interfaces (APIs) for Guest User Administration Introduction The goal of this document is to describe the Cisco Wireless Control System (WCS) interface and

More information

Programming with the SCA BB Service Configuration API

Programming with the SCA BB Service Configuration API CHAPTER 3 Programming with the SCA BB Service Configuration API Published: December 23, 2013, Introduction This chapter is a reference for the main classes and methods of the Cisco SCA BB Service Configuration

More information

Programming with the SCA BB Service Configuration API

Programming with the SCA BB Service Configuration API CHAPTER 3 Programming with the SCA BB Service Configuration API Revised: September 17, 2012, Introduction This chapter is a reference for the main classes and methods of the Cisco SCA BB Service Configuration

More information

Programming with the SCA BB Service Configuration API

Programming with the SCA BB Service Configuration API CHAPTER 3 Programming with the SCA BB Service Configuration API Revised: November 8, 2010, Introduction This chapter is a reference for the main classes and methods of the Cisco SCA BB Service Configuration

More information

Getting Started in Java. Bill Pugh Dept. of Computer Science Univ. of Maryland, College Park

Getting Started in Java. Bill Pugh Dept. of Computer Science Univ. of Maryland, College Park Getting Started in Java Bill Pugh Dept. of Computer Science Univ. of Maryland, College Park Hello, World In HelloWorld.java public class HelloWorld { public static void main(string [] args) { System.out.println(

More information

Good Luck! CSC207, Fall 2012: Quiz 3 Duration 25 minutes Aids allowed: none. Student Number: Lecture Section: L0101. Instructor: Horton

Good Luck! CSC207, Fall 2012: Quiz 3 Duration 25 minutes Aids allowed: none. Student Number: Lecture Section: L0101. Instructor: Horton CSC207, Fall 2012: Quiz 3 Duration 25 minutes Aids allowed: none Student Number: Last Name: Lecture Section: L0101 First Name: Instructor: Horton Please fill out the identification section above as well

More information

Streams and File I/O

Streams and File I/O Chapter 9 Streams and File I/O Overview of Streams and File I/O Text File I/O Binary File I/O File Objects and File Names Chapter 9 Java: an Introduction to Computer Science & Programming - Walter Savitch

More information

The XML PDF Access API for Java Technology (XPAAJ)

The XML PDF Access API for Java Technology (XPAAJ) The XML PDF Access API for Java Technology (XPAAJ) Duane Nickull Senior Technology Evangelist Adobe Systems TS-93260 2007 JavaOne SM Conference Session TS-93260 Agenda Using Java technology to manipulate

More information

An article on collecting IBM InfoSphere CDC Subscription health matrices in a Java program using the Monitoring API

An article on collecting IBM InfoSphere CDC Subscription health matrices in a Java program using the Monitoring API An article on collecting IBM InfoSphere CDC Subscription health matrices in a Java program using the Monitoring API Aniket Kadam(anikadam@in.ibm.com) Prerequisites Before going through the article reader

More information

Project 1 Computer Science 2334 Spring 2016 This project is individual work. Each student must complete this assignment independently.

Project 1 Computer Science 2334 Spring 2016 This project is individual work. Each student must complete this assignment independently. Project 1 Computer Science 2334 Spring 2016 This project is individual work. Each student must complete this assignment independently. User Request: Create a simple movie data system. Milestones: 1. Use

More information

F I N A L E X A M I N A T I O N

F I N A L E X A M I N A T I O N Faculty Of Computer Studies M257 Putting Java to Work F I N A L E X A M I N A T I O N Number of Exam Pages: (including this cover sheet( Spring 2011 April 4, 2011 ( 5 ) Time Allowed: ( 1.5 ) Hours Student

More information

Today. Book-keeping. File I/O. Subscribe to sipb-iap-java-students. Inner classes. Debugging tools

Today. Book-keeping. File I/O. Subscribe to sipb-iap-java-students. Inner classes.  Debugging tools Today Book-keeping File I/O Subscribe to sipb-iap-java-students Inner classes http://sipb.mit.edu/iap/java/ Debugging tools Problem set 1 questions? Problem set 2 released tomorrow 1 2 So far... Reading

More information

CS1092: Tutorial Sheet: No 3 Exceptions and Files. Tutor s Guide

CS1092: Tutorial Sheet: No 3 Exceptions and Files. Tutor s Guide CS1092: Tutorial Sheet: No 3 Exceptions and Files Tutor s Guide Preliminary This tutorial sheet requires that you ve read Chapter 15 on Exceptions (CS1081 lectured material), and followed the recent CS1092

More information

public static boolean isoutside(int min, int max, int value)

public static boolean isoutside(int min, int max, int value) See the 2 APIs attached at the end of this worksheet. 1. Methods: Javadoc Complete the Javadoc comments for the following two methods from the API: (a) / @param @param @param @return @pre. / public static

More information

JAC444 - Lecture 4. Segment 1 - Exception. Jordan Anastasiade Java Programming Language Course

JAC444 - Lecture 4. Segment 1 - Exception. Jordan Anastasiade Java Programming Language Course JAC444 - Lecture 4 Segment 1 - Exception 1 Objectives Upon completion of this lecture, you should be able to: Separate Error-Handling Code from Regular Code Use Exceptions to Handle Exceptional Events

More information

A sample print out is: is is -11 key entered was: w

A sample print out is: is is -11 key entered was: w Lab 9 Lesson 9-2: Exercise 1, 2 and 3: Note: when you run this you may need to maximize the window. The modified buttonhandler is: private static class ButtonListener implements ActionListener public void

More information

Exceptions and Libraries

Exceptions and Libraries Exceptions and Libraries RS 9.3, 6.4 Some slides created by Marty Stepp http://www.cs.washington.edu/143/ Edited by Sarah Heckman 1 Exceptions exception: An object representing an error or unusual condition.

More information

Basic Tutorial on Creating Custom Policy Actions

Basic Tutorial on Creating Custom Policy Actions Basic Tutorial on Creating Custom Policy Actions This tutorial introduces the Policy API to create a custom policy action. As an example you will write an action which excludes certain values for an asset

More information

API Developer Notes. A Galileo Web Services Java Connection Class Using Axis. 29 June Version 1.3

API Developer Notes. A Galileo Web Services Java Connection Class Using Axis. 29 June Version 1.3 API Developer Notes A Galileo Web Services Java Connection Class Using Axis 29 June 2012 Version 1.3 THE INFORMATION CONTAINED IN THIS DOCUMENT IS CONFIDENTIAL AND PROPRIETARY TO TRAVELPORT Copyright Copyright

More information

CN208 Introduction to Computer Programming

CN208 Introduction to Computer Programming CN208 Introduction to Computer Programming Lecture #11 Streams (Continued) Pimarn Apipattanamontre Email: pimarn@pimarn.com 1 The Object Class The Object class is the direct or indirect superclass of every

More information

Ultra Messaging (Version 6.11) Manager Guide. Copyright (C) , Informatica Corporation. All Rights Reserved.

Ultra Messaging (Version 6.11) Manager Guide. Copyright (C) , Informatica Corporation. All Rights Reserved. Ultra Messaging (Version 6.11) Manager Guide Copyright (C) 2004-2017, Informatica Corporation. All Rights Reserved. Contents 1 Introduction 5 1.1 UM Manager Overview.........................................

More information

16-Dec-10. Consider the following method:

16-Dec-10. Consider the following method: Boaz Kantor Introduction to Computer Science IDC Herzliya Exception is a class. Java comes with many, we can write our own. The Exception objects, along with some Java-specific structures, allow us to

More information

CISC 323 (Week 9) Design of a Weather Program & Java File I/O

CISC 323 (Week 9) Design of a Weather Program & Java File I/O CISC 323 (Week 9) Design of a Weather Program & Java File I/O Jeremy Bradbury Teaching Assistant March 8 & 10, 2004 bradbury@cs.queensu.ca Programming Project The next three assignments form a programming

More information

Any serious Java programmers should use the APIs to develop Java programs Best practices of using APIs

Any serious Java programmers should use the APIs to develop Java programs Best practices of using APIs Ananda Gunawardena Java APIs Think Java API (Application Programming Interface) as a super dictionary of the Java language. It has a list of all Java packages, classes, and interfaces; along with all of

More information

CS Week 11. Jim Williams, PhD

CS Week 11. Jim Williams, PhD CS 200 - Week 11 Jim Williams, PhD This Week 1. Exam 2 - Thursday 2. Team Lab: Exceptions, Paths, Command Line 3. Review: Muddiest Point 4. Lecture: File Input and Output Objectives 1. Describe a text

More information

Central Authentication Service Integration 2.0 Administration Guide May 2014

Central Authentication Service Integration 2.0 Administration Guide May 2014 Central Authentication Service Integration 2.0 Administration Guide May 2014 Contents Purpose of this document About CAS Compatibility New features in this release Copyright 2014 Desire2Learn Incorporated.

More information

Chapter 10. File I/O. Copyright 2016 Pearson Inc. All rights reserved.

Chapter 10. File I/O. Copyright 2016 Pearson Inc. All rights reserved. Chapter 10 File I/O Copyright 2016 Pearson Inc. All rights reserved. Streams A stream is an object that enables the flow of data between a program and some I/O device or file If the data flows into a program,

More information

FIFO PAGE REPLACEMENT : import java.io.*; public class FIFO {

FIFO PAGE REPLACEMENT : import java.io.*; public class FIFO { FIFO PAGE REPLACEMENT : import java.io.*; public class FIFO public static void main(string[] args) throws IOException BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int frames,

More information

Binghamton University. CS-140 Fall Problem Solving. Creating a class from scratch

Binghamton University. CS-140 Fall Problem Solving. Creating a class from scratch Problem Solving Creating a class from scratch 1 Recipe for Writing a Class 1. Write the class boilerplate stuff 2. Declare Fields 3. Write Creator(s) 4. Write accessor methods 5. Write mutator methods

More information

Birkbeck (University of London) Software and Programming 1 In-class Test Mar 2018

Birkbeck (University of London) Software and Programming 1 In-class Test Mar 2018 Birkbeck (University of London) Software and Programming 1 In-class Test 2.1 22 Mar 2018 Student Name Student Number Answer ALL Questions 1. What output is produced when the following Java program fragment

More information

CSPP : Introduction to Object-Oriented Programming

CSPP : Introduction to Object-Oriented Programming CSPP 511-01: Introduction to Object-Oriented Programming Harri Hakula Ryerson 256, tel. 773-702-8584 hhakula@cs.uchicago.edu August 7, 2000 CSPP 511-01: Lecture 15, August 7, 2000 1 Exceptions Files: Text

More information

Input-Output and Exception Handling

Input-Output and Exception Handling Software and Programming I Input-Output and Exception Handling Roman Kontchakov / Carsten Fuhs Birkbeck, University of London Outline Reading and writing text files Exceptions The try block catch and finally

More information

HST 952. Computing for Biomedical Scientists Lecture 8

HST 952. Computing for Biomedical Scientists Lecture 8 Harvard-MIT Division of Health Sciences and Technology HST.952: Computing for Biomedical Scientists HST 952 Computing for Biomedical Scientists Lecture 8 Outline Vectors Streams, Input, and Output in Java

More information

Training Tracker 6. PC Edition. Copyright Computer Directions, LLC

Training Tracker 6. PC Edition. Copyright Computer Directions, LLC Training Tracker 6 PC Edition Copyright 2014-2016 Computer Directions, LLC Contents What is Training Tracker?... 3 Getting Started... 4 The People Tab... 4 Overview... 4 Adding People... 5 Editing People...

More information

File I/O Introduction to File I/O Text Files The File Class Binary Files 614

File I/O Introduction to File I/O Text Files The File Class Binary Files 614 10.1 Introduction to File I/O 574 Streams 575 Text Files and Binary Files 575 10.2 Text Files 576 Writing to a Text File 576 Appending to a Text File 583 Reading from a Text File 586 Reading a Text File

More information

public static void negate2(list<integer> t)

public static void negate2(list<integer> t) See the 2 APIs attached at the end of this worksheet. 1. Methods: Javadoc Complete the Javadoc comments for the following two methods from the API: (a) / @param @param @param @return @pre. / public static

More information

CSC System Development with Java. Exception Handling. Department of Statistics and Computer Science. Budditha Hettige

CSC System Development with Java. Exception Handling. Department of Statistics and Computer Science. Budditha Hettige CSC 308 2.0 System Development with Java Exception Handling Department of Statistics and Computer Science 1 2 Errors Errors can be categorized as several ways; Syntax Errors Logical Errors Runtime Errors

More information

Classes Basic Overview

Classes Basic Overview Final Review!!! Classes and Objects Program Statements (Arithmetic Operations) Program Flow String In-depth java.io (Input/Output) java.util (Utilities) Exceptions Classes Basic Overview A class is a container

More information

Draft project proposal

Draft project proposal Quiz 2 1/30 You can find your grade for Quiz 2 at https://www.cse.yorku.ca/~roumani/epost/server/ ep.cgi?year=2017-18&term=w&course=4315. You received an email with feedback at your EECS account. Draft

More information

Simple Data Source Crawler Plugin to Set the Document Title

Simple Data Source Crawler Plugin to Set the Document Title Simple Data Source Crawler Plugin to Set the Document Title IBM Content Analytics 1 Contents Introduction... 4 Basic FS Crawler behavior.... 8 Using the Customizer Filter to Modify the title Field... 13

More information

Backend. (Very) Simple server examples

Backend. (Very) Simple server examples Backend (Very) Simple server examples Web server example Browser HTML form HTTP/GET Webserver / Servlet JDBC DB Student example sqlite>.schema CREATE TABLE students(id integer primary key asc,name varchar(30));

More information

CSE 143 Sp03 Midterm 2 Sample Solution Page 1 of 7. Question 1. (2 points) What is the difference between a stream and a file?

CSE 143 Sp03 Midterm 2 Sample Solution Page 1 of 7. Question 1. (2 points) What is the difference between a stream and a file? CSE 143 Sp03 Midterm 2 Sample Solution Page 1 of 7 Question 1. (2 points) What is the difference between a stream and a file? A stream is an abstraction representing the flow of data from one place to

More information

Input from Files. Buffered Reader

Input from Files. Buffered Reader Input from Files Buffered Reader Input from files is always text. You can convert it to ints using Integer.parseInt() We use BufferedReaders to minimize the number of reads to the file. The Buffer reads

More information

Technical Note: LogicalApps Web Services

Technical Note: LogicalApps Web Services Technical Note: LogicalApps Web Services Introduction... 1 Access Governor Overview... 1 Web Services Overview... 2 Web Services Environment... 3 Web Services Documentation... 3 A Sample Client... 4 Introduction

More information

REST API Operations. 8.0 Release. 12/1/2015 Version 8.0.0

REST API Operations. 8.0 Release. 12/1/2015 Version 8.0.0 REST API Operations 8.0 Release 12/1/2015 Version 8.0.0 Table of Contents Business Object Operations... 3 Search Operations... 6 Security Operations... 8 Service Operations... 11 Business Object Operations

More information

CPSC 441 Tutorial TCP Server. Department of Computer Science University of Calgary

CPSC 441 Tutorial TCP Server. Department of Computer Science University of Calgary CPSC 441 Tutorial TCP Server Department of Computer Science University of Calgary TCP Socket Client Server Connection Request Server Listening on welcoming socket Client Socket Server Socket Data Simple

More information

CS 251 Intermediate Programming Java I/O Streams

CS 251 Intermediate Programming Java I/O Streams CS 251 Intermediate Programming Java I/O Streams Brooke Chenoweth University of New Mexico Spring 2018 Basic Input/Output I/O Streams mostly in java.io package File I/O mostly in java.nio.file package

More information

Getting Started with the Bullhorn SOAP API and Java

Getting Started with the Bullhorn SOAP API and Java Getting Started with the Bullhorn SOAP API and Java Introduction This article is targeted at developers who want to do custom development using the Bullhorn SOAP API and Java. You will create a sample

More information

REST Style Architecture... 5 Using the Primavera Gateway API... 7 Sample Java Code that Invokes the API... 7 Reference Documentation...

REST Style Architecture... 5 Using the Primavera Gateway API... 7 Sample Java Code that Invokes the API... 7 Reference Documentation... Gateway API Programmer's Guide Release 14.2 September 2014 Contents Introduction... 5 REST Style Architecture... 5 Using the Primavera Gateway API... 7 Sample Java Code that Invokes the API... 7 Reference

More information

CPSC 319. Week 2 Java Basics. Xiaoyang Liu & Sorting Algorithms

CPSC 319. Week 2 Java Basics. Xiaoyang Liu & Sorting Algorithms CPSC 319 Week 2 Java Basics Xiaoyang Liu xiaoyali@ucalgary.ca & Sorting Algorithms Java Basics Variable Declarations Type Size Range boolean 1 bit true, false char 16 bits Unicode characters byte 8 bits

More information

ECM1406. Answer Sheet Lists

ECM1406. Answer Sheet Lists ECM1406 Answer Sheet Lists These questions are based on those found in Chapters 3 and 4 of the core text Data Structures Using Java by Malik and Nair. The source code for the ArrayListClass, UnorderedArrayList,

More information

BBM 102 Introduction to Programming II Spring Exceptions

BBM 102 Introduction to Programming II Spring Exceptions BBM 102 Introduction to Programming II Spring 2018 Exceptions 1 Today What is an exception? What is exception handling? Keywords of exception handling try catch finally Throwing exceptions throw Custom

More information

MSc/ICY Software Workshop Exception Handling, Assertions Scanner, Patterns File Input/Output

MSc/ICY Software Workshop Exception Handling, Assertions Scanner, Patterns File Input/Output MSc/ICY Software Workshop Exception Handling, Assertions Scanner, Patterns File Input/Output Manfred Kerber www.cs.bham.ac.uk/~mmk 21 October 2015 1 / 18 Manfred Kerber Classes and Objects The information

More information

CS 200 File Input and Output Jim Williams, PhD

CS 200 File Input and Output Jim Williams, PhD CS 200 File Input and Output Jim Williams, PhD This Week 1. WaTor Change Log 2. Monday Appts - may be interrupted. 3. Optional Lab: Create a Personal Webpage a. demonstrate to TA for same credit as other

More information

Administration Guide. Lavastorm Analytics Engine 6.1

Administration Guide. Lavastorm Analytics Engine 6.1 Administration Guide Lavastorm Analytics Engine 6.1 Administration Guide: Lavastorm Analytics Engine 6.1 Legal notice Copyright THE CONTENTS OF THIS DOCUMENT ARE THE COPYRIGHT OF LIMITED. ALL RIGHTS RESERVED.

More information

PASS4TEST IT 인증시험덤프전문사이트

PASS4TEST IT 인증시험덤프전문사이트 PASS4TEST IT 인증시험덤프전문사이트 http://www.pass4test.net 일년동안무료업데이트 Exam : 1z0-809 Title : Java SE 8 Programmer II Vendor : Oracle Version : DEMO Get Latest & Valid 1z0-809 Exam's Question and Answers 1 from

More information

COMP-202: Foundations of Programming. Lecture 22: File I/O Jackie Cheung, Winter 2015

COMP-202: Foundations of Programming. Lecture 22: File I/O Jackie Cheung, Winter 2015 COMP-202: Foundations of Programming Lecture 22: File I/O Jackie Cheung, Winter 2015 Announcements Assignment 5 due Tue Mar 31 at 11:59pm Quiz 6 due Tue Apr 7 at 11:59pm 2 Review 1. What is a graph? How

More information

PART1: Choose the correct answer and write it on the answer sheet:

PART1: Choose the correct answer and write it on the answer sheet: PART1: Choose the correct answer and write it on the answer sheet: (15 marks 20 minutes) 1. Which of the following is included in Java SDK? a. Java interpreter c. Java disassembler b. Java debugger d.

More information

inside: THE MAGAZINE OF USENIX & SAGE June 2001 Volume 26 Number 3 PROGRAMMING Using CORBA with Java by Prithvi Rao

inside: THE MAGAZINE OF USENIX & SAGE June 2001 Volume 26 Number 3 PROGRAMMING Using CORBA with Java by Prithvi Rao THE MAGAZINE OF USENIX & SAGE June 2001 Volume 26 Number 3 inside: PROGRAMMING Using CORBA with Java by Prithvi Rao # & The Advanced Computing Systems Association & The System Administrators Guild using

More information

Possible Exam Questions

Possible Exam Questions Name: Class: Date: Here are all the questions from all your previous tests. Your exam will be made up of some of these questions. Use these to study from. Remember - all the answers are contained in your

More information

Input & Output in Java. Standard I/O Exception Handling

Input & Output in Java. Standard I/O Exception Handling Input & Output in Java Standard I/O Exception Handling Java I/O: Generic & Complex Java runs on a huge variety of plaforms to accomplish this, a Java Virtual Machine (JVM) is written for every type of

More information

Full file at

Full file at Chapter 1 Primitive Java Weiss 4 th Edition Solutions to Exercises (US Version) 1.1 Key Concepts and How To Teach Them This chapter introduces primitive features of Java found in all languages such as

More information

SQream Connector JDBC SQream Technologies Version 2.9.3

SQream Connector JDBC SQream Technologies Version 2.9.3 SQream Connector JDBC 2.9.3 SQream Technologies 2019-03-27 Version 2.9.3 Table of Contents The SQream JDBC Connector - Overview...................................................... 1 1. API Reference............................................................................

More information

CS159 Midterm #1 Review

CS159 Midterm #1 Review Name: CS159 Midterm #1 Review 1. Choose the best answer for each of the following multiple choice questions. (a) What is the effect of declaring a class member to be static? It means that the member cannot

More information

ASSIGNMENT 5 Objects, Files, and More Garage Management

ASSIGNMENT 5 Objects, Files, and More Garage Management ASSIGNMENT 5 Objects, Files, and More Garage Management COMP-202B, Winter 2010, All Sections Due: Wednesday, April 14, 2009 (23:55) You MUST do this assignment individually and, unless otherwise specified,

More information

ReportPlus Embedded Web SDK Guide

ReportPlus Embedded Web SDK Guide ReportPlus Embedded Web SDK Guide ReportPlus Web Embedding Guide 1.4 Disclaimer THE INFORMATION CONTAINED IN THIS DOCUMENT IS PROVIDED AS IS WITHOUT ANY EXPRESS REPRESENTATIONS OF WARRANTIES. IN ADDITION,

More information

Games Course, summer Introduction to Java. Frédéric Haziza

Games Course, summer Introduction to Java. Frédéric Haziza Games Course, summer 2005 Introduction to Java Frédéric Haziza (daz@it.uu.se) Summer 2005 1 Outline Where to get Java Compilation Notions of Type First Program Java Syntax Scope Class example Classpath

More information

Simple Java Input/Output

Simple Java Input/Output Simple Java Input/Output Prologue They say you can hold seven plus or minus two pieces of information in your mind. I can t remember how to open files in Java. I ve written chapters on it. I ve done it

More information

4. Finding & Displaying Record of Salesman with minimum net income. 5. Finding & Displaying Record of Salesman with maximum net income.

4. Finding & Displaying Record of Salesman with minimum net income. 5. Finding & Displaying Record of Salesman with maximum net income. Solution of problem#55 of Lab Assignment Problem Statement: Design & Implement a java program that can handle salesmen records of ABC Company. Each salesman has unique 4 digit id #, name, salary, monthly

More information

IBM Security Secret Server Version Application Server API Guide

IBM Security Secret Server Version Application Server API Guide IBM Security Secret Server Version 10.4 Application Server API Guide Contents Overview... 1 Concepts... 1 Standalone Java API... 1 Integrated Java API... 1 Integrated.NET Configuration API... 1 Application

More information

OOP Lab Factory Method, Singleton, and Properties Page 1

OOP Lab Factory Method, Singleton, and Properties Page 1 OOP Lab Factory Method, Singleton, and Properties Page 1 Purpose What to Submit 1. Practice implementing a factory method and singleton class. 2. Enable the Purse application to handle different kinds

More information

ASSIGNMENT 5 Objects, Files, and a Music Player

ASSIGNMENT 5 Objects, Files, and a Music Player ASSIGNMENT 5 Objects, Files, and a Music Player COMP-202A, Fall 2009, All Sections Due: Thursday, December 3, 2009 (23:55) You MUST do this assignment individually and, unless otherwise specified, you

More information

Credential Policy CHAPTER

Credential Policy CHAPTER CHAPTER 21 Cisco Unified Communications Manager authenticates user login credentials before allowing system access. To help secure user accounts, you can specify settings for failed logon attempts, lockout

More information

Authentication Service Api Help Guide

Authentication Service Api Help Guide Authentication Service Api Help Guide CionSystems Inc. 6640 185 th Ave NE Redmond, WA-98052, USA http://www.cionsystems.com Phone: +1.425.605.5325 Trademarks CionSystems, CionSystems Inc., the CionSystems

More information

MyLead Release V0.3 alpha Developer s Guide

MyLead Release V0.3 alpha Developer s Guide LINKED ENVIRONMENTS FOR ATMOSPHERIC DISCOVERY MyLead Release V0.3 alpha Developer s Guide Project Title: mylead Document Title: mylead Release V0.3 alpha Developer s Guide Organization: Indiana University

More information

Projeto de Software / Programação 3 Tratamento de Exceções. Baldoino Fonseca/Márcio Ribeiro

Projeto de Software / Programação 3 Tratamento de Exceções. Baldoino Fonseca/Márcio Ribeiro Projeto de Software / Programação 3 Tratamento de Exceções Baldoino Fonseca/Márcio Ribeiro baldoino@ic.ufal.br What can go wrong?! result = n1 / n2; In the following slides: 1) Analyze the code; 2) read

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

CMPSCI 187: Programming With Data Structures. Lecture #24: Files and a Case Study David Mix Barrington 2 November 2012

CMPSCI 187: Programming With Data Structures. Lecture #24: Files and a Case Study David Mix Barrington 2 November 2012 CMPSCI 187: Programming With Data Structures Lecture #24: Files and a Case Study David Mix Barrington 2 November 2012 Files and a Case Study Volatile and Non-Volatile Storage Storing and Retrieving Objects

More information

CSC 1051 Algorithms and Data Structures I. Final Examination May 2, Name:

CSC 1051 Algorithms and Data Structures I. Final Examination May 2, Name: CSC 1051 Algorithms and Data Structures I Final Examination May 2, 2015 Name: Question Value 1 10 Score 2 10 3 10 4 10 5 10 6 10 7 10 8 10 9 20 TOTAL 100 Please answer questions in the spaces provided.

More information

Alternate Methods for Informatica Metadata Exchange SDK

Alternate Methods for Informatica Metadata Exchange SDK Alternate Methods for Informatica Metadata Exchange SDK Informatica Metadata Exchange SDK provides a set of COM-based APIs for exchanging metadata with the PowerCenter repository. You can also use this

More information

Publishing a Respondus File to Blackboard

Publishing a Respondus File to Blackboard Publishing a Respondus File to Blackboard By Scott Badger Important Disclaimer It is very important that Edit Mode is switched to ON when publishing a test or quiz to Blackboard via Respondus. This is

More information

Question 1. (2 points) What is the difference between a stream and a file?

Question 1. (2 points) What is the difference between a stream and a file? CSE 143 Sp03 Midterm 2 Page 1 of 7 Question 1. (2 points) What is the difference between a stream and a file? Question 2. (2 points) Suppose we are writing an online dictionary application. Given a word

More information

I pledge by honor that I will not discuss this exam with anyone until my instructor reviews the exam in the class.

I pledge by honor that I will not discuss this exam with anyone until my instructor reviews the exam in the class. Name: Covers Chapters 1-3 50 mins CSCI 1301 Introduction to Programming Armstrong Atlantic State University Instructor: Dr. Y. Daniel Liang I pledge by honor that I will not discuss this exam with anyone

More information

Sequence structure. The computer executes java statements one after the other in the order in which they are written. Total = total +grade;

Sequence structure. The computer executes java statements one after the other in the order in which they are written. Total = total +grade; Control Statements Control Statements All programs could be written in terms of only one of three control structures: Sequence Structure Selection Structure Repetition Structure Sequence structure The

More information

What are Exceptions?

What are Exceptions? Exception Handling What are Exceptions? The traditional approach Exception handing in Java Standard exceptions in Java Multiple catch handlers Catching multiple exceptions finally block Checked vs unchecked

More information

MyLead Release V1.2 Developer s Guide (Client Service)

MyLead Release V1.2 Developer s Guide (Client Service) LINKED ENVIRONMENTS FOR ATMOSPHERIC DISCOVERY MyLead Release V1.2 Developer s Guide (Client Service) Project Title: mylead Document Title: mylead Release V.1.2 Developer s Guide Organization: Indiana University

More information

SDK Developer s Guide

SDK Developer s Guide SDK Developer s Guide 2005-2012 Ping Identity Corporation. All rights reserved. PingFederate SDK Developer s Guide Version 6.10 October, 2012 Ping Identity Corporation 1001 17 th Street, Suite 100 Denver,

More information

MethodHandle implemention tips and tricks

MethodHandle implemention tips and tricks MethodHandle implemention tips and tricks Dan Heidinga J9 VM Software Developer daniel_heidinga@ca.ibm.com J9 Virtual Machine 2011 IBM Corporation MethodHandles: a 30 sec introduction A method handle is

More information

Customizing the WebSphere Portal login and logout commands

Customizing the WebSphere Portal login and logout commands Customizing the WebSphere Portal login and logout commands Abstract This technical note provides detailed information about how the WebSphere Portal login or logout flow can be extended or customized by

More information

When we reach the line "z = x / y" the program crashes with the message:

When we reach the line z = x / y the program crashes with the message: CSCE A201 Introduction to Exceptions and File I/O An exception is an abnormal condition that occurs during the execution of a program. For example, divisions by zero, accessing an invalid array index,

More information

Logistics Manager Quick Start Guide. Lavastorm Analytics Engine 6.0

Logistics Manager Quick Start Guide. Lavastorm Analytics Engine 6.0 Logistics Manager Quick Start Guide Lavastorm Analytics Engine 6.0 Logistics Manager Quick Start Guide: Lavastorm Analytics Engine 6.0 Legal notice Copyright THE CONTENTS OF THIS DOCUMENT ARE THE COPYRIGHT

More information