@XmlAttribute/@XmlValue need to reference a Java type that maps to text

Hi,
I get this exception when marshalling with xjc (either 2.0.1 or 2.1.3) generated classes. The xsd looks like this:
<xs:complexType name="ExtensionType">
     <xs:simpleContent>
          <xs:extension base="xs:anySimpleType">
               <xs:attribute name="nombre" use="required">
                    <xs:simpleType>
                         <xs:restriction base="xs:string">
                              <xs:maxLength value="50"/>
                         </xs:restriction>
                    </xs:simpleType>
               </xs:attribute>
               <xs:attribute name="tipo" use="optional">
                    <xs:simpleType>
                         <xs:restriction base="xs:string">
                              <xs:minLength value="0"/>
                              <xs:maxLength value="30"/>
                         </xs:restriction>
                    </xs:simpleType>
               </xs:attribute>
               <xs:attribute name="id" use="optional">
                    <xs:simpleType>
                         <xs:restriction base="xs:string">
                              <xs:minLength value="0"/>
                         </xs:restriction>
                    </xs:simpleType>
               </xs:attribute>
          </xs:extension>
     </xs:simpleContent>
</xs:complexType>and the generated class looks like
public class ExtensionType {
    @XmlValue
    protected Object value;
    @XmlAttribute
    protected String id;
    @XmlAttribute(required = true)
    protected String nombre;
    @XmlAttribute
    protected String tipo;
}If I change value's type to String I don't get the error any more. I've tried some binding customizations, but without luck.
Any hints on how to a) customize de binding or b) modify the schema so that jaxb doesn't choke on xjc's bindings?
tks

I am running into the same problem. I need an @XmlValue to be an Object (xs:anyType). Here are the basic annotations:
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "argument")
public class Argument {
    @XmlAttribute(name = "type")
    protected String type;
    @XmlValue
    protected Object value;
}The desired output is as follows:
<argument type="arg1.type"  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:string">
    test
</argument>However, I am getting the same exception: "@XmlAttribute/@XmlValue need to reference a Java type that maps to text in XML." when attempting to marshal.
Any suggestions would be appreciated.

