Sun Microsystems 2 manual

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58

Go to page of

A good user manual

The rules should oblige the seller to give the purchaser an operating instrucion of Sun Microsystems 2, along with an item. The lack of an instruction or false information given to customer shall constitute grounds to apply for a complaint because of nonconformity of goods with the contract. In accordance with the law, a customer can receive an instruction in non-paper form; lately graphic and electronic forms of the manuals, as well as instructional videos have been majorly used. A necessary precondition for this is the unmistakable, legible character of an instruction.

What is an instruction?

The term originates from the Latin word „instructio”, which means organizing. Therefore, in an instruction of Sun Microsystems 2 one could find a process description. An instruction's purpose is to teach, to ease the start-up and an item's use or performance of certain activities. An instruction is a compilation of information about an item/a service, it is a clue.

Unfortunately, only a few customers devote their time to read an instruction of Sun Microsystems 2. A good user manual introduces us to a number of additional functionalities of the purchased item, and also helps us to avoid the formation of most of the defects.

What should a perfect user manual contain?

First and foremost, an user manual of Sun Microsystems 2 should contain:
- informations concerning technical data of Sun Microsystems 2
- name of the manufacturer and a year of construction of the Sun Microsystems 2 item
- rules of operation, control and maintenance of the Sun Microsystems 2 item
- safety signs and mark certificates which confirm compatibility with appropriate standards

Why don't we read the manuals?

Usually it results from the lack of time and certainty about functionalities of purchased items. Unfortunately, networking and start-up of Sun Microsystems 2 alone are not enough. An instruction contains a number of clues concerning respective functionalities, safety rules, maintenance methods (what means should be used), eventual defects of Sun Microsystems 2, and methods of problem resolution. Eventually, when one still can't find the answer to his problems, he will be directed to the Sun Microsystems service. Lately animated manuals and instructional videos are quite popular among customers. These kinds of user manuals are effective; they assure that a customer will familiarize himself with the whole material, and won't skip complicated, technical information of Sun Microsystems 2.

Why one should read the manuals?

It is mostly in the manuals where we will find the details concerning construction and possibility of the Sun Microsystems 2 item, and its use of respective accessory, as well as information concerning all the functions and facilities.

After a successful purchase of an item one should find a moment and get to know with every part of an instruction. Currently the manuals are carefully prearranged and translated, so they could be fully understood by its users. The manuals will serve as an informational aid.

