1 Using the JavaConverter
|
|
|
- Adrian Manning
- 10 years ago
- Views:
Transcription
1 1 The JavaConverter is a command line tool that performs automatic conversion of any Objective-C or WebScript source code to pure Java code. This can be done file by file or at the project level for any WebObjects 4.5 application or framework. The JavaConverter runs under Mac OS X Server 1.2 and Windows NT. JavaConverter Features The JavaConverter is robust: It only works on a copy of your WebObjects project; the original is never touched. (When processing an individual file, the original can get overwritten; always create a copy of your project before processing individual files.) It deals with categories either by creating helper classes or by merging them throughout subprojects. You will need to manually correct the calls to these categories after the automatic conversion has been performed. It preserves comments and generates clean, easy to read Java code. Any problems encountered by the parser are highlighted with a searchable comment (tagged JC_ERROR, JC_WARNING, or JC_INFO, depending on the severity of the problem). To the greatest extent possible, it fixes WebScript weak type references. If the parser ever crashes while attempting to process a particular Objective-C construct, an exception is raised indicating at which line the error occurred, after which parsing continues. JavaConverter Features 1
2 In the event that the parser crashes, you can fix the original source and re-parse the problem files one at a time. This release of the JavaConverter has been tested against all of our major Objective-C frameworks (WebObjects, EOControl, EOAccess). The JavaConverter is extensible simply by dropping tops scripts into designated directories (these are all located in the /Library/WebObjects/Java/Conversion directory): PreScriptsObjCWos: tops scripts executed on every.c,.m, or.wos file before their conversion. PostScriptsBridgedJavaToPure: tops scripts executed on every.java file after their conversion (unless -tobridgedjava is specified). PostScriptsD2WModelToPure: tops scripts executed on every.d2wmodel file after their conversion (unless -tobridgedjava is specified). PostScriptsWodToPure: tops scripts executed on every.wod file after their conversion (unless -tobridgedjava is specified). PostScriptsObjCWosToPure: tops scripts executed on every.c,.m, or.wos file after their conversion (unless -tobridgedjava is specified). PostScriptsAllToPure: tops scripts executed on every.c,.m,.wos, or.java file after their conversion (unless -tobridgedjava is specified), after all other scripts. PostScriptsObjCWosToBridged: tops scripts executed on every.c,.m, or.wos file after their conversion (only if -tobridgedjava is specified). Note the following: Within each of the above directories, scripts are run in alphabetical order. The order in which replace commands are executed by tops is important. Do not move them around in the scripts provided with JavaConverter. The tops man pages have more information about tops scripts. It s important to understand that although the JavaConverter does the majority of the work needed to convert your code, it does not in fact, cannot perform a complete conversion. Thus, the converted code will not compile until you have reviewed it and made a number of manual adjustments. 2 JavaConverter Features
3 Format Hints to the Cross-Compiler The JavaConverter is savvy enough to recognize some printing methods that take formatting information and at least partially convert them into Java. For instance, if in your original code you had something like fprintf(stderr, %s has visited this site %d times., username, userhitcount ); the JavaConverter would recognize the fprintf call and would generate System.err.println( username + has visited this site + userhitcount + times. ); Clearly, some tidying up may still be needed, but the chore of cleaning up the formatting is completed for you. The JavaConverter can only do these conversions if it recognizes the method names (printf, fprintf, stringwithformat, and NSLog, for example). If, however, you implement a method named superlog, for example, that takes style formatting arguments like printf does, it would be very convenient to have the JavaConverter appropriately convert uses of this method as well. In order to render your methods visible to the JavaConverter (for the purpose of having the style formatting conversions performed), you can have a tops script located in the PreScriptsObjCWos directory that has a replace line to convert instances of superlog to superlog_formatted. The extra _formatted is picked up during conversion and the following: superlog_formatted( %d transactions processed., transactioncount ); would, after conversion, become superlog( transactioncount + transactions processed. ); Note that the JavaConverter also removes the _formatted part of the method name for you automatically. Additionally, if the streams involved in these calls apply to stderr or stdout, they will be converted into calls to System.err.println and System.out.println, respectively. However, if, for example, an fprintf stream is attached to something different, you would see the following error message: JC_ERROR - Unable to convert fprintf() as it applies to an unrecognized stream (neither stdout or stderr). JavaConverter Features 3
4 Limitations Naming Booleans The JavaConverter may incorrectly translate the Objective-C code BOOL firsttime = YES;... if( firsttime ) into the Java code boolean firsttime = true;... if( firsttime!= null ) // if(!firsttime ) is desired Note that this translation is not the desired one. JavaConverter does not recognize the types of variables and will treat each of them as an Object. More on Conditionals In Objective-C, the following makes sense and is something of a time-saver: if(![value length] ) However, the precise meaning of this conditional is somewhat ambiguous and might be 1. if( [value length] == 0 ) // int, but could be double, float, and so on 2. if( [value length] == nil ) 3. if( [value length] == NULL ) 4. if( [value length] == FALSE ) Regardless, a translation cannot be performed correctly for all of the cases, as the type returned by the length method cannot simply be assumed. The default behavior for the JavaConverter in this case is to generate the code if( value.length() == null ) 4 JavaConverter Features
5 This correctly covers cases 2 and 3; additionally, case 4 could be handled by naming the methods beginning with is, are, was, were, has, have, equals, does, ends, starts, or bool. Case 1 cannot be handled properly by the JavaConverter. Messages to nil While Objective-C allows for messages sent to nil (which are simply ignored), Java s typing and lack of messaging thoroughly disallow behavior like this: methods called on null-valued variables of nonprimitive types always raise NullPointerExceptions in Java. The JavaConverter has no mechanism by which to positively identify when messages in Objective-C code raise NullPointerExceptions after conversion to Java in any case, frequently this is simply an issue discovered at runtime. Please be aware of this conversion issue and attend to your converted Java code accordingly. Format Hints to the Cross-Compiler The JavaConverter has the following limitations: Due to the fact that certain language conventions available in Objective-C do not translate well (or at all) into Java, there are limitations to the JavaConverter s abilities. Some of these sticking points can be gotten around or somehow avoided and others cannot. A few issues to keep in mind about the translation process are listed below: C code parsing is handled correctly, but this is not a C-to-Java converter. Structures are essentially converted to Object, but pointers to functions and other C constructions that make no sense in Objective-C are ignored. C libraries, C functions, UNIX functions, MFC (Microsoft Foundation Class) functions, Objective-C runtime functions, and embedded assembly code in Objective-C are not converted. Java is a strongly typed language, and moving from a less strongly typed language to Java is bound to lead to uncertainties. At this point, the converter is not able to do type introspection to resolve unknown types. Some types may be omitted when Java requires them, and some checks for null value may be missing in the Java classes after conversion. Specifically, when the JavaConverter converts if([receiver method:target]) to JavaConverter Features 5
6 if(receiver.method(target)!=null), any method whose name starts with is, are, was, were, has, have, had, equals, does, ends, starts, or bool is assumed to return a boolean. constructs aren t handled. All constructs, however, are. The converter does not preserve the original indentation of the code and may move comments from one line to another. The converter cannot analyze the code with much depth and thus works best with straightforward code. Running the JavaConverter You should only run the JavaConverter on projects or files that successfully compile under WebObjects 4.5. On Mac OS X Server 1.2, go to the JavaConverter.woa directory and invoke the converter as follows:./javaconverter [-tobridgedjava] [-header file-containing-headers] [-cppflags file-containing-cpp-flags] project-directory Objective-C-source-file bridged-java-source-file WebScript-file On Windows NT, go to the JavaConverter.woa directory and invoke the converter as follows:./javaconverter.cmd [-tobridgedjava] [-header file-containing-headers] [-cppflags file-containing-cpp-flags] project-directory Objective-C-source-file bridged-java-source-file WebScript-file In both of the above, project-directory is the path to a WebObjects project directory (the directory that contains the PB.project file). On Mac OS X perform the following steps: 1. Start Project Builder. The Project Builder application is located in the /System/Developer/Applications directory. 6 Running the JavaConverter
7 2. Choose File > Import Project. 3. Select Import PB.project in the Project Import Assistant window and click Next. 4. Enter the necessary project information and click Finish. Project Builder automatically creates your new project. The -tobridgedjava flag indicates whether you want to stop the conversion at the bridged Java stage. At this stage, the code can still execute on WebObjects 4.5. The -header command line option lets you specify the name of a file that contains extra comments, package specifications, or import information that you want to add to each source file that gets converted. An example file might be: /* Copyright Apple Computer, 2000 owner fjouaux */ package com.webobjects.javaconverter; import com.webobjects.foundation.*; The -cppflags command line option lets you specify the name of a file containing extra arguments that the JavaConverter passes to the cpp preprocessor when converting Objective-C source files. Be sure to specify these arguments on a single line in the file. See the man pages for cpp for a list of valid preprocessor flags. When you invoke the JavaConverter on a project, it does all of its work in a copy of the specified project; the original is not touched. When it is first invoked on a WebObjects project, the JavaConverter copies the entire project directory to a parallel directory named after the original with the word Java appended. Thus, if you run the JavaConverter on the LocalizedHelloWorld example, the JavaConverter first copies the entire project to LocalizedHelloWorldJava. Then it scans the LocalizedHelloWorldJava directory and read the PB.project file updates the PB.project file runs the various tops scripts in the PreScriptsObjCWos directory scans each.h file, each.m file, and each.wos file generates a set of.java files, one for each.h/.m pair and one for each.wos file runs the various tops scripts in the PostScriptsObjCWosToBridged directory Running the JavaConverter 7
8 When the JavaConverter is invoked on a single source file, instead of making a copy of the entire project, it creates a ppfiles directory within the project and does its work there. The resulting.java file, however, appears in the project alongside the original.h/.m or.wos file. If you are converting a single bridged Java file to pure Java, the converted file appears in a directory called.purejava. WARNING The JavaConverter will overwrite a preexisting.java file if its name corresponds to an existing.h/.m or.wos file. For instance, if your project contains both Foo.m and Foo.java, when you run the JavaConverter on Foo.m it will overwrite Foo.java. WARNING The JavaConverter may fail silently if it cannot parse the source code. Always make sure that your code compiles under WebObjects 4.5 before you convert it. Regenerating the Project Makefile Because the source files have changed (from Objective-C to Java, say), the makefile is no longer applicable. As part of its work when processing an entire WebObjects project, the JavaConverter deletes the makefile in the copy of the project directory being processed. After the JavaConverter is done, you ll need to have ProjectBuilder create a new makefile for the project. Here s how to do this on Mac OS X Server 1.2: 1. Using Project Builder, open the PB.project file in the Java project directory. 2. Select Classes. In the classes list, Control-drag one of the.java files to a different location in the list (this changes the build order, indicating to ProjectBuilder that the makefile needs to be regenerated). 3. Save the project. 4. Perform a make clean. On Windows NT, the following procedure will cause Project Builder to generate a new makefile: 1. Using Project Builder, open the PB.project file in the Java project directory. 2. Select any project file and remove it from the project (only don t remove it from the disk!). 8 Running the JavaConverter
9 3. Add the file deleted in the previous step back into the project. 4. Save the project. 5. Perform a make clean. After Conversion Once the JavaConverter has done its work, you ll need to inspect the generated Java source code and make manual adjustments in order to get the code to compile. Simply attempting to compile the resulting code is one way to quickly pinpoint many problem areas. It is also important to browse through the generated code and look for comments tagged JC_ERROR, JC_WARNING, or JC_INFO; these messages indicate areas where the JavaConverter may have had difficulty determining exactly what to generate. Dealing With Errors In normal operation, the JavaConverter sends messages similar to the following to the terminal window: JavaConverter /tmp/pitsaw Reading MacOSXServerClassPath.txt... Launching JavaConverter... java -classpath /tmp/javaconverter/resources/java/javaconverter.zip:/ System/ Library/Frameworks/JavaVM.framework/Classes/classes.jar Application -tobridgedjava /tmp/pitsaw *********** JavaConverter To Bridged Java Only *********** JavaConverter Version 0.9: Copied Project directory to: /tmp/pitsawjava JavaConverter Version 0.9: Converting file: /tmp/pitsaw/pb.project JavaConverter Version 0.9: Converting file: /tmp/pitsawjava/application.h Preprocessed file is /tmp/pitsawjava/ppfiles/application.h There were at least 0 errors during parsing & porting. Occasionally, while running the JavaConverter on a file or project, it may suddenly output a long backtrace in the terminal. This indicates that the parser failed to entirely convert the current file. Although the JavaConverter s parser has been made as reliable as possible, we cannot anticipate all possible source code constructs which may be in use. Such problem files will be converted only to the Running the JavaConverter 9
10 point where the failure occurred. All other files will be converted independently of this error (if you are converting a project). You can then fix each problem file and reconvert just those files. To guide you in identifying the source of conversion problems, should save the output log of your conversion. This can be accomplished by adding an output-redirection command to the end of the converter s launch arguments; on a Unix-based platform this addition would be something like tee $HOME/java.log and on a Windows platform this addition would be like tee %HOME%\java.log (of course, any valid path may be specified). Note that on Windows the JavaConverter.cmd executable opens a new window without a scrollbar that closes at the end of the conversion process redirecting the output log to a file is especially helpful in this case. In the event of an error, if you scroll through this log, before the backtrace there is a statement that ends Encountered errors during parse. Above this statement is a line that tells you which file was being converted (note that this is not the original file, but a preprocessed file under a ppfiles directory). For example, here is a portion of a JavaConverter output log: JavaConverter Version 0.9: Converting file: /tmp/javaconverter/test.m Preprocessed file is /tmp/javaconverter/ppfiles/test.m JavaConverter Version 0.9: Encountered errors during parse. com.webobjects.javaconverter.parseexception: Encountered { at line 60, column 30. Was expecting one of: When investigating the source of the error, be sure to check the version of the file in the ppfiles directory the line and column numbers aren t likely to indicate the correct spot in the original source file. When altering your source code in an attempt to work around the error, however, you ll need to make your corrections in the original source file not the version in the ppfiles directory. Once you have made your corrections you can again try to convert the problem files. Typically, parsing errors come from macros that could not be resolved by the preprocessor. This often occurs when the project being converted would not compile on the machine because the preprocessor does not know where to find the header files needed to resolve the macros. To specify header files, use the -cppflags command line option. 10 Running the JavaConverter
11 FileNotFoundException When processing either a single file or an entire WebObjects project, the JavaConverter will raise a FileNotFoundException if either the file being processed or the project directory itself is read-only. When this error occurs during the processing of an entire project, the original read-only source file will also remain in the converted project directory. To avoid this problem, make sure that the project directory and all files and directories within it are writable. Note that there is no risk in making the files writable since a copy of the project is made before conversion and all processing takes place only in the copy. Errors During WebScript Conversion A WEBSCRIPT FILE CONVERSION FAILED message indicates that the JavaConverter doesn t understand the WebScript file s syntax and cannot proceed. To help you to isolate the problem code, the JavaConverter logs the exact command it executed to convert the WebScript file. Cut and paste this command into a terminal window to see the exact reason for the exception. Guided by the information provided, correct the WebScript file and restart the JavaConverter. Note: As explained in How the JavaConverter Works (page 12), WebScript is first converted to pseudo Objective-C, which is then converted to bridged Java. This pseudo Objective-C isn t sufficient for compilation it doesn t invoke autorelease or retain, for instance and is only intended to be converted to Java. Failures during WebScript conversion are extremely rare (assuming that your WebScript file is legal). There is currently only one known WebScript construct that can bring about such a failure: an inlined array or dictionary definition. For example, the following will cause the JavaConverter to fail: list { "label" = "Alpha"; "value" = "A";), {...}); The addition of two characters, as shown here, will clarify things and enable the JavaConverter to correctly interpret the code: "label" = "Alpha"; "value" = Running the JavaConverter 11
12 How the JavaConverter Works The JavaConverter contains a Java-based tool, which first duplicates the project being converted and then in the duplicate works on each class and header file found in the project and its subprojects. The Objective-C-to-Java conversion itself is based on javacc, SUN s parser generator. By supplying an Objective-C grammar to this parser, we were able to create what is essentially an Objective-C compiler that generates non-compiled Java classes. Objective-C files are first preprocessed using the gnu preprocessor to resolve macros and headers, then the code is parsed into a graph of objects and regenerated in Java. The WebScript-to-Java conversion is done in two steps. A separate Objective-C tool based on the MultiScript framework (WebScript s engine) parses scripted files and generates pseudo Objective-C classes. We then feed this intermediate code to the Objective-C-to-Java parser to generate Java classes. Bridged Java class files are left untouched (except by the tops scripts), so the conversion process can be run on WebObjects applications and frameworks that are written in a mixture of Objective-C, WebScript, and bridged Java. Finally the project is reconstructed, adding each class and, if, necessary, new helper classes back to the appropriate project and subprojects. Conversion Gotchas Hiding Code from the JavaConverter In some cases (for instance, if you know beforehand that a conversion may be handled incorrectly), it can be advantageous to prevent the JavaConverter from attempting a conversion on its own. Since comments in the original code are preserved, commenting-out blocks of problematic code can allow you to completely 12 How the JavaConverter Works
13 handle the conversion on your own with pre- and post-conversion scripts. Using a custom comment-marker (for instance, perhaps /** and **/) to shield a block from the JavaConverter would leave a simple hook for custom tops scripts to recognize. EOEditingContext Timestamp Datatypes In WebObjects 4.5, EOEditingContext s timestamp methods represented times as doubles in units of seconds. For instance // WebObjects 4.5 EOEditingContext timestamp-related method signatures public static double defaultfetchtimestamplag(); public static void setdefaultfetchtimestamplag(double); public double fetchtimestamp(); public void setfetchtimestamp(double); However, in WebObjects 5, the analogous methods now represent times as longs in units of milliseconds: // WebObjects 5 EOEditingContext timestamp-related method signatures public static long defaultfetchtimestamplag(); public static void setdefaultfetchtimestamplag(long); public long fetchtimestamp(); public void setfetchtimestamp(long); While the use of a double or a long with these methods allows the programmer to discern unambiguously with which version of EOEditingContext one is dealing, the JavaConverter has no mechanism by which to account for the three orders-of-magnitude difference in the units of these timestamps (seconds in WebObjects 4.5 vs. milliseconds in WebObjects 5). Therefore, it is important that you take special care to account for the increased precision of these methods after a conversion. Conversion Gotchas 13
14 14 Conversion Gotchas
INTRODUCTION TO OBJECTIVE-C CSCI 4448/5448: OBJECT-ORIENTED ANALYSIS & DESIGN LECTURE 12 09/29/2011
INTRODUCTION TO OBJECTIVE-C CSCI 4448/5448: OBJECT-ORIENTED ANALYSIS & DESIGN LECTURE 12 09/29/2011 1 Goals of the Lecture Present an introduction to Objective-C 2.0 Coverage of the language will be INCOMPLETE
Hypercosm. Studio. www.hypercosm.com
Hypercosm Studio www.hypercosm.com Hypercosm Studio Guide 3 Revision: November 2005 Copyright 2005 Hypercosm LLC All rights reserved. Hypercosm, OMAR, Hypercosm 3D Player, and Hypercosm Studio are trademarks
Xcode Project Management Guide. (Legacy)
Xcode Project Management Guide (Legacy) Contents Introduction 10 Organization of This Document 10 See Also 11 Part I: Project Organization 12 Overview of an Xcode Project 13 Components of an Xcode Project
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
The C Programming Language course syllabus associate level
TECHNOLOGIES The C Programming Language course syllabus associate level Course description The course fully covers the basics of programming in the C programming language and demonstrates fundamental programming
1 Introduction. 2 An Interpreter. 2.1 Handling Source Code
1 Introduction The purpose of this assignment is to write an interpreter for a small subset of the Lisp programming language. The interpreter should be able to perform simple arithmetic and comparisons
Moving from CS 61A Scheme to CS 61B Java
Moving from CS 61A Scheme to CS 61B Java Introduction Java is an object-oriented language. This document describes some of the differences between object-oriented programming in Scheme (which we hope you
TZWorks Windows Event Log Viewer (evtx_view) Users Guide
TZWorks Windows Event Log Viewer (evtx_view) Users Guide Abstract evtx_view is a standalone, GUI tool used to extract and parse Event Logs and display their internals. The tool allows one to export all
PHP Debugging. Draft: March 19, 2013 2013 Christopher Vickery
PHP Debugging Draft: March 19, 2013 2013 Christopher Vickery Introduction Debugging is the art of locating errors in your code. There are three types of errors to deal with: 1. Syntax errors: When code
DataFlex Connectivity Kit For ODBC User's Guide. Version 2.2
DataFlex Connectivity Kit For ODBC User's Guide Version 2.2 Newsgroup: news://dataaccess.com/dac-public-newsgroups.connectivity- Kit_Support Internet Address (URL): http://www.dataaccess.com FTP Site:
CRM Setup Factory Installer V 3.0 Developers Guide
CRM Setup Factory Installer V 3.0 Developers Guide Who Should Read This Guide This guide is for ACCPAC CRM solution providers and developers. We assume that you have experience using: Microsoft Visual
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
How To Port A Program To Dynamic C (C) (C-Based) (Program) (For A Non Portable Program) (Un Portable) (Permanent) (Non Portable) C-Based (Programs) (Powerpoint)
TN203 Porting a Program to Dynamic C Introduction Dynamic C has a number of improvements and differences compared to many other C compiler systems. This application note gives instructions and suggestions
Contents CHAPTER 1 IMail Utilities
Contents CHAPTER 1 IMail Utilities CHAPTER 2 Collaboration Duplicate Entry Remover... 2 CHAPTER 3 Disk Space Usage Reporter... 3 CHAPTER 4 Forward Finder... 4 CHAPTER 5 IMAP Copy Utility... 5 About IMAP
Errors That Can Occur When You re Running a Report From Tigerpaw s SQL-based System (Version 9 and Above) Modified 10/2/2008
Errors That Can Occur When You re Running a Report From Tigerpaw s SQL-based System (Version 9 and Above) Modified 10/2/2008 1 Introduction The following is an explanation of some errors you might encounter
FileMaker 11. ODBC and JDBC Guide
FileMaker 11 ODBC and JDBC Guide 2004 2010 FileMaker, Inc. All Rights Reserved. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker is a trademark of FileMaker, Inc. registered
Getting Started with the Internet Communications Engine
Getting Started with the Internet Communications Engine David Vriezen April 7, 2014 Contents 1 Introduction 2 2 About Ice 2 2.1 Proxies................................. 2 3 Setting Up ICE 2 4 Slices 2
Source Code Translation
Source Code Translation Everyone who writes computer software eventually faces the requirement of converting a large code base from one programming language to another. That requirement is sometimes driven
CatDV Pro Workgroup Serve r
Architectural Overview CatDV Pro Workgroup Server Square Box Systems Ltd May 2003 The CatDV Pro client application is a standalone desktop application, providing video logging and media cataloging capability
Xcode User Default Reference. (Legacy)
Xcode User Default Reference (Legacy) Contents Introduction 5 Organization of This Document 5 Software Version 5 See Also 5 Xcode User Defaults 7 Xcode User Default Overview 7 General User Defaults 8 NSDragAndDropTextDelay
ACCESS 2007. Importing and Exporting Data Files. Information Technology. MS Access 2007 Users Guide. IT Training & Development (818) 677-1700
Information Technology MS Access 2007 Users Guide ACCESS 2007 Importing and Exporting Data Files IT Training & Development (818) 677-1700 [email protected] TABLE OF CONTENTS Introduction... 1 Import Excel
Installing (1.8.7) 9/2/2009. 1 Installing jgrasp
1 Installing jgrasp Among all of the jgrasp Tutorials, this one is expected to be the least read. Most users will download the jgrasp self-install file for their system, doubleclick the file, follow the
TIBCO Enterprise Administrator Release Notes
TIBCO Enterprise Administrator Release Notes Software Release 2.2.0 March 2015 Two-Second Advantage 2 Important SOME TIBCO SOFTWARE EMBEDS OR BUNDLES OTHER TIBCO SOFTWARE. USE OF SUCH EMBEDDED OR BUNDLED
IBM BPM V8.5 Standard Consistent Document Managment
IBM Software An IBM Proof of Technology IBM BPM V8.5 Standard Consistent Document Managment Lab Exercises Version 1.0 Author: Sebastian Carbajales An IBM Proof of Technology Catalog Number Copyright IBM
ODBC Client Driver Help. 2015 Kepware, Inc.
2015 Kepware, Inc. 2 Table of Contents Table of Contents 2 4 Overview 4 External Dependencies 4 Driver Setup 5 Data Source Settings 5 Data Source Setup 6 Data Source Access Methods 13 Fixed Table 14 Table
Sonatype CLM Enforcement Points - Continuous Integration (CI) Sonatype CLM Enforcement Points - Continuous Integration (CI)
Sonatype CLM Enforcement Points - Continuous Integration (CI) i Sonatype CLM Enforcement Points - Continuous Integration (CI) Sonatype CLM Enforcement Points - Continuous Integration (CI) ii Contents 1
Programming Assignment II Due Date: See online CISC 672 schedule Individual Assignment
Programming Assignment II Due Date: See online CISC 672 schedule Individual Assignment 1 Overview Programming assignments II V will direct you to design and build a compiler for Cool. Each assignment will
Virtuozzo Virtualization SDK
Virtuozzo Virtualization SDK Programmer's Guide February 18, 2016 Copyright 1999-2016 Parallels IP Holdings GmbH and its affiliates. All rights reserved. Parallels IP Holdings GmbH Vordergasse 59 8200
The Real Challenges of Configuration Management
The Real Challenges of Configuration Management McCabe & Associates Table of Contents The Real Challenges of CM 3 Introduction 3 Parallel Development 3 Maintaining Multiple Releases 3 Rapid Development
C++ INTERVIEW QUESTIONS
C++ INTERVIEW QUESTIONS http://www.tutorialspoint.com/cplusplus/cpp_interview_questions.htm Copyright tutorialspoint.com Dear readers, these C++ Interview Questions have been designed specially to get
An Introduction to Using the Command Line Interface (CLI) to Work with Files and Directories
An Introduction to Using the Command Line Interface (CLI) to Work with Files and Directories Windows by bertram lyons senior consultant avpreserve AVPreserve Media Archiving & Data Management Consultants
Code::Blocks Student Manual
Code::Blocks Student Manual Lawrence Goetz, Network Administrator Yedidyah Langsam, Professor and Theodore Raphan, Distinguished Professor Dept. of Computer and Information Science Brooklyn College of
Expedite for Windows Software Development Kit Programming Guide
GXS EDI Services Expedite for Windows Software Development Kit Programming Guide Version 6 Release 2 GC34-3285-02 Fifth Edition (November 2005) This edition replaces the Version 6.1 edition. Copyright
Teamstudio USER GUIDE
Teamstudio Software Engineering Tools for IBM Lotus Notes and Domino USER GUIDE Edition 30 Copyright Notice This User Guide documents the entire Teamstudio product suite, including: Teamstudio Analyzer
Server & Workstation Installation of Client Profiles for Windows
C ase Manag e m e n t by C l i e n t P rofiles Server & Workstation Installation of Client Profiles for Windows T E C H N O L O G Y F O R T H E B U S I N E S S O F L A W General Notes to Prepare for Installing
RAID Utility User Guide. Instructions for setting up RAID volumes on a computer with a Mac Pro RAID Card or Xserve RAID Card
RAID Utility User Guide Instructions for setting up RAID volumes on a computer with a Mac Pro RAID Card or Xserve RAID Card Contents 3 RAID Utility User Guide 3 The RAID Utility Window 4 Running RAID Utility
IBM VisualAge for Java,Version3.5. Remote Access to Tool API
IBM VisualAge for Java,Version3.5 Remote Access to Tool API Note! Before using this information and the product it supports, be sure to read the general information under Notices. Edition notice This edition
Java Web Services SDK
Java Web Services SDK Version 1.5.1 September 2005 This manual and accompanying electronic media are proprietary products of Optimal Payments Inc. They are to be used only by licensed users of the product.
RAID Utility User s Guide Instructions for setting up RAID volumes on a computer with a MacPro RAID Card or Xserve RAID Card.
RAID Utility User s Guide Instructions for setting up RAID volumes on a computer with a MacPro RAID Card or Xserve RAID Card. 1 Contents 3 RAID Utility User s Guide 3 Installing the RAID Software 4 Running
The programming language C. sws1 1
The programming language C sws1 1 The programming language C invented by Dennis Ritchie in early 1970s who used it to write the first Hello World program C was used to write UNIX Standardised as K&C (Kernighan
Support Document: Microsoft SQL Server - LiveVault 7.6X
Contents Preparing to create a Microsoft SQL backup policy... 2 Adjusting the SQL max worker threads option... 2 Preparing for Log truncation... 3 Best Practices... 3 Microsoft SQL Server 2005, 2008, or
SW5706 Application deployment problems
SW5706 This presentation will focus on application deployment problem determination on WebSphere Application Server V6. SW5706G11_AppDeployProblems.ppt Page 1 of 20 Unit objectives After completing this
FileMaker Server 7 and FileMaker Server 7 Advanced Documentation Errata
FileMaker Server 7 and FileMaker Server 7 Advanced Documentation Errata The following pages clarify information or correct errors in the FileMaker Server 7 and FileMaker Server 7 Advanced documentation.
Code Estimation Tools Directions for a Services Engagement
Code Estimation Tools Directions for a Services Engagement Summary Black Duck software provides two tools to calculate size, number, and category of files in a code base. This information is necessary
Installing, Uninstalling, and Upgrading Service Monitor
CHAPTER 2 Installing, Uninstalling, and Upgrading Service Monitor This section contains the following topics: Preparing to Install Service Monitor, page 2-1 Installing Cisco Unified Service Monitor, page
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.
RUnit - A Unit Test Framework for R
RUnit - A Unit Test Framework for R Thomas König, Klaus Jünemann, and Matthias Burger Epigenomics AG November 5, 2015 Contents 1 Introduction 2 2 The RUnit package 4 2.1 Test case execution........................
Waspmote IDE. User Guide
Waspmote IDE User Guide Index Document Version: v4.1-01/2014 Libelium Comunicaciones Distribuidas S.L. INDEX 1. Introduction... 3 1.1. New features...3 1.2. Other notes...3 2. Installation... 4 2.1. Windows...4
Enhanced Connector Applications SupportPac VP01 for IBM WebSphere Business Events 3.0.0
Enhanced Connector Applications SupportPac VP01 for IBM WebSphere Business Events 3.0.0 Third edition (May 2012). Copyright International Business Machines Corporation 2012. US Government Users Restricted
Gentran Integration Suite. Archiving and Purging. Version 4.2
Gentran Integration Suite Archiving and Purging Version 4.2 Copyright 2007 Sterling Commerce, Inc. All rights reserved. Additional copyright information is located on the Gentran Integration Suite Documentation
IBM Emptoris Contract Management. Release Notes. Version 10.0.1.5 GI13-3418-09
IBM Emptoris Management Release Notes Version 10.0.1.5 GI13-3418-09 Note: Before using this information and the product it supports, read the information in Notices on page 75. Copyright IBM Corporation
Upgrading to advanced editions of Acronis Backup & Recovery 10. Technical white paper
Upgrading to advanced editions of Acronis Backup & Recovery 10 Technical white paper Table of contents 1 Introduction...3 2 Choosing the way to upgrade...3 2.1 Gradual upgrade... 3 2.2 Importing backup
Example of Standard API
16 Example of Standard API System Call Implementation Typically, a number associated with each system call System call interface maintains a table indexed according to these numbers The system call interface
Legal Notes. Regarding Trademarks. 2012 KYOCERA Document Solutions Inc.
Legal Notes Unauthorized reproduction of all or part of this guide is prohibited. The information in this guide is subject to change without notice. We cannot be held liable for any problems arising from
How to Write a Simple Makefile
Chapter 1 CHAPTER 1 How to Write a Simple Makefile The mechanics of programming usually follow a fairly simple routine of editing source files, compiling the source into an executable form, and debugging
BACKITUP Online. Error Codes & Fixes
BACKITUP Online Error Codes & Fixes General backup errors 1. "Quota Exceeded" This means that the backup account has run out of its allocated quota. Please contact your administrator (or backup services
1 Introduction FrontBase is a high performance, scalable, SQL 92 compliant relational database server created in the for universal deployment.
FrontBase 7 for ios and Mac OS X 1 Introduction FrontBase is a high performance, scalable, SQL 92 compliant relational database server created in the for universal deployment. On Mac OS X FrontBase can
TIBCO Fulfillment Provisioning Session Layer for FTP Installation
TIBCO Fulfillment Provisioning Session Layer for FTP Installation Software Release 3.8.1 August 2015 Important Information SOME TIBCO SOFTWARE EMBEDS OR BUNDLES OTHER TIBCO SOFTWARE. USE OF SUCH EMBEDDED
Install Java Development Kit (JDK) 1.8 http://www.oracle.com/technetwork/java/javase/downloads/index.html
CS 259: Data Structures with Java Hello World with the IntelliJ IDE Instructor: Joel Castellanos e-mail: joel.unm.edu Web: http://cs.unm.edu/~joel/ Office: Farris Engineering Center 319 8/19/2015 Install
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
TechComplete Test Productivity Pack (TPP) Backup Process and Data Restoration
Introduction The TPP backup feature backs up all TPP data folders on to a storage device which can be used to recover data in case of problems with the TPP server. TPP data folders include TPP server data,
Frequently Asked Questions
Frequently Asked Questions Share Drive Frequently Asked Questions Table of Contents How do I change my password?... How do I reset my password if I forgot it?... How do I share files/folders with Groups
Week 2 Practical Objects and Turtles
Week 2 Practical Objects and Turtles Aims and Objectives Your aim in this practical is: to practise the creation and use of objects in Java By the end of this practical you should be able to: create objects
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...
Creating a Guest Book Using WebObjects Builder
Creating a Guest Book Using WebObjects Builder Creating a Guest Book Using WebObjects BuilderLaunch WebObjects Builder WebObjects Builder is an application that helps you create WebObjects applications.
Backing Up TestTrack Native Project Databases
Backing Up TestTrack Native Project Databases TestTrack projects should be backed up regularly. You can use the TestTrack Native Database Backup Command Line Utility to back up TestTrack 2012 and later
McAfee epolicy Orchestrator 5.0.0 Software
Log File Reference Guide McAfee epolicy Orchestrator 5.0.0 Software The log files detailed in this guide represent a subset of all McAfee epolicy Orchestrator log files, with particular attention to the
Decision Support System Software Asset Management (SAM)
DecisionSupportSystem SoftwareAssetManagement(SAM) ReleaseNotes Version1.2.3 May,2010 BigFix DSSSAM1.2.3 2009-2010 BigFix, Inc. All rights reserved. BigFix, Fixlet, Relevance Engine, Powered by BigFix
How To Use A Pmsft On A Pc Or Mac Or Mac (For Mac) With A Pmf (For Pc) Or Mac Mac (Or Mac) On A Mac Or Pc (For Pmsf) On An Ipad
Capario Secure File Transfer User Guide Notices This user guide (the Guide ) is provided by Capario in order to facilitate your use of the Capario Secure File Transfer Software. This Guide is subject to
Mobile App Design Project #1 Java Boot Camp: Design Model for Chutes and Ladders Board Game
Mobile App Design Project #1 Java Boot Camp: Design Model for Chutes and Ladders Board Game Directions: In mobile Applications the Control Model View model works to divide the work within an application.
TIBCO ActiveMatrix BusinessWorks Plug-in for Big Data User s Guide
TIBCO ActiveMatrix BusinessWorks Plug-in for Big Data User s Guide Software Release 1.0 November 2013 Two-Second Advantage Important Information SOME TIBCO SOFTWARE EMBEDS OR BUNDLES OTHER TIBCO SOFTWARE.
Auditing manual. Archive Manager. Publication Date: November, 2015
Archive Manager Publication Date: November, 2015 All Rights Reserved. This software is protected by copyright law and international treaties. Unauthorized reproduction or distribution of this software,
Using the Studio Source Control Hooks
Using the Studio Source Control Hooks Version 2008.1 29 January 2008 InterSystems Corporation 1 Memorial Drive Cambridge MA 02142 www.intersystems.com Using the Studio Source Control Hooks Caché Version
SnapLogic Salesforce Snap Reference
SnapLogic Salesforce Snap Reference Document Release: October 2012 SnapLogic, Inc. 71 East Third Avenue San Mateo, California 94401 U.S.A. www.snaplogic.com Copyright Information 2012 SnapLogic, Inc. All
Improve Fortran Code Quality with Static Analysis
Improve Fortran Code Quality with Static Analysis This document is an introductory tutorial describing how to use static analysis on Fortran code to improve software quality, either by eliminating bugs
Ajera 7 Installation Guide
Ajera 7 Installation Guide Ajera 7 Installation Guide NOTICE This documentation and the Axium software programs may only be used in accordance with the accompanying Axium Software License and Services
Version 1.5 Satlantic Inc.
SatCon Data Conversion Program Users Guide Version 1.5 Version: 1.5 (B) - March 09, 2011 i/i TABLE OF CONTENTS 1.0 Introduction... 1 2.0 Installation... 1 3.0 Glossary of terms... 1 4.0 Getting Started...
Copyright Texthelp Limited All rights reserved. No part of this publication may be reproduced, transmitted, transcribed, stored in a retrieval
Copyright Texthelp Limited All rights reserved. No part of this publication may be reproduced, transmitted, transcribed, stored in a retrieval system, or translated into any language, in any form, by any
SAS Drug Development Release Notes 35DRG07
SAS Drug Development Release Notes 35DRG07 SAS Drug Development (SDD) 3.5 is validated to work with/on the following technologies: MS Windows: Windows 7 and Windows XP Mac OS X: Snow Leopard (10.6) Internet
APNS Certificate generating and installation
APNS Certificate generating and installation Quick Guide for generating and installing an Apple APNS Certificate Version: x.x MobiDM Quick Guide for APNS Certificate Page 1 Index 1. APPLE APNS CERTIFICATE...
FileMaker 12. ODBC and JDBC Guide
FileMaker 12 ODBC and JDBC Guide 2004 2012 FileMaker, Inc. All Rights Reserved. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker and Bento are trademarks of FileMaker, Inc.
Eclipse IDE for Embedded AVR Software Development
Eclipse IDE for Embedded AVR Software Development Helsinki University of Technology Jaakko Ala-Paavola February 17th, 2006 Version 0.2 Abstract This document describes how to set up Eclipse based Integrated
Eventia Log Parsing Editor 1.0 Administration Guide
Eventia Log Parsing Editor 1.0 Administration Guide Revised: November 28, 2007 In This Document Overview page 2 Installation and Supported Platforms page 4 Menus and Main Window page 5 Creating Parsing
Witango Application Server 6. Installation Guide for OS X
Witango Application Server 6 Installation Guide for OS X January 2011 Tronics Software LLC 503 Mountain Ave. Gillette, NJ 07933 USA Telephone: (570) 647 4370 Email: [email protected] Web: www.witango.com
A lot of people use the terms Bill of Materials and Parts List interchangeably. However, in Inventor 10 they are two different but related things.
BOM 101 Bill of Materials and Parts Lists A lot of people use the terms Bill of Materials and Parts List interchangeably. However, in Inventor 10 they are two different but related things. Bill of Materials
MOVES Batch Mode: Setting up and running groups of related MOVES run specifications. EPA Office of Transportation and Air Quality 11/3/2010
MOVES Batch Mode: Setting up and running groups of related MOVES run specifications EPA Office of Transportation and Air Quality 11/3/2010 Webinar Logistics Please use question box to send any questions
webmethods Certificate Toolkit
Title Page webmethods Certificate Toolkit User s Guide Version 7.1.1 January 2008 webmethods Copyright & Document ID This document applies to webmethods Certificate Toolkit Version 7.1.1 and to all subsequent
Elixir Schedule Designer User Manual
Elixir Schedule Designer User Manual Release 7.3 Elixir Technology Pte Ltd Elixir Schedule Designer User Manual: Release 7.3 Elixir Technology Pte Ltd Published 2008 Copyright 2008 Elixir Technology Pte
Office of History. Using Code ZH Document Management System
Office of History Document Management System Using Code ZH Document The ZH Document (ZH DMS) uses a set of integrated tools to satisfy the requirements for managing its archive of electronic documents.
Programming Project 1: Lexical Analyzer (Scanner)
CS 331 Compilers Fall 2015 Programming Project 1: Lexical Analyzer (Scanner) Prof. Szajda Due Tuesday, September 15, 11:59:59 pm 1 Overview of the Programming Project Programming projects I IV will direct
Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science
Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science 6.035, Fall 2005 Handout 7 Scanner Parser Project Wednesday, September 7 DUE: Wednesday, September 21 This
NETWORK PRINT MONITOR User Guide
NETWORK PRINT MONITOR User Guide Legal Notes Unauthorized reproduction of all or part of this guide is prohibited. The information in this guide is subject to change without notice. We cannot be held liable
ODBC Driver Version 4 Manual
ODBC Driver Version 4 Manual Revision Date 12/05/2007 HanDBase is a Registered Trademark of DDH Software, Inc. All information contained in this manual and all software applications mentioned in this manual
TIBCO Hawk SNMP Adapter Installation
TIBCO Hawk SNMP Adapter Installation Software Release 4.9.0 November 2012 Two-Second Advantage Important Information SOME TIBCO SOFTWARE EMBEDS OR BUNDLES OTHER TIBCO SOFTWARE. USE OF SUCH EMBEDDED OR
End Users Guide VERSION 9.2 JULY 2003
End Users Guide VERSION 9.2 JULY 2003 COPYRIGHT NOTICE 2003 Macrovision Corporation. All rights reserved. Macrovision products contain certain confidential information of Macrovision Corporation. Use of
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 $$
Adding a DNS Update Step to a Recovery Plan VMware vcenter Site Recovery Manager 4.0 and later
Technical Note Adding a Update Step to a Recovery Plan VMware vcenter Site Recovery Manager 4.0 and later VMware vcenter Site Recovery Manager 4.0 includes tools that enable scripted updates of records
Setting Up Person Accounts
Setting Up Person Accounts Salesforce, Winter 16 @salesforcedocs Last updated: November 4, 2015 Copyright 2000 2015 salesforce.com, inc. All rights reserved. Salesforce is a registered trademark of salesforce.com,