Similar Messages

  • JavaFX : How to call java function that returns hashtable and manipulate

    I have a requirement to {color:#0000ff}create a java object in JavaFX script code{color}. Then call a java function using the created java object. The java function returns hashtable. Then traverse through each element of hashtable. Finally I need to create a similar structure in JavaFX.

    If you need to use a Java class that uses generics you need to take special steps. Since JavaFX does not support generics you need to create a java wrapper to hide the calls that use generics and call the wrapper class from FX.

  • Why we need reference in java?

    Hi
    I faced one problem while I was doing heapdump analysis.I had to find memory leak suspect.
    Somewhere in parent node I have found soft reference.
    My question is that why we need reference in java?
    and why IBM jdk1.4.2 and above have inbulit class like
    softreference
    weakreference
    phatomreference

    These Reference objects have special ways of interacting with the garbage collecor. A normal reference is, in comparison, called a "hard" reference. If an object is only reachable through a special reference it is said to be "softly reachable" or the like, and the garbage collector can collect it. When this happens the reference object is cleared, and will return null if you try to acccess the object through it.
    SoftReference tells the garbage collector "On the whole I'd like you to hang on to this, but feal free to delete it if you're short of space."
    Weakly and Phantom reachable objects are collected as normal.
    A typical use of a WeakReference is when you want to hold onto a pointer to an object as long as that object exists, but allow it to be collected when there are no other references. For example, some object might listen for events on some window, but if you abandon the object you don't want the listener to prevent the object being disposed of.
    A typical use of a SoftReference is when you've arrived at some sizable data object through a moderately expensive process e.g. retrieving it from a database. You can rebuild it if it's lost, but you can save time if it's still there when you want it again.
    A PhantomReference is used instead of finalize(). You can arrange for references to be added to a queue when cleared, and you can have a background thread removing references from the queue and doing what you like with them. By extending the Reference type you can store information needed for a clean-up.

  • I need a mechanism to expose action script class reference to java script

    I need a mechanism to expose action script class reference to java script

    Adobe, I think, are quite happy leaving the StageWebView as a highly efficient and low-level component accessing native functionality, so I wouldn't hold my breath on them extending it.
    That said, I believe somebody did implement an ANE that gives much more access and, according to the docs, does allow Javascript access.
    See UIWebView as per this thread; http://forums.adobe.com/message/4832821#4832821
    http://darkredz.com/ios-uiwebview-and-videoplayer-native-extension-for-air-mobile/
    G

  • Compilation unit indirectly references the missing type java.lang.Object

    Hi All,
    I am getting the below mentioned error
    "This Compilation unit indirectly references the missing type java.lang.Object (typically some required class file is referencing a type outside the class path)"
    Please someone help me resolve this issue.
    Thanks
    Uday

    I am getting a new type of error
    each time i am deleting a  method which duplicate, its getting created again.
               catch(WDDynamicRFCExecuteException wddree){
          wddree.printStackTrace(); }
      public void onActionExit(com.sap.tc.webdynpro.progmodel.api.IWDCustomEvent wdEvent )
        //@@begin onActionExit(ServerEvent)
        //@@end
      //@@begin javadoc:onActionExit(ServerEvent)
      /** Declared validating event handler. */
      //@@end
      public void onActionExit(com.sap.tc.webdynpro.progmodel.api.IWDCustomEvent wdEvent )
        //@@begin onActionExit(ServerEvent)
        //@@end
      //@@begin javadoc:onActionSelect(ServerEvent)
      /** Declared validating event handler. */
      //@@end
      public void onActionSelect(com.sap.tc.webdynpro.progmodel.api.IWDCustomEvent wdEvent )
        //@@begin onActionSelect(ServerEvent)
        //@@end
    The following code section can be used for any Java code that is
    not to be visible to other controllers/views or that contains constructs
    currently not supported directly by Web Dynpro (such as inner classes or
    member variables etc.). </p>
    Note: The content of this section is in no way managed/controlled
    by the Web Dynpro Designtime or the Web Dynpro Runtime.
      //@@begin others
      //@@end

  • I'm writing a mazerace game...I need help from a Java Pro regarding GUI

    I've tested my code using a textUI, but not successful with GUI.
    Following are the files I have at present but are incomplete...someone please assist me, let me know what I'm missing to run the program successfully in a window.
    All I need to do is to bring the maze (2D array) onto a window, and listen to the keys (A,S,D,W & J,K,L,I) and make the move accordingly (using the move method in the MazeRace Class)
    This is my class - MazeRace
    import javax.swing.*;
    import java.io.*;
    * This class is responsible for:
    * -Initializes instance variables used to store the current state of the game
    * -When a player moves it checks if the move is legal
    * and updates the state of the game if move is allowable and made
    * -Reports information about current state of the game when asked:
    * o whether game has been won
    * o how many moves have been made by a given player
    * o what is the current configuration of the maze, etc.
    public class MazeRace {
    /** The Maze Race layout */
    private static char[][] mazeLayout;
    /** Dimensions of the maze */
    //private static final int rowLength = mazeLayout.length;
    //private static final int columnLength = mazeLayout[0].length;
    /** space in the grid is a wall */
    private static final char wall = 'X';
    /** space in the grid has been used */
    private static final char spaceUsed = '.';
    /** space in the grid is available */
    private static final char spaceAvailable = ' ';
    /** Character for Charles, Ada & Goal*/
    private static final char CHARLES = 'C';
    private static final char ADA = 'A';
    private static final char GOAL = 'G';
    /** Location of Goal in the Maze */
    private static int rowGoal = 0;
    private static int columnGoal = 0;
    /** Location of Ada in the Maze */
    private static int rowAda = 0;
    private static int columnAda = 0;
    /** Location of Charles in the Maze */
    private static int rowCharles = 0;
    private static int columnCharles = 0;
    /** Number of Ada's moves */
    private static int countAdasMoves = 0;
    /** Number of Charles's moves */
    private static int countCharlesMoves = 0;
    * Constructor for MazeRace
    * &param mazeGrid - 2D array of characters
    public MazeRace(char[][] mazeGrid){
    this.mazeLayout = mazeGrid;
    for (int row = 0; row < mazeLayout.length; row++){
    for (int column = 0; column < mazeLayout[0].length; column++){
    if (mazeLayout[row][column] == GOAL){
    this.rowGoal = row;
    this.columnGoal = column;
    if (mazeLayout[row][column] == ADA){
    this.rowAda = row;
    this.columnAda = column;
    if (mazeLayout[row][column] == CHARLES){
    this.rowCharles = row;
    this.columnCharles = column;
    public boolean canMoveLeft(){
    int rowA = this.rowAda;
    int columnA = this.columnAda;
    int rowC = this.rowCharles;
    int columnC = this.rowCharles;
    boolean canMove = false;
    if (mazeLayout[rowA][columnA - 1] == spaceAvailable
    || mazeLayout[rowA][columnA - 1] == GOAL) {
    canMove = true;
    return canMove;
    * This method takes in a single character value that indicates
    * both the player making the move, and which direction the move is in.
    * If move is legal, the player's position will be updated. Move is legal
    * if player can move one space in that direction i.e. the player isn't
    * moving out of the maze, into a wall or a space has already been used.
    * @param moveDirection: indicates the player making the move and direction
    * @return moveMade: boolean value true if move was made, false otherwise
    public boolean move(char move){
    boolean validMove = false;
    /** store Ada's current row location in a temp variable */
    int rowA = this.rowAda;
    /** store Ada's current column location in a temp variable */
    int columnA = this.columnAda;
    /** store Charles current row location in a temp variable */
    int rowC = this.rowCharles;
    /** store Charles current column location in a temp variable */
    int columnC = this.columnCharles;
    /** if Ada is moving left, check if she can make a move */
    if (move == 'A' && (mazeLayout[rowA][columnA - 1] == spaceAvailable
    || mazeLayout[rowA][columnA - 1] == GOAL)) {
    /** if move is legal, then update old space to spaceUsed '.' */
    mazeLayout[rowA][columnA] = spaceUsed;
    /** update Ada's new position */
    mazeLayout[rowA][columnA - 1] = ADA;
    this.rowAda = rowA; //update new row location of Ada
    this.columnAda = columnA - 1; //update new column location of Ada
    validMove = true; //valid move has been made
    countAdasMoves++; //increment Ada's legal move
    /** if Ada is moving down, then check if she can make the move */
    if (move == 'S'&& (mazeLayout[rowA + 1][columnA] == spaceAvailable
    || mazeLayout[rowA + 1][columnA] == GOAL)) {
    mazeLayout[rowA][columnA] = spaceUsed;
    mazeLayout[rowA + 1][columnA] = ADA;
    this.rowAda = rowA + 1;
    this.columnAda = columnA;
    validMove = true;
    countAdasMoves++;
    /** if Ada is moving right, then check if she can make the move */
    if (move == 'D'&& (mazeLayout[rowA][columnA + 1] == spaceAvailable
    || mazeLayout[rowA][columnA + 1] == GOAL)) {
    mazeLayout[rowA][columnA] = spaceUsed;
    mazeLayout[rowA][columnA + 1] = ADA;
    this.rowAda = rowA;
    this.columnAda = columnA + 1;
    validMove = true;
    countAdasMoves++;
    /** if Ada is moving up, then check if she can make the move */
    if (move == 'W'&& (mazeLayout[rowA - 1][columnA] == spaceAvailable
    || mazeLayout[rowA - 1][columnA] == GOAL)) {
    mazeLayout[rowA][columnA] = spaceUsed;
    mazeLayout[rowA - 1][columnA] = ADA;
    this.rowAda = rowA - 1;
    this.columnAda = columnA;
    validMove = true;
    countAdasMoves++;
    /** if Charles is moving left, then check if he can make the move */
    if (move == 'J'&& (mazeLayout[rowC][columnC - 1] == spaceAvailable
    || mazeLayout[rowC][columnC - 1] == GOAL)) {
    mazeLayout[rowC][columnC] = spaceUsed;
    mazeLayout[rowC][columnC -1] = CHARLES;
    this.rowCharles = rowC;
    this.columnCharles = columnC - 1;
    validMove = true;
    countCharlesMoves++;
    /** if Charles is moving down, then check if he can make the move */
    if (move == 'K'&& (mazeLayout[rowC + 1][columnC] == spaceAvailable
    || mazeLayout[rowC + 1][columnC] == GOAL)) {
    mazeLayout[rowC][columnC] = spaceUsed;
    mazeLayout[rowC + 1][columnC] = CHARLES;
    this.rowCharles = rowC + 1;
    this.columnCharles = columnC;
    validMove = true;
    countCharlesMoves++;
    /** if Charles is moving right, then check if he can make the move */
    if (move == 'L'&& (mazeLayout[rowC][columnC + 1] == spaceAvailable
    || mazeLayout[rowC][columnC + 1] == GOAL)) {
    mazeLayout[rowC][columnC] = spaceUsed;
    mazeLayout[rowC][columnC + 1] = CHARLES;
    this.rowCharles = rowC;
    this.columnCharles = columnC + 1;
    validMove = true;
    countCharlesMoves++;
    /** if Charles is moving up, then check if he can make the move */
    if (move == 'I'&& (mazeLayout[rowC - 1][columnC] == spaceAvailable
    || mazeLayout[rowC - 1][columnC] == GOAL)){
    mazeLayout[rowC][columnC] = spaceUsed;
    mazeLayout[rowC - 1][columnC] = CHARLES;
    this.rowCharles = rowC - 1;
    this.columnCharles = columnC;
    validMove = true;
    countCharlesMoves++;
    return validMove;
    * This method indicates whether the current maze configuration is a winning
    * configuration for either player or not.
    * Return 1 if Ada won
    * Return 2 if Charles won
    * Return 0 if neither won
    * @return int won: Indicates who won the game (1 or 2) or no one won the
    * game (0)
    public static int hasWon() {
    int won = 0;
    /** if location of Goal's row and column equals Ada's then she won */
    if (rowGoal == rowAda && columnGoal == columnAda){
    won = 1;
    /** if location of Goal's row and column equals Charles's then he won */
    if (rowGoal == rowCharles && columnGoal == columnCharles){
    won = 2;
    /** if both players are away from the Goal then no one won */
    if ((rowGoal != rowAda && columnGoal != columnAda) &&
    (rowGoal != rowCharles && columnGoal != columnCharles)) {
    won = 0;
    return won;
    * This method indicates whether in the current maze configuration both
    * players are caught in dead ends.
    * @return deadEnd: boolean value true if both players can't make a valid
    * move, false otherwise
    public static boolean isBlocked(){
    boolean deadEnd = false;
    /** Check if Ada & Charles are blocked */
    if (((mazeLayout[rowAda][columnAda - 1] == wall
    || mazeLayout[rowAda][columnAda - 1] == spaceUsed
    || mazeLayout[rowAda][columnAda - 1] == CHARLES)
    && (mazeLayout[rowAda][columnAda + 1] == wall
    || mazeLayout[rowAda][columnAda + 1] == spaceUsed
    || mazeLayout[rowAda][columnAda + 1] == CHARLES)
    && (mazeLayout[rowAda + 1][columnAda] == wall
    || mazeLayout[rowAda + 1][columnAda] == spaceUsed
    || mazeLayout[rowAda + 1][columnAda] == CHARLES)
    && (mazeLayout[rowAda - 1][columnAda] == wall
    || mazeLayout[rowAda - 1][columnAda] == spaceUsed
    || mazeLayout[rowAda - 1][columnAda] == CHARLES))
    && ((mazeLayout[rowCharles][columnCharles - 1] == wall
    || mazeLayout[rowCharles][columnCharles - 1] == spaceUsed
    || mazeLayout[rowCharles][columnCharles - 1] == ADA)
    && (mazeLayout[rowCharles][columnCharles + 1] == wall
    || mazeLayout[rowCharles][columnCharles + 1] == spaceUsed
    || mazeLayout[rowCharles][columnCharles + 1] == ADA)
    && (mazeLayout[rowCharles + 1][columnCharles] == wall
    || mazeLayout[rowCharles + 1][columnCharles] == spaceUsed
    || mazeLayout[rowCharles + 1][columnCharles] == ADA)
    && (mazeLayout[rowCharles - 1][columnCharles] == wall
    || mazeLayout[rowCharles - 1][columnCharles] == spaceUsed
    || mazeLayout[rowCharles - 1][columnCharles] == ADA))) {
    deadEnd = true;
    return deadEnd;
    * This method returns an integer that represents the number of moves Ada
    * has made so far. Only legal moves are counted.
    * @return int numberOfAdasMoves: number of moves Ada has made so far
    public static int numAdaMoves() {
    return countAdasMoves;
    * This method returns an integer that represents the number of moves Charles
    * has made so far. Only legal moves are counted.
    * @return int numberOfCharlesMoves: number of moves Charles has made so far
    public static int numCharlesMoves() {
    return countCharlesMoves;
    * This method returns a 2D array of characters that represents the current
    * configuration of the maze
    * @return mazeLayout: 2D array that represents the current configuration
    * of the maze
    public static char[][] getGrid() {
    return mazeLayout;
    * This method compares contents of this MazeRace object to given MazeRace.
    * The two will not match if:
    * o the two grids have different dimensions
    * o the two grids have the same dimensios but positions of walls, players or
    * goal differs.
    * @param MazeRace: MazeRace object is passed in and compared with the given
    * MazeRace grid
    * @return boolean mazeEqual: true if both grids are same, false otherwise
    public static boolean equals(char[][] mr) {
    boolean mazeEqual = true;
    /** If the length of the arrays differs, then they are not equal */
    if (mr.length != mazeLayout.length || mr[0].length != mazeLayout[0].length){
    mazeEqual = false;
    } else {
    /** If lengths are same, then compare every element of the array to other */
    int count = 0;
    int row = 0;
    int column = 0;
    while( count < mr.length && mazeEqual) {
    if( mr[row][column] != mazeLayout[row][column]) {
    mazeEqual = false;
    count = count + 1;
    row = row + 1;
    column = column + 1;
    return mazeEqual;
    * This method represents the current state of the maze in a string form
    * @return string mazeString: string representation of the maze configuration
    public String toString() {
    String mazeString = "";
    for (int row = 0; row < mazeLayout.length; row++){
    for (int column = 0; column < mazeLayout[0].length; column++){
    mazeString = mazeString + mazeLayout[row][column];
    mazeString = mazeString + "\n";
    return mazeString.trim();
    The following is the Driver class: MazeRaceDriver
    import javax.swing.*;
    import java.io.*;
    * This class is the starting point for the maze race game. It is invoked
    * from the command line, along with the location of the layout file and
    * the desired interface type. Its main purpose is to initialize the
    * components needed for the game and the specified interface.
    public class MazeRaceDriver {
    * A method that takes a text file representation of the maze and
    * produces a 2D array of characters to represent the same maze.
    * @param layoutFileName location of the file with the maze layout
    * @return The maze layout.
    public static char[][] getLayoutFromFile( String layoutFileName )
    throws IOException {
    BufferedReader br = new BufferedReader(new FileReader(layoutFileName));
    String s = br.readLine();
    int r = 0; // start at row 1
    int c = s.length(); // initialize column to the length of the string
    while(s != null){
    r++;
    s = br.readLine();
    char[][]grid = new char[r][c];
    // this part, gets the text file into a char array
    BufferedReader brr = new BufferedReader(new FileReader(layoutFileName));
    String ss = brr.readLine();
    int row = 0;
    while(ss != null){
    for(int col = 0; col < c; col++){
    grid[row][col] = ss.charAt(col);
    row++;
    ss = brr.readLine();
    return grid;
    * The main method of your program.
    * @param args command-line arguments provided by the user
    public static void main( String[] args ) throws IOException {
    // check for too few or too many command line arguments
    if ( args.length != 2 ) {
    System.out.println( "Usage: " +
    "java MazeRaceDriver <location> <interface type>" );
    return;
    if ( args[1].toLowerCase().equals( "text" ) ) {
    char[][] layout = getLayoutFromFile( args[0] );
    MazeRace maze = new MazeRace( layout );
    MazeRaceTextUI game = new MazeRaceTextUI( maze );
    game.startGame();
    else if ( args[1].toLowerCase().equals( "gui" ) ) {
    // Get the filename using a JFileChooser
    // read the layout from the file
    // starting the window-based maze game
    JFileChooser chooser = new JFileChooser("");
    int returnVal = chooser.showOpenDialog(null);
    if (returnVal == JFileChooser.APPROVE_OPTION) {
    BufferedReader br =
    new BufferedReader(new FileReader(chooser.getSelectedFile()));
    String inputLine = br.readLine();
    while (inputLine != null) {
    System.out.println(inputLine);
    inputLine = br.readLine();
    char[][] layout = getLayoutFromFile( args[0] );
    MazeRace maze = new MazeRace( layout );
    MazeRaceWindow game = new MazeRaceWindow( maze );
    game.startGame();
    } else {
    System.out.println("Cancel was selected");
    } else {
    System.out.println( "Invalid interface for game." +
    " Please use either TEXT or GUI." );
    return;
    The following is the MazeRaceWindow class
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import javax.swing.event.*;
    import java.io.*;
    * This class is responsible for displaying the maze race game. It should
    * set up the maze window when the game is started and update the display
    * with each move.
    public class MazeRaceWindow extends JFrame {
    private JLabel[][] mazeLabel;
    private JFrame mazeFrame;
    * Reference to the underlying MazeRace object which needs to be
    * updated when either player moves
    private MazeRace maze;
    * Class constructor for the GUI object
    * @param maze the underlying MazeRace object
    public MazeRaceWindow( MazeRace maze ) {
    this.maze = maze;
    System.out.println(maze);
    mazeFrame = new JFrame();
    mazeFrame.setSize(200,200);
    Container content = mazeFrame.getContentPane();
    System.out.println(content);
    content.setLayout(new GridLayout(.length, mazeLayout[0].Length));
    for (int i = 0; i < MazeRace.length; i++ ) {
    for (int j = 0; j < MazeRace[0].length; j++ ) {
    mazeLabel = new JLabel[MazeRace.rowLength][MazeRace.columnLength];
    content.add(mazeLabel[i][j]);
    System.out.println(mazeLabel[i][j]);
    mazeFrame.pack();
    mazeFrame.setVisible(true);
    //content.add(mazeLabel);
    //mazeFrame.addKeyListener(this);
    * A method to be called to get the game running.
    public void startGame() throws IOException {
    System.out.println();
    /* loop to continue to accept moves as long as there is at least one
    * player able to move and no one has won yet
    while ( !maze.isBlocked() && maze.hasWon() == 0 ) {
    // prints out current state of maze
    System.out.println( maze.toString() );
    System.out.println();
    // gets next move from players
    System.out.println("Next move?");
    System.out.print("> ");
    BufferedReader buffer =
    new BufferedReader( new InputStreamReader( System.in ) );
    String moveText = "";
    moveText = buffer.readLine();
    System.out.println();
    // note that even if a string of more than one character is entered,
    // only the first character is used
    if ( moveText.length() >= 1 ) {
    char move = moveText.charAt( 0 );
    boolean validMove = maze.move( move );
    // The game has finished, so we output the final state of the maze, and
    // a message describing the outcome.
    System.out.println( maze );
    int status = maze.hasWon();
    if ( status == 1 ) {
    System.out.println( "Congratulations Ada! You won the maze in "
    + maze.numAdaMoves() + " moves!" );
    } else if ( status == 2 ) {
    System.out.println( "Congratulations Charles! You won the maze in "
    + maze.numCharlesMoves() + " moves!" );
    } else {
    System.out.println( "Stalemate! Both players are stuck. "
    + "Better luck next time." );
    The following is the Listener class: MazeRaceListener
    import java.awt.event.*;
    import java.awt.*;
    import javax.swing.*;
    /** Listens for keystrokes from the GUI interface to the MazeRace game. */
    public class MazeRaceListener extends KeyAdapter {
    * Reference to the underlying MazeRace object which needs to be updated
    * when either player moves
    private MazeRace maze;
    * Reference to the MazeRaceWindow object that displays the state of
    * the game
    private MazeRaceWindow mazeWindow;
    * Class constructor for the key listener object
    * @param maze the underlying MazeRace object
    public MazeRaceListener( MazeRace maze ) {
    this.maze = maze;
    * A method that sets which JFrame will display the game and need to be
    * updated with each move.
    * @param window the JFrame object that displays the state of the game
    public void setMazeRaceWindow( MazeRaceWindow window ) {
    mazeWindow = window;
    * A method that will be called each time a key is pressed on the active
    * game display JFrame.
    * @param event contains the pertinent information about the keyboard
    * event
    public void keyTyped( KeyEvent event ) {
    char move = event.getKeyChar();
    // TODO: complete method so that the appropriate action is taken
    // in the game
    //mazeLabel.setText(String.valueOf(move).toUpperCase());
    }

    and listen to the keys (A,S,D,W & J,K,L,I) and make the move accordingly [url http://java.sun.com/docs/books/tutorial/uiswing/misc/keybinding.html]How to Use Key Bindings

  • Mandatory fields With reference to Material types

    Dear Gurus,
    I need to make few fields as mandatory with reference to material types while creation of the material master data.
    For example:
    For Semi finished and Finished Schedule margin key is required(mandatory)
    For Raw Materials Schedule margin key is optional.
    Regards,
    Siddharth

    Hi
    find  following step to make field mandatory for material type
    Follow the stpes for making field as optional, required entry
    1 click the tab ,(Which is u want to be Required entry )and get the field name by pressing F1 key and then
    2.Go to T.Code: OMSR and enter that field name and get Selection Group
    once you get selection group and field name
    3 Use t.Code: OMS2 and click your material type and in next screen check Field reference ( you have assigned for material type; example :;For ROH material type the Field reference is ROH
    3. Use T.code:OMS9,, Double Click your Field Reference and select field selection Group , & select round box of Required Entry or optional and save
    check following link you will get clear idea [How to configure the fields required for each Material type ?;
    Regards
    Kailas ugale

  • Reference to generic type Set E should be parmeterized

    I have the following code in a class:
    1:Event theEvent = (Event) session.load(Event.class, eventId);
                2:Set<Event> eventSet;
                3:eventSet = user.getFavouriteEvents();
                4:eventSet.add(theEvent);At line 3, I get the following warning message:
    Type safety: The expresson of raw type Set is converted to Set<Event>. References to generic type Set<E> should be parameterized.
    What does this mean? What do I need to do to get past this warning.
    Thanks
    Sharma

    Found the problem. I forgot to parameterize the Set in the getFavouriteEvents() method.
    Thanks
    Sharma

  • Data is not updating in calss & Convert vi reference to strictly type reference vi

    Hi,
    In the attached project file there is a Class called 'ClassSample.lvclass' having 3 different data types Boolean, Numeric and Variant(not really sure, Variant can be use for strict data type reference). From this three we careated the 'VIs for data member access' you can see them in project file
    My questions are,(Please refer attached screenshot)
    1. Though member of same class, why value is not updating at probe 16 ?
    2. How to convert vi reference to strictly type reference vi ?
    Thank you.
    Attachments:
    Capture.JPG ‏426 KB
    ClassSample Project.zip ‏116 KB

    It depends a bit on your final intention. Bascially you have a shared state that you want to access asynchronously from different places. If you know that the actual object is only created once (terminilogie here is a bit shaky as every wire split would create a copy of the LVOOP object but I hope you know what I mean), you could use a global or Action Engine to store the state. Using a DVR for this state and adding the DVR to your object class data is however a more scalable approach as it will allow you to instantiate more than one object of that class and each one will contain its own DVR that will reference the same value for the specific object instance even if you split the object wire, creating actually two copies of that object (but for the purpose of this discussion they would be still the same object instance).
    Queues could work if you create a single element queue but you would always need to use Preview Queue rather than Dequeue in order to maintain the value in there.
    Rolf Kalbermatter
    CIT Engineering Netherlands
    a division of Test & Measurement Solutions

  • Custom Template for Third Party Balance Summary Report(Java type executable

    Hi Al,l we have a requirment to have a layout with some of the fields from
    Third Party Balance Summary Report( Which is a Java type executable and
    Data definition has Data Template attached(.xml)).
    I tried in below way.
    Coppied the Third Party Balance Summary Report program with same application and parameters
    with. Then defined a Datadefinition with my concurrent prog short name
    attached the same standard .xml file(Not sure what it is) and developed a custom template with
    a custom rtf(excel output type), and submitted the program
    the output is generated in excel but my custom .rtf layout is not getting applied
    rather it is showing same layout as in standard.
    Some thing I am missing here or else it is not the way of changing the
    template.
    If any one know how to do this please let me know.
    My client want only some files from the standard report(no need of new fileds)
    with output type xls.
    Thanks in Advance.
    The same content is posted in Custom Template for Third Party Balance Summary Report(Java type executable sorry for duplicating the thread, just for increase the visibility for my issue I did this.

    I gave up on using a different font or figuring out if I could use Times New Roman's built-in fractions visible in Font Book (as unicodes) and did a work-around based on Michael Wasley's tips in this discussion.
    https://discussions.apple.com/message/11622842#11622842
    I adapted it however and think it looks a little better.
    Font: Times New Roman 12 point
    I used the fraction bar in 12-point (Shift-Option-1) for automatic kerning.
    For the numerator, I changed the font style to superior (12-point).
    For the denominator, I changed the font style to subscript (Shift-Command-hyphen) and reduced the font size to half, or 6-point using the short-cut Shift-Command-<.
    When the fractions occured in my footnotes (9-point), I used 4-point in the denominator; 10- and 11-point, I used 5-point in the denominator. This seemed to produce the best result when printing.
    Thank you, Michael.
    -Dottie

  • Passing a reference to a type definition to a SubVI

    I have created a type definition that I would like to use across my application. This particular type definition is also the front panel control to my top level VI. I wanted to pass a reference to this control to my SubVi's so that they could dereference as needed and in very rare cases update the values on the front panel. However, as I built the application I noticed that I was breaking the control reference as I updated the type definition. This implies that they type of the reference changes as I change the type definition.
    How do I go about building the reference I need or is there some other way to do this that works just as well. Even if I can't make a reference to the control that is tied to the type definition, I'm willing to pass in a variant who can house the reference as long as I can build the data type (the reference) inside my SubVis.
    Solved!
    Go to Solution.

    Okay, so I tried all three approaches in a SubVI, here's what happened.
    My approach was simply to create a Type Def control, right-click and create a Reference. Then create a control from that reference by right-clicking the output of the reference and selecting the Create Control option. I then pasted this 'cluster' reference into my SubVi, made it an input and then wired up the reference in the parent to the control in the SubVi.
    Result: This breaks when you update the Type Definition.
    Next, Ben's approach (or my best effort at doing what he suggested). I created a control from reference to the type def. I cut it from the parent VI and pasted it into a new type def. I then put the type def in the SubVI and set it as an input.
    Result: This breaks when you update the Type Definition (but it actually takes a bit longer for the error to propogate).
    Finally, Christian's solution (or my best effort). I took the type def reference and put it through a To More Generic Class guy, casting it to a Control Refnum. I put a Control Refnum on the front panel of my SubVI and wired it to a To More Specific Class guy. I created a control of the type def in the subvi, hid it, and created a reference. I wired the reference to the more specific guy and verified I was getting the right data.
    Result: It works!
    It's possible I just didn't understand how to make the reference type def you were referring to Ben. I would prefer a method with less verbage. I pass this refnum into a class which holds it. Since I can't replicate the type exactly prior to run time (i.e. create a control that is exactly a reference to the type definition of my front panel), I have to save the reference as a Control Refnum and cast it every time I need it (i.e. create a control from the typedef, create a reference frome the type def, etc). More verbage than optimal, but still good!
    Thanks for the help.

  • OWS-00102 Reason for not creating a custom Java type: simple or mixed conte

    Hi ,
    I am generating the java proxies from a WSDL file in Jdeveloper and I am getting the below warning.
    WARNING: OWS-00102 Mapped {http://xmlns.fmr.com/systems/dev/aar/requests}ViewRequestStatusResult to javax.xml.soap.SOAPElement ViewRequestStatusResult. Reason for not creating a custom Java type: simple or mixed content is not supported.
    I have tried using Jpub as well, but it does not work as well.
    I am very new to JAVA and It seems some java code needs to be created. can any one please help me how to resolve this issue.
    Thanks and Regards,
    Vineet

    var cResponse = app.response({
    cQuestion: "Enter the section number to appear in the stamp.",
    cTitle: "Section Number",
    cLabel: "Section Number:"
    if (cResponse == null) {
    event.value = '*INVALID*";
    else
    event.value = cResponse;
    You can only remove the 'Warning JavaScirpt" is by creating a special application folder script for the 'app.response' method that uses the 'trustedFuncton' to suppress this security warning. Then in you form, you will need to test for this function and either issue a warning about the missing function or run the 'app.response' code and live with the warning. Each system will need the special application folder script installed on it.

  • Mapping Java Types to XML Types

    Hi, I have a small doubt in web services,
    1)  how a java data type can match with xml data type in wsdl,
    2)  how and where the java program can find the matching java
        data type to xml data type and vice versa
    3)  whether any mechanism is available for this data conversion?
    4)  where can i find that one?
    Please advice me
    Regards
    Marimuthu.N

    Hi Marimuthu.N,
    My answers for your question, Kindly let me know if you need some more inputs.
    +1) how a java data type can match with xml data type in wsdl,+
    In SOAP 1.1 you have the following data types which is in XSD(XML Schema Definition), the same data type is also available in Java. For example (string, normalizedstring in xml is available as java.lang.String)
    The complete list can be found in the table below.
    XSD to Java Mapping.
    XSD Type--------------------------------Java Type
    base64Binary----------------------------byte[]
    hexBinary---------------------------------byte[]
    boolean------------------------------------Boolean
    byte-----------------------------------------Byte
    dateTime----------------------------------java.util.Calendar
    date-----------------------------------------java.util.Calendar
    time-----------------------------------------java.util.Calendar
    decimal------------------------------------java.math.BigDecimal
    double-------------------------------------Double
    float-----------------------------------------Float
    hexBinary---------------------------------byte[]
    int--------------------------------------------Int
    unsignedShort---------------------------Int
    integer--------------------------------------java.math.BigInteger
    long------------------------------------------Long
    unsignedInt-------------------------------Long
    QName-------------------------------------javax.xml.namespace.QName
    short----------------------------------------Short
    unsignedByte---------------------------Short
    string---------------------------------------java.lang.String
    anySimpleType-------------------------java.lang.String
    +2) how and where the java program can find the matching java+
    data type to xml data type and vice versa
    Here is my WSDL which has a method getHello --> Pass Input as String --> Get Response as String.
    <?xml version="1.0" encoding="UTF-8"?>
    <wsdl:definitions targetNamespace="http://zackria.googlepages.com" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://zackria.googlepages.com" xmlns:intf="http://zackria.googlepages.com" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <!--WSDL created by Apache Axis version: 1.4
    Built on Apr 22, 2006 (06:55:48 PDT)-->
    <wsdl:types>
      <schema elementFormDefault="qualified" targetNamespace="http://zackria.googlepages.com" xmlns="http://www.w3.org/2001/XMLSchema">
       <element name="getHello">
        <complexType>
         <sequence>
          <element name="s" type="xsd:string"/>
         </sequence>
        </complexType>
       </element>
       <element name="getHelloResponse">
        <complexType>
         <sequence>
          <element name="getHelloReturn" type="xsd:string"/>
         </sequence>
        </complexType>
       </element>
      </schema>
    </wsdl:types>
       <wsdl:message name="getHelloResponse">
          <wsdl:part element="impl:getHelloResponse" name="parameters"/>
       </wsdl:message>
       <wsdl:message name="getHelloRequest">
          <wsdl:part element="impl:getHello" name="parameters"/>
       </wsdl:message>
       <wsdl:portType name="Test">
          <wsdl:operation name="getHello">
             <wsdl:input message="impl:getHelloRequest" name="getHelloRequest"/>
             <wsdl:output message="impl:getHelloResponse" name="getHelloResponse"/>
          </wsdl:operation>
       </wsdl:portType>
       <wsdl:binding name="TestSoapBinding" type="impl:Test">
          <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
          <wsdl:operation name="getHello">
             <wsdlsoap:operation soapAction=""/>
             <wsdl:input name="getHelloRequest">
                <wsdlsoap:body use="literal"/>
             </wsdl:input>
             <wsdl:output name="getHelloResponse">
                <wsdlsoap:body use="literal"/>
             </wsdl:output>
          </wsdl:operation>
       </wsdl:binding>
       <wsdl:service name="TestService">
          <wsdl:port binding="impl:TestSoapBinding" name="Test">
             <wsdlsoap:address location="http://localhost:8080/TestWebService/services/Test"/>
          </wsdl:port>
       </wsdl:service>
    </wsdl:definitions>I use apache axis for the client side code. I also suggest to start using this to get quickly into SOA(Service Oriented Architecture)
    package com.googlepages.zackria;
    import org.apache.axis.client.Call;
    import org.apache.axis.client.Service;
    import javax.xml.namespace.QName;
    * TestClient for Webservice
    * @author $author$Mohammed Zackria
    * @version $Revision$1.00
    public class TestClient {
         * main method
         * @param args pass nothing as far now
        public static void main(String[] args) {
            try {
                String endpoint = "http://localhost:8080/TestWebService/services/Test";
                Service service = new Service();
                Call call = (Call) service.createCall();
                call.setTargetEndpointAddress(new java.net.URL(endpoint));
                call.setOperationName(new QName("http://zackria.googlepages.com", "getHello"));
                //String Conversion
                String ret = (String) call.invoke(new Object[] { "Zack" });
                System.out.println("Sent 'Zack', got '" + ret + "'");
            } catch (Exception e) {
                System.err.println(e.toString());
    }+3) whether any mechanism is available for this data conversion?+
    Check the above code which has the following portion
    //String Conversion
    String ret = (String) call.invoke(new Object[] { "Zack" });
    By default APACHE Axis returns Object Array which can be Casted to your WSDL defined data type.
    +4) where can i find that one?+
    [Eclipse Webservice|http://www.eclipse.org/webtools/jst/components/ws/1.5/tutorials/BottomUpWebService/BottomUpWebService.html]
    Hope this helps out, Kindly Let me know if you need some more or if i have not answered your question.
    Regards,
    Zack
    Edited by: zack on Nov 22, 2008 1:47 PM
    Edited by: zack on Nov 22, 2008 1:49 PM

  • Why do we need write access to Java installation Directory

    We are Upgrading from Siebel Analytics 7.8 to OBIEE 10.1.3.4.
    As OBIEE needs Java 1.5 or higher as a pre-requisite we are planning to uninstall Java 1.4 and install latest version of Java 1.5.
    According to OBI Installation and Configuration Guide http://download.oracle.com/docs/cd/E10415_01/doc/bi.1013/b31765.pdf -> Page 39 "If you are installing using the Basic installation type, make the user or user group permissions
    writable for the user installing Oracle Business Intelligence, for all JDK 1.5.0 installation directories,
    subdirectories, and files". Can anybody let me know why we need write access to Java Installation Directory??
    Thanks,
    Chandra
    Edited by: user6086408 on Apr 5, 2010 3:07 PM

    I had this same question and asked Oracle. Here's what I was told:
    Per Dev:
    "For OBI Presentation Services and OBI Publisher, jdk fonts files are copied into the JDK location because we do not bundle our own JDK. To ensure the install can do this you need to ensure that the Oracle BI installer has permissions to copy files to the specified JDK location.
    This means that if the same user who installer/untarred JDK is also installing Oracle BI, the install should work. In this case the the permissions of the JDK is probably 755.
    It will not work if a root user installs JDK and a normal user installs Oracle BI because the normal user does not have access to write to the JDK location or will not work if the JDK location is read-only, i.e. 444. In this case running chmod -R 777 will work."
    Jerry

  • (262119469) Q DBC-17 How is data mapped from SQL-type to Java-type?

    Q<DBC-17> Is there any documentaion for the data mapping between the "java type" and
    the "sql type"
    A<DBC-17> The data types are the standard JDBC mappings. Check the javadoc for the
    java.sql package.

    Hi,
              If you are seeing last 3 fields coming as empty.... then you need to check the seperator type which correctly seperats one fields from another during mapping to BW infoobject.
    Thanks
    Kishore Kusupati

Maybe you are looking for

  • Addition of new column in MC.1 Report

    Dear experts, MC.1 report displays stock in transit value but does not displays stock in transit quantity, is it possible that we can display additional column for stock in. transit. A detailed reply on how additional tables can be joined in MC serie

  • Gift this app not received

    Hi guys and gals, My friend gift whatsapp to me. My iPhone 4s told me to turn on automatic download. I turned it on, but now nothing. Nothing downloading, nothing is happening. No email linking to anything either. Would be glad for any help in advanc

  • Adding Vendor Tax type LFA1-FYTYP.

    Hello Friends, I am creating BP using BAPI ( BAPI_BUPA_CREATE_FROM_DATA2) and than extending that to Vendor Control & Purchasing view. After that I am feeling data using MK01 for Purchasing organisation. However at that point it's not allowing me to

  • Installing OAS4.0.8.1 on NT with 8i

    Can OAS 4.0.8.1 be installed on the same NT machine that is running 8i enterprise edition with designer,developer. I had the system configured without the OAS. I installed the OAS and could not start any services. The instructions seemed straight for

  • HR/PAYROLL Country Specific information

    hello all, I am unable to remember, someone gave me a very great site which had HR and payroll information related to various European countries. Im supporting Germany, Holland, Belgium etc.... and wanted to