Table of contents for the manual

  • Page 1

    Sun Microsystems, Inc. www .sun.com Submit comments about this document at: http://java.sun.com/docs/forms/sendusmail.html SigT est T ool 2.0 User’ s Guide F or J a va™ Compatibility T est Suite De v elopers April 2008[...]

  • Page 2

    Please Recycle Copyright © 2008 Sun Microsystems, Inc., 4150 Network Cir cle, Santa Clara, California 95054, U.S.A. All rights reserved. THIS PRODUCT CONT AINS CONFIDENTIAL INFORMA TION AND TRADE SECRETS OF SUN MICROSYSTEMS, INC. USE, DISCLOSURE OR REPRODUCTION IS PROHIBITED WITHOUT THE PRIOR EXPRESS WRITTEN PERMISSION OF SUN MICROSYSTEMS, INC. U.[...]

  • Page 3

    iii Contents Preface xi 1. Introduction 1 Signature Test Basics 1 What is Tested 2 Mutual Binary Compatibility Check 2 Mutual Source Compatibility Check 3 Class and Class Member Attributes Checked 3 Source and Binary Compatibility Modes 4 Using Custom Signature Loaders 5 2. Using the Signature T est T ool 7 Signature Test Tool Basics 7 Reflection a[...]

  • Page 4

    iv Signature Test Tool 2.0 User’s Guide • April 2008 Merge Command Operative Principles 1 1 Element Handling by Merge 12 Setup Command 14 Command Description 14 Case Sensitivity of Command Arguments 16 Signature File Formats 16 Signature File Contents 17 Signature File Header 17 Signature File Body 18 SignatureTest Command 20 Command Descriptio[...]

  • Page 5

    Contents v Example Result Files 39 Index 43[...]

  • Page 6

    vi Signature Test Tool 2.0 User’s Guide • April 2008[...]

  • Page 7

    vii T ables TABLE 2-1 Settings for the Setup and SignatureTest Commands 10 TABLE 2-2 Setup Command Arguments 14 TABLE 2-3 Signature File Format Compatibility 16 TABLE 2-4 Signature File Content Summary 18 TABLE 2-5 SignatureTest Command Arguments 20 TABLE 2-6 SetupAndTest Command Argument 26 TABLE 2-7 Merge Command Arguments 28 TABLE A-1 Environmen[...]

  • Page 8

    viii Signature Test Tool 2.0 User’s Guide • April 2008[...]

  • Page 9

    ix Code Examples CODE EXAMPLE 2-1 Unsorted Report Example 25 CODE EXAMPLE A-1 The V1.0/test.java File 31 CODE EXAMPLE A-2 The test.sig File 31 CODE EXAMPLE A-3 The V2.0/test.java File 32 CODE EXAMPLE A-4 The report.txt File 33 CODE EXAMPLE A-5 SetupAndTest Command Output Example 35 CODE EXAMPLE A-6 Contents of ./x1.sig 39 CODE EXAMPLE A-7 Contents [...]

  • Page 10

    x Signature Test Tool 2.0 User’s Guide • April 2008[...]

  • Page 11

    xi Pr eface This guide describes how to install and run the SigT est tool. This tool is composed of a group of utilities used to develop signature test components that can be used to compare API test signatures. Note – For simplicity , this user ’s guide refers to the test harness as the JavaT est harness . Note that the open source version of [...]

  • Page 12

    xii Signature Test Tool 2.0 User’s Guide • April 2008 How This Guide Is Or ganized Chapter 1 describes SigT est tool and the purpose of signature testing. Chapter 2” provides a synopsis of each of the SigT est tool commands along with their available options and arguments. Appendix ” provides SigT est tool command examples that you can run [...]

  • Page 13

    Preface xiii T ypographic Conventions Sun W elcomes Y our Comments W e are inter ested in improving our documentation and welcome your comments and suggestions. Send us your comments at http://java.sun.com/docs/forms/sendusmail.html . T ypeface Meaning Examples AaBbCc123 The names of commands, files, and directories, or on-scr een computer output E[...]

  • Page 14

    xiv Signature Test Tool 2.0 User’s Guide • April 2008[...]

  • Page 15

    1 CHAPTER 1 Intr oduction The SigT est tool makes it possible to easily compare the signatures of two dif ferent implementations of the same API. It verifies that all of the members are pr esent, reports when new members are added, and checks the specif ied behavior of each API member . Signatur e T est Basics A signature test compar es two impleme[...]

  • Page 16

    2 Signature Test Tool 2.0 User’s Guide • April 2008 When used in a software development environment, SigT est tool can be used to track and control changes to an API thr oughout the development process. What is T ested The signature test algorithm compares the API implementation under test with a signature f ile created from the API you are com[...]

  • Page 17

    Chapter 1 Introduction 3 Mutual Sour ce Compatibility Check While binary compatibility is important, it cannot guarantee that an application in binary form as a set of class files can be r ecompiled without error . The signature test sour ce compatibility check mode verifies that any application that compiles without error with a compatible API, co[...]

  • Page 18

    4 Signature Test Tool 2.0 User’s Guide • April 2008 ■ In source mode only , the normalized list of thrown exceptions, described earlier , where order is insignif icant ■ Fields: ■ Set of modifiers, except transient ■ Field type ■ Documented annotations with SOURCE and RUNTIME retention of the following types: ■ Classes and interface[...]

  • Page 19

    Chapter 1 Introduction 5 The use of building blocks created a need for more lenient checking of exception throw lists compar ed to earlier SigT est tool versions. Consequently , SigT est tool 1.5 provides both a sour ce and a binary compatibility mode of operation. This retains compatibility with earlier signature f iles while adding support for bu[...]

  • Page 20

    6 Signature Test Tool 2.0 User’s Guide • April 2008 As an aid in developing such an extension, the SigT est tool distribution includes a class library that contains a signature serializer and some related utility classes in the SigT est-Directory /lib/remote.jar file. This f ile contains a subset of the SigT est tool classes that are necessary [...]

  • Page 21

    7 CHAPTER 2 Using the Signatur e T est T ool This chapter provides a synopsis of each of the SigT est tool commands along with their available options and arguments. It contains these sections: ■ Signature T est T ool Basics ■ Setup Command ■ SignatureTest Command ■ SetupAndTest Command ■ Merge Command ■ Report Formats Also see Appendix[...]

  • Page 22

    8 Signature Test Tool 2.0 User’s Guide • April 2008 ■ Merge - Creates a combined signature f ile from several signature f iles repr esenting differ ent Java APIs in one Java runtime environment according to the JSR 68 rules. The SigT est tool distribution includes a Java™ Archive (JAR) f ile used for developing a signature test and one for [...]

  • Page 23

    Chapter 2 Using the Signature T est T ool 9 Note – In static mode you can test specified classes in another runtime environment. For example, this can be useful to analyze APIs that are part of a Java SE platform 1.4.2 environment when the SignatureTest command is run on a Java SE platform version 5.0. Constant Checking in Dif fering Run Modes Th[...]

  • Page 24

    10 Signature Test Tool 2.0 User’s Guide • April 2008 CLASSPATH and -classpath Settings T ABLE 2-1 lists the r equirements for setting the CLASSPATH environment variable and the -classpath argument when running either the Setup or SignatureTest commands. The table uses the following terms to describe the classes that must be included: ■ Requir[...]

  • Page 25

    Chapter 2 Using the Signature T est T ool 11 Signatur e File Merge Rules The -Files argument of the SignatureTest command accepts values to specify one or more signatur e files that are combined to repr esent an API configuration that is used as input for testing. This resulting API-set can also be combined into a single signature f ile for testing[...]

  • Page 26

    12 Signature Test Tool 2.0 User’s Guide • April 2008 ■ The Merge operation is commutative, so with API A and B, A + B = B + A. ■ It recognizes either binary or source compatibility when mer ging APIs. ■ For any application X that is compatible with either API A or B, when A and B are merged then X must be compatible with the resulting API[...]

  • Page 27

    Chapter 2 Using the Signature T est T ool 13 ■ When there ar e two differ ent access modifiers select the mor e visible one. For example, if A is a public int foo , and B is protected int foo , then the merge into C r esults into public int foo . ■ If the elements differ in the final modif ier , do not include it If a class is final , then all [...]

  • Page 28

    14 Signature Test Tool 2.0 User’s Guide • April 2008 Setup Command The Setup command has the following synopsis: java com.sun.tdk.signaturetest.Setup [ arguments ] T ABLE 2-2 describes the available command arguments and the values that they accept. Before running the command, also see these sections: “ CLASSPATH and -classpath Settings” on[...]

  • Page 29

    Chapter 2 Using the Signature T est T ool 15 -TestURL path Optional. Specifies the dir ectory location in which to create the signatur e file as a file protocol URL: file:// path Must end in a trailing slash on a UNIX system or a backslash on a Microsoft W indows or DOS system. Setup does not support the HTTP protocol. -FileName file_name Requir ed[...]

  • Page 30

    16 Signature Test Tool 2.0 User’s Guide • April 2008 Case Sensitivity of Command Ar guments The specification of each ar gument flag at the command line is not case sensitive, but the input value entered immediately after the ar gument flag is case sensitive. The following two command lines produce identical results for the -FileName f lag: % j[...]

  • Page 31

    Chapter 2 Using the Signature T est T ool 17 Also see “Source and Binary Compatibility Modes” on page 4 . Signatur e File Contents Setup generates each signature file with a mandatory header in the f irst two lines, followed by the body of the signature f ile. Note – Comment lines start with the pound (#) character and can be inserted anywher[...]

  • Page 32

    18 Signature Test Tool 2.0 User’s Guide • April 2008 Signatur e File Body The remaining body of a signature f ile immediately follows the header . It contains the following information, which is further clarified in T ABLE 2-4 : ■ For each public or protected class, all modifiers except strictfp , and the fully qualified name of any super cla[...]

  • Page 33

    Chapter 2 Using the Signature T est T ool 19 strictfp ––– transient – volatile + synchroniz ed – native – T ABLE 2-4 Signature File Content Summary (Continued) Modifier Class or Interface Field Method Constructor Nested Class or Interface[...]

  • Page 34

    20 Signature Test Tool 2.0 User’s Guide • April 2008 SignatureTest Command The SignatureTest command has the following synopsis: java com.sun.tdk.signaturetest.SignatureTest [ arguments ] It follows the rules described in “Case Sensitivity of Command Arguments” on page 16 . T ABLE 2-5 lists the available arguments. Note – SignatureTest co[...]

  • Page 35

    Chapter 2 Using the Signature T est T ool 21 -CheckValue Specifies to check the values of primitive and string constants. This option generates an error if a signature f ile does not contain the data necessary for constant checking. -NoCheckValue Specifies not to check the values of primitive and string constants. -ClassCacheSize size_of_cache Opti[...]

  • Page 36

    22 Signature Test Tool 2.0 User’s Guide • April 2008 -NoMerge Optional. Forces using the f irst encountered class description if more than one class with the same name is found in the input set of signatur e files specified by -Files option. In this case it uses the class from the left-most signatur e file that is specified with -Files . This o[...]

  • Page 37

    Chapter 2 Using the Signature T est T ool 23 ▼ Running a Signatur e T est W ith the JavaT est Harness Although the SignatureTest command can be run by itself, SignatureTest can also be executed as a test by the JavaT est harness. This section describes the items that must be in place in a test suite to perform the signature test with the JavaT es[...]

  • Page 38

    24 Signature Test Tool 2.0 User’s Guide • April 2008 5. Change the following two arguments in the executeArgs value of the test description f ile in use. ■ Change the argument to the -FileName option in the test description to correspond to the signature f ile name. It will look something like this: -FileName ./ name .sig ■ Change the argum[...]

  • Page 39

    Chapter 2 Using the Signature T est T ool 25 ■ Missing Classes ■ Missing Class Descriptions (Modified classes and nested classes) ■ Missing Superclasses or Superinterfaces ■ Missing Fields ■ Missing Constructors ■ Missing Methods ■ Added Classes ■ Added Class Descriptions (Modified classes and nested classes) ■ Added Superclasses [...]

  • Page 40

    26 Signature Test Tool 2.0 User’s Guide • April 2008 SetupAndTest Command The SetupAndTest command has the following synopsis: java com.sun.tdk.signaturetest.SetupAndTest [ arguments ] T ABLE 2-6 describes all arguments available to the SetupAndTest command. See “Case Sensitivity of Command Arguments” on page 16 and “ CLASSPATH and -class[...]

  • Page 41

    Chapter 2 Using the Signature T est T ool 27 Merge Command The Merge command has the following synopsis: java com.sun.tdk.signaturetest.Merge [ arguments ] -PackageWithoutSubpackages name Optional. Specifies package to be tested excluding subpackages. -exclude name Optional. A package or class to be excluded from testing, including its subpackages.[...]

  • Page 42

    28 Signature Test Tool 2.0 User’s Guide • April 2008 T ABLE 2-7 describes the arguments available to the Merge command. Also see “Case Sensitivity of Command Arguments” on page 16 . Command Description The Merge command combines (mer ges) a number of input signature f iles into one resulting signatur e file. See “Signatur e File Merge Rul[...]

  • Page 43

    29 APPENDIX A Quick Start Examples This appendix provides a simple example of each of the SigT est tool commands that you can run quickly to become familiar with them. It contains these sections: ■ Example Setup Command ■ Example SignatureTest Command ■ Example SetupAndTest Command ■ Merge Examples Note – These examples are meant to be ru[...]

  • Page 44

    30 Signature Test Tool 2.0 User’s Guide • April 2008 ▼ Running the Setup Command 1. At a command prompt, change to a current working directory of your choice and note that all subsequent steps and commands are relative to this directory . 2. Using your favorite text editor , copy and paste the code from the test.java f ile in CODE EXAMPLE A-1[...]

  • Page 45

    Appendix A Quick Star t Examples 31 5. Conf irm the correct contents of the resulting test.sig f ile by comparing it with CODE EXAMPLE A-2 . This completes the Setup command example. Note – Save the files you cr eated in this procedure for use in the subsequent example in “Running SignatureTest W ithout the JavaT est Harness” on page 32 .” [...]

  • Page 46

    32 Signature Test Tool 2.0 User’s Guide • April 2008 Example SignatureTest Command This section illustrates how to run SignatureTest from the command line without the JavaT est harness. Also see “Running a Signature T est W ith the JavaT est Harness” on page 23 to see how the signature test is run automatically during a test run. ▼ Runnin[...]

  • Page 47

    Appendix A Quick Star t Examples 33 3. Compile the V2.0/test.java source f ile version with this command, noting that this newly compiled version serves as the implementation class under test. % javac -d V2.0 V2.0/test.java This step generates the following new class file to be tested against the test.sig file in the next step: ./V2.0/example/test.[...]

  • Page 48

    34 Signature Test Tool 2.0 User’s Guide • April 2008 Example SetupAndTest Command The following procedur e runs the SetupAndTest command to create a new test2.sig file fr om the input API class, and compare it with the specified example package. ▼ Running the SetupAndTest Command This procedur e assumes the same current working directory as t[...]

  • Page 49

    Appendix A Quick Star t Examples 35 The previous SetupAndTest command r eports to standard output a message similar to CODE EXAMPLE A-5 with differ ences according to your system characteristics : % java $CLASSPATH com.sun.tdk.signaturetest.SetupAndTest -apiVersion 2.0 -reference V1.0:$JRE -test V2.0:$JRE -package example -FileName test2.[...]

  • Page 50

    36 Signature Test Tool 2.0 User’s Guide • April 2008 Mer ge Examples This section illustrates an example of running Merge which involves these three steps: 1. Compiling three .java f iles to produce .class files as a sour ce for the signature files used in the example 2. Running the Setup command on each .class file to pr oduce its signature f [...]

  • Page 51

    Appendix A Quick Star t Examples 37 Contents of: ./3/A.java 3. Run these commands to compile each f ile into a separate x subdirectory: These are the r esulting files: ■ ./1/x/A.class ■ ./2/x/A.class ■ ./3/x/A.class 4. Run these three Setup command lines on each A.class f ile to produce the three x # .sig f iles as shown. a. Run command #1: T[...]

  • Page 52

    38 Signature Test Tool 2.0 User’s Guide • April 2008 b. Run command #2: The command generates the ./x2.sig file shown in CODE EXAMPLE A-7 and produces a console message similar to this indicating successful setup with some possible differ ences according to your system characteristics: c. Run command #3: The command generates the ./x3.sig file [...]

  • Page 53

    Appendix A Quick Star t Examples 39 6. Run this command to merge x2.sig and x3.sig attempting to produce the x2+x3.sig f ile: The command prints a message to the console similar to the following with possible differ ences due to system characteristics indicating a conflicting static modifier , and no signature f ile is created: The conflict is that[...]

  • Page 54

    40 Signature Test Tool 2.0 User’s Guide • April 2008 CLSS public x.A cons public A() meth public void abc() meth public void foo() supr java.lang.Object CODE EXAMPLE A-7 Contents of ./x2.sig #Signature file v4.0 #Version CLSS public java.lang.Object cons public Object() meth protected java.lang.Object clone() throws java.lang.CloneNotSupportedE[...]

  • Page 55

    Appendix A Quick Star t Examples 41 meth protected void finalize() throws java.lang.Throwable meth public boolean equals(java.lang.Object) meth public final java.lang.Class<?> getClass() meth public final void notify() meth public final void notifyAll() meth public final void wait() throws java.lang.InterruptedException meth public final void[...]

  • Page 56

    42 Signature Test Tool 2.0 User’s Guide • April 2008 meth public void bar() meth public void foo() supr java.lang.Object CODE EXAMPLE A-9 Contents of x1+x2.sig (Continued)[...]

  • Page 57

    43 Index C command arguments -apiVersion ,2 7 -Binary ,2 8 -CheckValue , 21, 27 -ClassCacheSize , 21, 27 -classpath , 14, 21 -ClosedFile ,1 5 -debug , 14, 20 -ErrorAll ,2 2 -exclude , 15, 22, 27 -FileName , 15, 21, 26 -Files ,2 1 -FormatPlain , 22, 27 -help , 14, 20, 26, 28 -mode ,2 0 -NoCheckValue , 21, 27 -NoMerge ,2 2 -NonClosedFile ,1 5 -out , [...]

  • Page 58

    44 Signature T est T ool 2.0 User’ s Guide • Apr il 2008 U unsorted report, 25[...]