Swing layout/size problem with JFrame and JApplet.

I have a class that extends a JFrame, the classes layout is BorderLayout. I then have a class that extend JApplet, this classes layout is GridBagLayout (this class has a JTabbedPane - which contains JPanels). The problem I'm having is no matter how big I make the size of the applet or frame (using setSize), the applet/frame stays the same size - no matter how large I make it.
Can anyone please help?
Thanks,
dosteov

Here is the basic code:
Thanks in advance,
dosteov
public class EADAdm extends JApplet
EADAdmFrame theFrame = new EADAdmFrame(this);
     public void init()
          // Take out this line if you don't use symantec.itools.net.RelativeURL or symantec.itools.awt.util.StatusScroller
//          symantec.itools.lang.Context.setApplet(this);
          // This line prevents the "Swing: checked access to system event queue" message seen in some browsers.
          getRootPane().putClientProperty("defeatSystemEventQueueCheck", Boolean.TRUE);
          // This code is automatically generated by Visual Cafe when you add
          // components to the visual environment. It instantiates and initializes
          // the components. To modify the code, only use code syntax that matches
          // what Visual Cafe can generate, or Visual Cafe may be unable to back
          // parse your Java file into its visual environment.
          //{{INIT_CONTROLS
          getContentPane().setLayout(new GridBagLayout());
          setEnabled(false);
          getContentPane().setBackground(java.awt.Color.lightGray);
          setSize(800,800);
          getContentPane().add(AdmTab, new com.symantec.itools.awt.GridBagConstraintsD(0,1,2,1,0.5,0.5,java.awt.GridBagConstraints.CENTER,java.awt.GridBagConstraints.HORIZONTAL,new Insets(3,12,4,14),120,120));
          AdmTab.setFont(new Font("Dialog", Font.PLAIN, 12));
          titleLbl.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
          titleLbl.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
          titleLbl.setText("EAD Administration");
          getContentPane().add(titleLbl, new com.symantec.itools.awt.GridBagConstraintsD(0,0,1,1,0.0,0.0,java.awt.GridBagConstraints.CENTER,java.awt.GridBagConstraints.NONE,new Insets(12,36,0,0),307,15));
          titleLbl.setForeground(java.awt.Color.blue);
          titleLbl.setFont(new Font("Dialog", Font.BOLD, 15));
          exitBtn.setText("Exit EAD Administration");
          exitBtn.setActionCommand("Exit EAD Administration");
          getContentPane().add(exitBtn, new com.symantec.itools.awt.GridBagConstraintsD(0,2,2,1,0.0,0.0,java.awt.GridBagConstraints.CENTER,java.awt.GridBagConstraints.NONE,new Insets(6,371,10,14),66,8));
          exitBtn.setFont(new Font("Dialog", Font.PLAIN, 12));
     //theFrame.setVisible(false);
     login();
     AdmTab.addTab("Administration", new LogoPanel() );
     userPanel = createUserPanel();
     AdmTab.addTab("Edit Users", userPanel );
     fpoPanel = createFPOPanel();
     AdmTab.addTab("Edit FPO", fpoPanel );
     regulationPanel = createRegulationPanel();
     AdmTab.addTab("Edit Regulations", regulationPanel );
     rolloverPanel = createRolloverPanel();
     AdmTab.addTab("Rollover", rolloverPanel );           
          //{{REGISTER_LISTENERS
     SymMouse aSymMouse = new SymMouse();
          this.addMouseListener(aSymMouse);
          SymAction lSymAction = new SymAction();
          exitBtn.addActionListener(lSymAction);
          SymKey aSymKey = new SymKey();
          this.addKeyListener(aSymKey);
     theFrame.getContentPane().add(this);
public class EADAdmFrame extends JFrame
EADAdm theApplet;
public EADAdmFrame(EADAdm theMainApplet)
          //{{INIT_CONTROLS
     //     theApplet = theMainApplet;
     //     this.getContentPane().add(theApplet);
          getContentPane().setLayout(new BorderLayout(0,0));
          getContentPane().setBackground(java.awt.Color.lightGray);
          setSize(1000,1000);
          setVisible(false);
     theApplet = theMainApplet;
          //{{REGISTER_LISTENERS
          SymWindow aSymWindow = new SymWindow();
          this.addWindowListener(aSymWindow);
          SymComponent aSymComponent = new SymComponent();
          this.addComponentListener(aSymComponent);

Similar Messages

  • Problem with JFrame and busy/wait Cursor

    Hi -- I'm trying to set a JFrame's cursor to be the busy cursor,
    for the duration of some operation (usually just a few seconds).
    I can get it to work in some situations, but not others.
    Timing does seem to be an issue.
    There are thousands of posts on the BugParade, but
    in general Sun indicates this is not a bug. I just need
    a work-around.
    I've written a test program below to demonstrate the problem.
    I have the problem on Solaris, running with both J2SE 1.3 and 1.4.
    I have not tested on Windows yet.
    When you run the following code, three JFrames will be opened,
    each with the same 5 buttons. The first "F1" listens to its own
    buttons, and works fine. The other two (F2 and F3) listen
    to each other's buttons.
    The "BUSY" button simply sets the cursor on its listener
    to the busy cursor. The "DONE" button sets it to the
    default cursor. These work fine.
    The "SLEEP" button sets the cursor, sleeps for 3 seconds,
    and sets it back. This does not work.
    The "INVOKE LATER" button does the same thing,
    except is uses invokeLater to sleep and set the
    cursor back. This also does not work.
    The "DELAY" button sleeps for 3 seconds (giving you
    time to move the mouse into the other (listerner's)
    window, and then it behaves just like the "SLEEP"
    button. This works.
    Any ideas would be appreciated, thanks.
    -J
    import java.awt.BorderLayout;
    import java.awt.Cursor;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    import javax.swing.SwingUtilities;
    public class BusyFrameTest implements ActionListener
    private static Cursor busy = Cursor.getPredefinedCursor (Cursor.WAIT_CURSOR);
    private static Cursor done = Cursor.getDefaultCursor();
    JFrame frame;
    JButton[] buttons;
    public BusyFrameTest (String title)
    frame = new JFrame (title);
    buttons = new JButton[5];
    buttons[0] = new JButton ("BUSY");
    buttons[1] = new JButton ("DONE");
    buttons[2] = new JButton ("SLEEP");
    buttons[3] = new JButton ("INVOKE LATER");
    buttons[4] = new JButton ("DELAY");
    JPanel buttonPanel = new JPanel();
    for (int i = 0; i < buttons.length; i++)
    buttonPanel.add (buttons);
    frame.getContentPane().add (buttonPanel);
    frame.pack();
    frame.setVisible (true);
    public void addListeners (ActionListener listener)
    for (int i = 0; i < buttons.length; i++)
    buttons[i].addActionListener (listener);
    public void actionPerformed (ActionEvent e)
    System.out.print (frame.getTitle() + ": " + e.getActionCommand());
    if (e.getActionCommand().equals ("BUSY"))
    frame.setCursor (busy);
    else if (e.getActionCommand().equals ("DONE"))
    frame.setCursor (done);
    else if (e.getActionCommand().equals ("SLEEP"))
    frame.setCursor (busy);
    try { Thread.sleep (3000); } catch (Exception ex) { }
    frame.setCursor (done);
    System.out.print (" finished");
    else if (e.getActionCommand().equals ("INVOKE LATER"))
    frame.setCursor (busy);
    SwingUtilities.invokeLater (thread);
    else if (e.getActionCommand().equals ("DELAY"))
    try { Thread.sleep (3000); } catch (Exception ex) { }
    frame.setCursor (busy);
    try { Thread.sleep (3000); } catch (Exception ex) { }
    frame.setCursor (done);
    System.out.print (" finished");
    System.out.println();
    Runnable thread = new Runnable()
    public void run()
    try { Thread.sleep (3000); } catch (Exception ex) { }
    frame.setCursor (done);
    System.out.println (" finished");
    public static void main (String[] args)
    BusyFrameTest f1 = new BusyFrameTest ("F1");
    f1.addListeners (f1);
    BusyFrameTest f2 = new BusyFrameTest ("F2");
    BusyFrameTest f3 = new BusyFrameTest ("F3");
    f2.addListeners (f3); // 2 listens to 3
    f3.addListeners (f2); // 3 listens to 2

    I've had the same problems with cursors and repaints in a swing application, and I was thinking of if I could use invokeLater, but I never got that far with it.
    I still believe you would need a thread for the time consuming task, and that invokeLater is something you only need to use in a thread different from the event thread.

  • Advance level drawing problem with Jframe and JPanel need optimize sol?

    Dear Experts,
    I m trying to create a GUI for puzzle game following some kind of "game GUI template", but i have problems in that,so i tried to implement that in various ways after looking on internet and discussions about drawing gui in swing, but i have problem with both of these, may be i m doing some silly mistake, which is still out of my consideration. please have a look at these two and recommend me one of them, which is running without problems (flickring and when you enlarge window the board draw copies (tiled) everywhere,
    Note: i don't want to inherit jpanel or Jframe
    here is my code : import java.awt.BorderLayout;
    public class GameMain extends JFrame {
         private static final long serialVersionUID = 1L;
         public int mX, mY;
         int localpoints = 0;
         protected static JTextField[][] squares;
         protected JLabel statusLabel = new JLabel("jugno");
         Label lbl_score = new Label("score");
         Label lbl_scorelocal = new Label("local score");
         protected static TTTService remoteTTTBoard;
         // Define constants for the game
         static final int CANVAS_WIDTH = 800; // width and height of the game screen
         static final int CANVAS_HEIGHT = 600;
         static final int UPDATE_RATE = 4; // number of game update per second
         static State state; // current state of the game
         private int mState;
         // Handle for the custom drawing panel
         private GameCanvas canvas;
         // Constructor to initialize the UI components and game objects
         public GameMain() {
              // Initialize the game objects
              gameInit();
              // UI components
              canvas = new GameCanvas();
              canvas.setPreferredSize(new Dimension(CANVAS_WIDTH, CANVAS_HEIGHT));
              this.setContentPane(canvas);
              this.setDefaultCloseOperation(EXIT_ON_CLOSE);
              this.pack();
              this.setTitle("MY GAME");
              this.setVisible(true);
         public void gameInit() {     
         // Shutdown the game, clean up code that runs only once.
         public void gameShutdown() {
         // To start and re-start the game.
         public void gameStart() {
         private void gameLoop() {
         public void keyPressed(KeyEvent e) {
         public void keyTyped(KeyEvent e) {
         public void gameKeyReleased(KeyEvent e) {
              PuzzleBoard bd = getBoard();
              for (int row = 0; row < 4; ++row) {
                   for (int col = 0; col < 4; ++col) {
                        if (e.getSource() == squares[row][col]) {
                             if (bd.isOpen(col, row)) {
                                  lbl_score.setText("Highest Score = "
                                            + Integer.toString(bd.getPoints()));
                                  setStatus1(bd);
                                  pickSquare1(col, row, squares[row][col].getText()
                                            .charAt(0));
         protected void pickSquare1(int col, int row, char c) {
              try {
                   remoteTTTBoard.pick(col, row, c);
              } catch (RemoteException e) {
                   System.out.println("Exception: " + e.getMessage());
                   e.printStackTrace();
                   System.exit(1);
         // method "called" by remote object to update the state of the game
         public void updateBoard(PuzzleBoard new_board) throws RemoteException {
              String s1;
              for (int row = 0; row < 4; ++row) {
                   for (int col = 0; col < 4; ++col) {
                        squares[row][col].setText(new_board.ownerStr(col, row));
              lbl_score.setText("Highest Score = "
                        + Integer.toString(new_board.getPoints()));
              setStatus1(new_board);
         protected void setStatus1(PuzzleBoard bd) {
              boolean locals = bd.getHave_winner();
              System.out.println("local win" + locals);
              if (locals == true) {
                   localpoints++;
                   System.out.println("in condition " + locals);
                   lbl_scorelocal.setText("Your Score = " + localpoints);
              lbl_score
                        .setText("Highest Score = " + Integer.toString(bd.getPoints()));
         protected PuzzleBoard getBoard() {
              PuzzleBoard res = null;
              try {
                   res = remoteTTTBoard.getState();
              } catch (RemoteException e) {
                   System.out.println("Exception: " + e.getMessage());
                   e.printStackTrace();
                   System.exit(1);
              return res;
         /** Custom drawing panel (designed as an inner class). */
         class GameCanvas extends JPanel implements KeyListener {
              /** Custom drawing codes */
              @Override
              public void paintComponent(Graphics g) {
                   // setOpaque(false);
                   super.paintComponent(g);
                   // main box; everything placed in this
                   // JPanel box = new JPanel();
                   setLayout(new BoxLayout(this, BoxLayout.Y_AXIS));
                   // add(statusLabel, BorderLayout.NORTH);
                   // set up the x's and o's
                   JPanel xs_and_os = new JPanel();
                   xs_and_os.setLayout(new GridLayout(5, 5, 0, 0));
                   squares = new JTextField[5][5];
                   for (int row = 0; row < 5; ++row) {
                        for (int col = 0; col < 5; ++col) {
                             squares[row][col] = new JTextField(1);
                             squares[row][col].addKeyListener(this);
                             if ((row == 0 && col == 1) || (row == 2 && col == 3)
                             || (row == 1 && col == 4) || (row == 4 && col == 4)
                                       || (row == 4 && col == 0))
                                  JPanel p = new JPanel(new BorderLayout());
                                  JLabel label;
                                  if (row == 0 && col == 1) {
                                       label = new JLabel("1");
                                       label.setHorizontalAlignment(JLabel.LEFT);
                                       label.setVerticalAlignment(JLabel.TOP);
                                  else if (row == 4 && col == 0) {// for two numbers or
                                       // two
                                       // blank box in on row
                                       label = new JLabel("2");
                                       label.setHorizontalAlignment(JLabel.LEFT);
                                       label.setVerticalAlignment(JLabel.TOP);
                                  else if (row == 1 && col == 4) {
                                       label = new JLabel("3");
                                       label.setHorizontalAlignment(JLabel.LEFT);
                                       label.setVerticalAlignment(JLabel.TOP);
                                  else if (row == 4) {
                                       label = new JLabel("4");
                                       label.setHorizontalAlignment(JLabel.LEFT);
                                       label.setVerticalAlignment(JLabel.TOP);
                                  else {
                                       label = new JLabel("5");
                                       label.setHorizontalAlignment(JLabel.LEFT);
                                       label.setVerticalAlignment(JLabel.TOP);
                                  label.setOpaque(true);
                                  label.setBackground(squares[row][col].getBackground());
                                  label.setPreferredSize(new Dimension(label
                                            .getPreferredSize().width, squares[row][col]
                                            .getPreferredSize().height));
                                  p.setBorder(squares[row][col].getBorder());
                                  squares[row][col].setBorder(null);
                                  p.add(label, BorderLayout.WEST);
                                  p.add(squares[row][col], BorderLayout.CENTER);
                                  xs_and_os.add(p);
                             } else if ((row == 2 && col == 1) || (row == 1 && col == 2)
                                       || (row == 3 && col == 3) || (row == 0 && col == 3)) {
                                  xs_and_os.add(squares[row][col]);
                                  // board[ row ][ col ].setEditable(false);
                                  // board[ row ][ col ].setText("");
                                  squares[row][col].setBackground(Color.RED);
                                  squares[row][col].addKeyListener(this);
                             } else {
                                  squares[row][col] = new JTextField(1);
                                  // squares[row][col].addActionListener(this);
                                  squares[row][col].addKeyListener(this);
                                  xs_and_os.add(squares[row][col]);
                   this.add(xs_and_os);
                   this.add(statusLabel);
                   this.add(lbl_score);
                   this.add(lbl_scorelocal);
              public void keyPressed(KeyEvent e) {
              public void keyReleased(KeyEvent e) {
                   gameKeyReleased(e);
              public void keyTyped(KeyEvent e) {
         // main
         public static void main(String[] args) {
              SwingUtilities.invokeLater(new Runnable() {
                   @Override
                   public void run() {
                        new GameMain();
      thanks a lot for your time , consideration and efforts.
    jibby
    Edited by: jibbylala on Sep 20, 2010 6:06 PM

    jibbylala wrote:
    thanks for mentioning as i wasn't able to write complete context here.Yep thanks camickr. I think that Darryl's succinct reply applies here as well.

  • Is there a problem with JFrame and window listeners?

    As the subject implies, i'm having a problem with my JFrame window and the window listeners. I believe i have implemented it properly (i copied it from another class that works). Anyway, none of the events are caught and i'm not sure why. Here's the code
    package gcas.gui.plan;
    import java.awt.BorderLayout;
    import java.awt.Component;
    import java.awt.Container;
    import java.awt.event.WindowEvent;
    import java.awt.event.WindowListener;
    import java.util.Hashtable;
    import javax.swing.JDialog;
    import javax.swing.JFrame;
    import gcas.plandata.TaskData;
    import gcas.util.GCASProperties;
    import gcas.gui.planlist.MainPanel;
    * MainFrame extends JPanel and is the main class for the plan details window
    public class MainFrame extends JFrame implements WindowListener
         * the container for this window
        private Container contentPane;
         * a string value containing the name of the plan being viewed
        private String labelText;
         * a string value containing the name of the window (GCAS - plan list)
        private static String title;
         * an instance of JDialog class
        private static MainFrame dialog;
         * hashTable that correlates the task name to its id as found in the
         * plan
        private Hashtable taskNameToId = new Hashtable();
         * an instance of taskSetPane.  This is the current instance of taskSetPane
         * being viewed
        private PlanTaskSet currentPane;
         * instance of TaskData class.  Each instance will hold information on
         * an individual task
        private TaskData taskData;
         * hashTable containing instances of the taskSetPane class
        private Hashtable taskSetPanes = new Hashtable();
         * an instance of the OuterPanel class
        OuterPanel mainPanel;
         * an instance of the ButtonPanel class
        ButtonPanel buttonsPanel;
         * an instance of the LeftPanel class
        LeftPanel leftPanel;
         * an instance of the the GCASProperties class
        GCASProperties gcasProps;
        private static MainFrame thisPlanMain = null;
        private MainPanel planListMain;
         * constructor for MainFrame
         * @param frame the parent frame calling this class
         * @param locationComp the location of the component that initiated the opening of the dialog
         * @param labelText the name of the plan that is being viewed
         * @param title title of window
        private MainFrame(JFrame frame, Component locationComp, String labelText,
                String title)
            super(title);
            gcasProps = GCASProperties.getInstance();
            mainPanel = new OuterPanel(labelText, currentPane,
                    taskNameToId, taskSetPanes);
            leftPanel = mainPanel.getLeftPanel();
            System.out.println("LABLE: " + labelText);
            leftPanel.setMainPanelContents();
            buttonsPanel = new ButtonPanel(labelText, taskSetPanes,
                    taskNameToId, leftPanel);
            contentPane = getContentPane();
            contentPane.add(mainPanel, BorderLayout.CENTER);
            contentPane.add(buttonsPanel, BorderLayout.PAGE_END);
            this.addWindowListener(this);
            this.labelText = labelText;
            pack();
            setLocationRelativeTo(locationComp);
            this.setVisible(true);
            planListMain = MainPanel.getInstance();
            planListMain.setVisible(false);
        public static MainFrame getInstance(JFrame frame, Component locationComp, String labelText,
                String title)
            if (thisPlanMain == null)
                thisPlanMain = new MainFrame(frame, locationComp, labelText,
                        title);
            return thisPlanMain;
        public static MainFrame getDialogObject()
        {   //from the location this is called (ButtonPanel), this will never
            //be null
            return thisPlanMain;
        public static void setABMDDialogNull()
            thisPlanMain = null;
         * returns an instance of MainFrame
         * @return MainFrame instance
        public static MainFrame getDialog()
            return dialog;
         * setter for MainFrame
         * @param aDialog a MainFrame instance
        public static void setDialog(MainFrame aDialog)
            dialog = aDialog;
         * window opened event
         * @param windowEvent the window event passed to this method
        public void windowOpened(WindowEvent windowEvent)
         * The window event when a window is closing
         * @param windowEvent the window event passed to this method
        public void windowClosing(WindowEvent windowEvent)
            gcasProps.storeProperties("PlanList");
            MainPanel abmd = MainPanel.getInstance();
    //        planMain = this.getDialogObject();
    //        if(planMain != null)
    //            planMain.setVisible(false);
    //            abmd.setVisible(true);
    //            planMain.setABMDDialogNull();
            if(this.getDialogObject()!= null)
                abmd.setVisible(true);
                setVisible(false);
                setABMDDialogNull(); 
         * Invoked when the Window is set to be the active Window
         * @param windowEvent the window event passed to this method
        public void windowActivated(WindowEvent windowEvent)
         * Invoked when a window has been closed as the result of calling dispose on the window
         * @param windowEvent the window event passed to this method
        public void windowClosed(WindowEvent windowEvent)
         * Invoked when a Window is no longer the active Window
         * @param windowEvent the window event passed to this method
        public void windowDeactivated(WindowEvent windowEvent)
            System.out.println("HI");
         * Invoked when a window is changed from a minimized to a normal state
         * @param windowEvent the window event passed to this method
        public  void windowDeiconified(WindowEvent windowEvent)
            //we could have code here that changed the way alerts are done
           System.out.println("Invoked when a window is changed from a minimized to a normal state.");
         * Invoked when a window is changed from a normal to a minimized state
         * @param windowEvent the window event passed to this method
        public  void windowIconified(WindowEvent windowEvent)
            //we could have code here that changed the way alerts are done
    //        System.out.println("Invoked when a window is changed from a normal to a minimized state.");
    }anyone know whats wrong?

    It turned out that my ide was running the old jar and not updating it, so no matter what code i added, it wasn't being seen. Everything should be fine now.

  • Problem with JFrame and JPanel

    Okay, well I'm busy doing a lodge management program for a project and I have programmed this JFrame
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    public class FinalTest extends JFrame
         public JPanel contentPane;
         public JImagePanel imgPanel;
         private JLabel[] cottageIcon;
         private boolean keepMoving;
         private int selectedCottage;
         public FinalTest()
              super();
              initializeComponent();
              addActionListeners();
              this.setVisible(true);
         private void initializeComponent()
              contentPane = (JPanel)getContentPane();
              contentPane.setLayout(null);
              imgPanel = new JImagePanel("back.png");
               imgPanel.setLayout(null);
              imgPanel.setBackground(new Color(1, 0, 0));
                   addComponent(contentPane, imgPanel, 10,10,imgPanel.getImageWidth(),imgPanel.getImageHeight());
              cottageIcon = new JLabel[6];
              keepMoving = true;
              selectedCottage = 0;
              cottageIcon[0] =  new JLabel();
              //This component will never be added or shown, but needs to be there to cover for no cottage selected
              for(int a = 1; a < cottageIcon.length; a++)
                   cottageIcon[a] = new JLabel("C" + (a));
                   cottageIcon[a].setBackground(new Color(255, 0, 0));
                    cottageIcon[a].setHorizontalAlignment(SwingConstants.CENTER);
                    cottageIcon[a].setHorizontalTextPosition(SwingConstants.LEADING);
                    cottageIcon[a].setForeground(new Color(255, 255, 255));
                    cottageIcon[a].setOpaque(true);
                    addComponent(imgPanel,cottageIcon[a],12,(a-1)*35 + 12,30,30);
                this.setTitle("Cottage Chooser");
                this.setLocationRelativeTo(null);
              this.setSize(new Dimension(540, 430));
         private void addActionListeners()
              imgPanel.addMouseListener(new MouseAdapter()
                   public void mousePressed(MouseEvent e)
                        imgPanel_mousePressed(e);
                   public void mouseReleased(MouseEvent e)
                        imgPanel_mouseReleased(e);
                   public void mouseEntered(MouseEvent e)
                        imgPanel_mouseEntered(e);
              imgPanel.addMouseMotionListener(new MouseMotionAdapter()
                   public void mouseDragged(MouseEvent e)
                        imgPanel_mouseDragged(e);
         private void addComponent(Container container,Component c,int x,int y,int width,int height)
              c.setBounds(x,y,width,height);
              container.add(c);
         private void imgPanel_mousePressed(MouseEvent e)
              for(int a = 1; a < cottageIcon.length; a++)
                   if(withinBounds(e.getX(),e.getY(),cottageIcon[a].getBounds()))
                        System.out.println("B" + withinBounds(e.getX(),e.getY(),cottageIcon[a].getBounds()));
                        selectedCottage = a;
                        keepMoving = true;
         private void imgPanel_mouseReleased(MouseEvent e)
              System.out.println("called");
              selectedCottage = 0;
              keepMoving = false;
         private void imgPanel_mouseDragged(MouseEvent e)
               System.out.println("XXX" + Math.random() * 100);
              if(keepMoving)
                   int x = e.getX();
                    int y = e.getY();
                    if(selectedCottage!= 0)
                         cottageIcon[selectedCottage].setBounds(x-(30/2),y-(30/2),30,30);
                    if(!legalBounds(imgPanel,cottageIcon[selectedCottage]))
                        keepMoving = false;
                        cottageIcon[selectedCottage].setBounds(imgPanel.getWidth()/2,imgPanel.getHeight()/2,30,30);
              System.out.println(cottageIcon[selectedCottage].getBounds());
         private void imgPanel_mouseEntered(MouseEvent e)
               System.out.println("entered");
         private void but1_actionPerformed(ActionEvent e)
              String input = JOptionPane.showInputDialog(null,"Enter selected cottage");
              selectedCottage = Integer.parseInt(input) - 1;
         public boolean legalBounds(Component containerComponent, Component subComponent)
              int contWidth = containerComponent.getWidth();
              int contHeight = containerComponent.getHeight();
              int subComponentX = subComponent.getX();
              int subComponentY = subComponent.getY();
              int subComponentWidth = subComponent.getWidth();
              int subComponentHeight = subComponent.getHeight();
              if((subComponentX < 0) || (subComponentY < 0) || (subComponentX > contWidth) || (subComponentY > contHeight))
                   return false;
              return true;
         public boolean withinBounds(int mouseX, int mouseY, Rectangle componentRectangle)
              int componentX = (int)componentRectangle.getX();
              int componentY = (int)componentRectangle.getY();
              int componentHeight = (int)componentRectangle.getHeight();
              int componentWidth = (int)componentRectangle.getWidth();
              if((mouseX >= componentX) && (mouseX <= (componentX + componentWidth)) && (mouseY >= componentY) && (mouseY <= (componentY + componentWidth)))
                   return true;
              return false;
         public static void main(String[] args)
              JFrame.setDefaultLookAndFeelDecorated(true);
              //JDialog.setDefaultLookAndFeelDecorated(true);
              try
                   UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
              catch (Exception ex)
                   System.out.println("Failed loading L&F: ");
                   System.out.println(ex);
              FinalTest ft = new FinalTest();
    import java.awt.Dimension;
    import java.awt.Graphics;
    import java.awt.Image;
    import javax.swing.ImageIcon;
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    public class JImagePanel extends JPanel
      private Image image;
      public JImagePanel(String imgFileName)
           image = new ImageIcon(imgFileName).getImage();
        setLayout(null);
      public void paintComponent(Graphics g)
        g.drawImage(image, 0, 0, null);
      public Dimension getImageSize()
                Dimension size = new Dimension(image.getWidth(null), image.getHeight(null));
             return size;
      public int getImageWidth()
                int width = image.getWidth(null);
                return width;
      public int getImageHeight()
              int height = image.getHeight(null);
              return height;
    }Now the problem I'm having is changing that class to a JFrame, it seems simple but I keep having problems like when it runs from another JFrame nothing pops up. I can do it like this:
    FinalTest ft = new FinalTest();
    ft.setVisible(false);
    JPanel example = ft.contentPanehowever I will probably be marked down on this for bad code. I'm not asking for the work to be done for me, but I'm really stuck on this and just need some pointers so I can carry on with the project. Thanks,
    Steve

    CeciNEstPasUnProgrammeur wrote:
    I'd actually consider your GUI being a JPanel instead of a JFrame quite good design - makes it easy to put the stuff into an applet when necessary...
    Anyway, you should set setVisible() to true to make it appear, not to false. Otherwise, I don't seem to understand your problem.That is actually my problem. I am trying to convert this JFrame to a JPanel

  • Problem with writing and reading using serialization

    I am having a problem with writing and reading an object that has another object in it. The purpose of the class is to write a order that has multiple items in it. And there will be several orders. This is for an IB project, where one of the requirements is to utilize a hierarchical composite data structure. That is, it is "one that contains more than one element and at least one of the elements is a composite data structure. Examples are, an array or linked list of records, a record that has one field that is another record, or an array". The code is shown below:
    The error produced is
    java.lang.NullPointerException
         at SamsonRubberIndustries.CustomerOrderDetails.createCustOrdDetailsScreen(CustomerOrderDetails.java:150)
         at SamsonRubberIndustries.CustomerOrderDetails$1.run(CustomerOrderDetails.java:78)
         at java.awt.event.InvocationEvent.dispatch(Unknown Source)
         at java.awt.EventQueue.dispatchEvent(Unknown Source)
         at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
         at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
         at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
         at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
         at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
         at java.awt.EventDispatchThread.run(Unknown Source)
    public class CustOrdObject implements Serializable {
         public int CustID;
         public int CustOrderID;
         public Object OrderDate;
         public InnerCustOrdObject[] innerCustOrdObj;
         public float GrandTotal;
         public int MaxItems;
         public CustOrdObject() {}
         public CustOrdObject(InnerCustOrdObject[] innerCustOrdObj,
    int CustID, int CustOrderID, Object OrderDate,
    float GrandTotal, int innerarrlength, int innerarrpos, int MaxItems) {
              this.CustID = CustID;
              this.CustOrderID = CustOrderID;
              this.OrderDate = OrderDate;
              this.GrandTotal = GrandTotal;          
              this.MaxItems = MaxItems;
              this.innerCustOrdObj = new InnerCustOrdObject[MaxItems];
         public InnerCustOrdObject[] getInnerCustOrdObj() {
              return innerCustOrdObj;
         public void setInnerCustOrdObj(InnerCustOrdObject[] innerCustOrdObj) {
              this.innerCustOrdObj = innerCustOrdObj;
         public int getCustID() {
              return CustID;
         public void setCustID(int custID) {
              CustID = custID;
         public int getCustOrderID() {
              return CustOrderID;
         public void setCustOrderID(int custOrderID) {
              CustOrderID = custOrderID;
         public Object getOrderDate() {
              return OrderDate;
         public void setOrderDate(Object orderDate) {
              OrderDate = orderDate;
         public void setGrandTotal(float grandTotal) {
              GrandTotal = grandTotal;
         public float getGrandTotal() {
              return GrandTotal;
         public int getMaxItems() {
              return MaxItems;
         public void setMaxItems(int maxItems) {
              MaxItems = maxItems;
    public class InnerCustOrdObject implements Serializable{
         public int ItemNumber;
         public float UnitPrice;
         public int QuantityRequired;
         public float TotalPrice;
         public InnerCustOrdObject() {}
         public InnerCustOrdObject(int ItemNumber, float
    UnitPrice, int QuantityRequired, float TotalPrice){
              this.ItemNumber = ItemNumber;
              this.UnitPrice = UnitPrice;
              this.QuantityRequired = QuantityRequired;
              this.TotalPrice = TotalPrice;
         public int getItemNumber() {
              return ItemNumber;
         public void setItemNumber(int itemNumber) {
              ItemNumber = itemNumber;
         public int getQuantityRequired() {
              return QuantityRequired;
         public void setQuantityRequired(int quantityRequired) {
              QuantityRequired = quantityRequired;
         public float getTotalPrice() {
              return TotalPrice;
         public void setTotalPrice(float totalPrice) {
              TotalPrice = totalPrice;
         public float getUnitPrice() {
              return UnitPrice;
         public void setUnitPrice(float unitPrice) {
              UnitPrice = unitPrice;
    import java.awt.*;
    import java.awt.event.*;
    import java.io.*;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    import javax.swing.*;
    import javax.swing.table.DefaultTableCellRenderer;
    import javax.swing.table.DefaultTableModel;
    public class CustomerOrderDetails extends CommonFeatures{
         //TODO
         private static int MAX_ORDERS = 200;
         private static int MAX_ORDERITEMS = 100;
         private static int MaxRecord;
         private static int CurrentRecord = 1;
         private static int currentItem;
         private static int MaxItems;
         private static boolean FileExists, recFileExists;
         private static CustOrdObject[] orderDetails = new CustOrdObject[MAX_ORDERS];
         private static InnerCustOrdObject[] innerCustOrdObj = new InnerCustOrdObject[MAX_ORDERITEMS];     
         private static File OrderDetailsFile = new File("CustOrdDetails.dat");
         private static File OrdRecordNumStore = new File("OrdRecordNumStore.txt");
         private static PrintWriter writeFile;
         private static BufferedReader readFile;
         private static ObjectOutputStream objOut;
         private static ObjectInputStream objIn;
         //Set format for date
         SimpleDateFormat simpleDF = new SimpleDateFormat("dd MM yyyy");
         //--<BEGINNING>--Declaring Interface Variables------------------------------------------//
         private JPanel innertoppanel, innercenterpanel, innerbottompanel, innerrightpanel, innerleftpanel;
         private JLabel CustIDLbl, CustOrderIDLbl, OrderedDateLbl, GrandTotLbl, ItemNumberLbl,UnitPriceLbl, QuantityReqLbl, TotPriceLbl;
         private JTextField CustIDTxt, CustOrderIDTxt, OrderedDateTxt, GrandTotTxt, ItemNumberTxt, UnitPriceTxt, QuantityReqTxt, TotPriceTxt;
         private JButton addrecordbtn, savebtn, externalprevbtn, externalnextbtn, internalprevbtn, internalnextbtn, gotorecordbtn, additemreqbtn;
         //--<END>--Declaring Interface Variables------------------------------------------------//
         public static void main(String[] args) {
              final CustomerOrderDetails COD = new CustomerOrderDetails();
              java.awt.EventQueue.invokeLater(new Runnable() {
                   public void run() {
                        try {
                             UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
                             COD.createCustOrdDetailsScreen();
                        } catch (Exception eb) {
                             eb.printStackTrace();
         //--<BEGINNING>--Creating CustomerOrderDetails Screen---------------------------------------//
         public JFrame createCustOrdDetailsScreen() {
              createDefaultFrame();
              mainframe.setSize(800,500);
              createContainerPanel();
              containerpanel.add(createCustOrdDetailsTitle(), BorderLayout.NORTH);
              containerpanel.add(createCustOrdDetailsMainPanel(), BorderLayout.CENTER);
              //containerpanel.add(createCustOrdDetailsLeftNavButtons(), BorderLayout.WEST);
              //containerpanel.add(createCustOrdDetailsRightNavButtons(), BorderLayout.EAST);
              containerpanel.add(createCustOrdDetailsButtons(), BorderLayout.SOUTH);
              mainframe.setContentPane(containerpanel);
              mainframe.setLocationRelativeTo(null);
              mainframe.setVisible(true);
              //--<BEGINNING>--Checks to see whether CRecordNumberStore file exists-------------------------------//
              if (OrdRecordNumStore.exists() == true) {
                   recFileExists = true;
              }else {
                   recFileExists = false;
              if (recFileExists == true) {
                   MaxRecord = readRecordNumber();
                   CurrentRecord = MaxRecord;
                   //readOrder();
                   //readInnerOrderRecord(CurrentRecord);
                   System.out.println("Current Record " +CurrentRecord);
                   System.out.println("Max Record " +MaxRecord);
              }else{
                   MaxRecord = 1;
                   writeRecordNumber(MaxRecord);
                   CustOrderIDTxt.setText(""+MaxRecord);
                   System.out.println("Current Record " +CurrentRecord);
                   System.out.println("Max Record " +MaxRecord);
              //--<END>--Checks to see whether CRecordNumberStore file exists--------------------------------------//
              if(readOrder() != null){
                   orderDetails = (CustOrdObject[]) readOrder();
                 innerCustOrdObj = orderDetails[CurrentRecord].getInnerCustOrdObj();
                   MaxItems = orderDetails[CurrentRecord].getMaxItems();
                   if(CurrentRecord > 1 && CurrentRecord < MaxRecord){
                        externalnextbtn.setEnabled(true);
                        externalprevbtn.setEnabled(true);
                   if(CurrentRecord >= MaxRecord){
                        externalnextbtn.setEnabled(false);
                   getFieldText(CurrentRecord-1);
              }else{
                   orderDetails[CurrentRecord] = new CustOrdObject();
                   currentItem = 1;
              return mainframe;
         //--<END>--Creating CustomerOrderDetails Screen---------------------------------------------//
         public JPanel createCustOrdDetailsTitle(){
              createTitlePanel();
              titlepanel.setBackground(TxtfontColor);
              label.setText("- Customer Order Details -");
              labelpanel.setBackground(TxtfontColor);
              label.setForeground(Color.white);
              createbuttonpanel();
              buttonpanel.setBackground(TxtfontColor) ;
              buttonpanel.add(createReturnToMainMenuButton());
              titlepanel.add(labelpanel, BorderLayout.WEST);
              titlepanel.add(buttonpanel, BorderLayout.EAST);
              return titlepanel;
         public JPanel createCustOrdDetailsMainPanel(){
              createmainpanel();
              mainpanel.setBackground(TxtfontColor);
              mainpanel.setLayout(new BorderLayout());          
              mainpanel.setBorder(BorderFactory.createTitledBorder(""));
              mainpanel.add(createInnerTopPanel(), BorderLayout.NORTH);
              mainpanel.add(createInnerCenterPanel(), BorderLayout.CENTER);
              mainpanel.add(createInnerBottomPanel(), BorderLayout.SOUTH);
              mainpanel.add(createInnerRightPanel(), BorderLayout.EAST);
              mainpanel.add(createInnerLeftPanel(), BorderLayout.WEST);
              return mainpanel;
         public JPanel createInnerTopPanel(){
              innertoppanel = new JPanel(new GridBagLayout());
              innertoppanel.setBackground(TxtfontColor);
              GridBagConstraints GBC = new GridBagConstraints();
              GBC.fill = GridBagConstraints.HORIZONTAL;
              //Setting Font Type and Size
              Font font = new Font("Arial", Font.BOLD, 11);
              CustIDLbl = new JLabel("Customer ID");
              CustIDLbl.setBorder(BorderFactory.createEmptyBorder(10,10,10,10));
              CustIDLbl.setFont(font);
              CustIDLbl.setForeground(LblfontColor);
              GBC.gridx = 1;
              GBC.gridy = 1;
              innertoppanel.add(CustIDLbl, GBC);     
              CustIDTxt = new JTextField(20);
              CustIDTxt.setEditable(true);
              GBC.gridx = 2;
              GBC.gridy = 1;
              innertoppanel.add(CustIDTxt, GBC);
              GBC.gridx = 3;
              GBC.gridy = 1;
              innertoppanel.add(Box.createHorizontalStrut(220), GBC);
              OrderedDateLbl = new JLabel("Order Date");
              OrderedDateLbl.setBorder(BorderFactory.createEmptyBorder(10,10,10,10));
              OrderedDateLbl.setFont(font);
              OrderedDateLbl.setForeground(LblfontColor);
              GBC.gridx = 4;
              GBC.gridy = 1;
              innertoppanel.add(OrderedDateLbl, GBC);     
              //Get today's date
              Date todaydate = new Date();
              OrderedDateTxt = new JTextField(simpleDF.format(todaydate), 20);
              OrderedDateTxt.setHorizontalAlignment(JTextField.CENTER);
              OrderedDateTxt.setEditable(false);
              GBC.gridx = 5;
              GBC.gridy = 1;
              innertoppanel.add(OrderedDateTxt, GBC);
              CustOrderIDLbl = new JLabel("Customer Order ID");
              CustOrderIDLbl.setBorder(BorderFactory.createEmptyBorder(10,10,10,10));
              CustOrderIDLbl.setFont(font);
              CustOrderIDLbl.setForeground(LblfontColor);
              GBC.gridx = 1;
              GBC.gridy = 2;
              innertoppanel.add(CustOrderIDLbl, GBC);
              CustOrderIDTxt = new JTextField(20);
              CustOrderIDTxt.setEditable(false);
              GBC.gridx = 2;
              GBC.gridy = 2;
              innertoppanel.add(CustOrderIDTxt, GBC);
              return innertoppanel;
         public JPanel createInnerCenterPanel(){
              innercenterpanel = new JPanel(new GridBagLayout());
              innercenterpanel.setBackground(TxtfontColor);
              innercenterpanel.setBorder(BorderFactory.createLoweredBevelBorder());
              GridBagConstraints GBC = new GridBagConstraints();
              GBC.fill = GridBagConstraints.HORIZONTAL;
              //Setting Font Type and Size
              Font font = new Font("Arial", Font.BOLD, 11);
              ItemNumberLbl = new JLabel("Item Number");
              ItemNumberLbl.setBorder(BorderFactory.createEmptyBorder(10,10,10,10));
              ItemNumberLbl.setFont(font);
              ItemNumberLbl.setForeground(LblfontColor);
              GBC.gridx = 1;
              GBC.gridy = 1;
              innercenterpanel.add(ItemNumberLbl, GBC);     
              ItemNumberTxt = new JTextField(20);
              GBC.gridx = 2;
              GBC.gridy = 1;
              innercenterpanel.add(ItemNumberTxt, GBC);
              UnitPriceLbl = new JLabel("Unit Price");
              UnitPriceLbl.setBorder(BorderFactory.createEmptyBorder(10,10,10,10));
              UnitPriceLbl.setFont(font);
              UnitPriceLbl.setForeground(LblfontColor);
              GBC.gridx = 1;
              GBC.gridy = 2;
              innercenterpanel.add(UnitPriceLbl, GBC);     
              UnitPriceTxt = new JTextField(20);
              //UnitPriceTxt.setEditable(false);
              GBC.gridx = 2;
              GBC.gridy = 2;
              innercenterpanel.add(UnitPriceTxt, GBC);
              QuantityReqLbl = new JLabel("Quantity Required");
              QuantityReqLbl.setBorder(BorderFactory.createEmptyBorder(10,10,10,10));
              QuantityReqLbl.setFont(font);
              QuantityReqLbl.setForeground(LblfontColor);
              GBC.gridx = 1;
              GBC.gridy = 3;
              innercenterpanel.add(QuantityReqLbl, GBC);     
              QuantityReqTxt = new JTextField(20);
              //QuantityReqTxt.setEditable(false);
              GBC.gridx = 2;
              GBC.gridy = 3;
              innercenterpanel.add(QuantityReqTxt, GBC);
              TotPriceLbl = new JLabel("Total Price");
              TotPriceLbl.setBorder(BorderFactory.createEmptyBorder(10,10,10,10));
              TotPriceLbl.setFont(font);
              TotPriceLbl.setForeground(LblfontColor);
              GBC.gridx = 1;
              GBC.gridy = 4;
              innercenterpanel.add(TotPriceLbl, GBC);     
              TotPriceTxt = new JTextField(20);
              //TotPriceTxt.setEditable(false);
              GBC.gridx = 2;
              GBC.gridy = 4;
              innercenterpanel.add(TotPriceTxt, GBC);
              return innercenterpanel;
         public JPanel createInnerBottomPanel(){
              innerbottompanel = new JPanel(new FlowLayout(FlowLayout.RIGHT));
              innerbottompanel.setBackground(TxtfontColor);
              //Setting Font Type and Size
              Font font = new Font("Arial", Font.BOLD, 11);
              GrandTotLbl = new JLabel("Grand Total");
              GrandTotLbl.setBorder(BorderFactory.createEmptyBorder(10,10,10,10));
              GrandTotLbl.setFont(font);
              GrandTotLbl.setForeground(LblfontColor);
              innerbottompanel.add(GrandTotLbl);
              innerbottompanel.add(Box.createHorizontalStrut(30));
              GrandTotTxt = new JTextField(20);
              innerbottompanel.add(GrandTotTxt);
              return innerbottompanel;
         public JPanel createInnerRightPanel(){
              innerrightpanel = new JPanel(new FlowLayout(FlowLayout.CENTER));
              innerrightpanel.setBackground(TxtfontColor);
              innerrightpanel.setLayout(new BoxLayout(navrightpanel, BoxLayout.Y_AXIS));
              innerrightpanel.setBorder(BorderFactory.createLoweredBevelBorder());
              innerrightpanel.setLayout(new GridBagLayout());          
              GridBagConstraints GBC = new GridBagConstraints();
              GBC.fill = GridBagConstraints.HORIZONTAL;
              internalnextbtn = new JButton(createNextButtonIcon());
              GBC.gridx = 1;
              GBC.gridy = 1;
              internalnextbtn.addActionListener(new ActionListener(){
                   public void actionPerformed(ActionEvent evt){
                        //getInnerFieldText(currentItem);
                        internalprevbtn.setEnabled(true);
                        if(currentItem < MaxItems){
                             ++CurrentRecord;
                             //readOrder();
                             //readInnerOrderRecord(CurrentRecord);
                             setInnerFieldText(currentItem);
                             System.out.println(CurrentRecord);//Checking RECORD_NUM
                        if(currentItem == MaxItems){
                             internalnextbtn.setEnabled(false);
              innerrightpanel.add(internalnextbtn, GBC);
              return innerrightpanel;
         public JPanel createInnerLeftPanel(){
              innerleftpanel = new JPanel(new FlowLayout(FlowLayout.CENTER));
              innerleftpanel.setBackground(TxtfontColor);
              innerleftpanel.setBorder(BorderFactory.createLoweredBevelBorder());
              innerleftpanel.setForeground(Color.BLACK);
              innerleftpanel.setLayout(new GridBagLayout());          
              GridBagConstraints GBC = new GridBagConstraints();
              GBC.fill = GridBagConstraints.HORIZONTAL;
              internalprevbtn = new JButton(createPreviousButtonIcon());
              GBC.gridx = 1;
              GBC.gridy = 1;
              internalprevbtn.addActionListener(new ActionListener(){
                   public void  actionPerformed(ActionEvent evt){
                        //getInnerFieldText(currentItem);
                        internalnextbtn.setEnabled(true);
                        if(currentItem == 1){
                             internalprevbtn.setEnabled(false);
                        if(currentItem > 0){
                             --currentItem;
                             //readOrder();
                             setInnerFieldText(currentItem);
              innerleftpanel.add(internalprevbtn, GBC);
              return innerleftpanel;
         public JPanel createCustOrdDetailsButtons(){
              createbuttonpanel();
              buttonpanel.setBackground(TxtfontColor);
              externalprevbtn = new JButton(createPreviousButtonIcon());
              externalprevbtn.addActionListener(new ActionListener(){
                   public void  actionPerformed(ActionEvent evt){
                        getFieldText(CurrentRecord);
                        externalnextbtn.setEnabled(true);
                        if(CurrentRecord == 1){
                             externalprevbtn.setEnabled(false);
                        if(CurrentRecord > 0){
                             --CurrentRecord;
                             setFieldText(CurrentRecord);
                             System.out.println(CurrentRecord);//Checking RECORD_NUM
              buttonpanel.add(externalprevbtn);
              addrecordbtn = new JButton("Add Record", createAddButtonIcon());
              addrecordbtn.addActionListener(new ActionListener(){
                   public void actionPerformed(ActionEvent evt){
                        try{
                             MaxRecord = readRecordNumber();
                             MaxRecord++;
                             writeRecordNumber(MaxRecord);
                             //--<BEGINNING>--Clear Fields-------------------------------------------------------//
                             CustIDTxt.setText("");
                             CustOrderIDTxt.setText(""+MaxRecord);
                             //Get today's date
                             Date todaydate = new Date();
                             OrderedDateTxt.setText(""+simpleDF.format(todaydate));
                             ItemNumberTxt.setText("");
                             UnitPriceTxt.setText("");
                             QuantityReqTxt.setText("");
                             TotPriceTxt.setText("");
                             GrandTotTxt.setText("");
                             //--<END>--Clear Fields-------------------------------------------------------------//
                             externalnextbtn.setEnabled(false);
                             externalprevbtn.setEnabled(true);
                             System.out.println(MaxRecord);
                        } catch(Exception ec){ec.printStackTrace();}
              buttonpanel.add(addrecordbtn);
              savebtn = new JButton("Save Data", createSaveButtonIcon());
              savebtn.addActionListener(new ActionListener(){
                   public void actionPerformed(ActionEvent evt){
                        setFieldText(CurrentRecord);
                        writeOrder();
                        writeRecordNumber(MaxRecord);
                        System.out.println(CurrentRecord);
                        System.out.println(MaxRecord);
              buttonpanel.add(savebtn);
              java.net.URL imageURL_AddRowIcon = CommonFeatures.class.getResource("Icons/edit_add.png");
              ImageIcon AddRowIcon = new ImageIcon(imageURL_AddRowIcon);
              additemreqbtn = new JButton("Add Item", AddRowIcon);
              additemreqbtn.addActionListener(new ActionListener(){
                   public void actionPerformed(ActionEvent evt){
                        try{
                             //--<BEGINNING>--Clear Fields-------------------------------------------------------//
                             ItemNumberTxt.setText("");
                             UnitPriceTxt.setText("");
                             QuantityReqTxt.setText("");
                             TotPriceTxt.setText("");
                             //--<END>--Clear Fields-------------------------------------------------------------//
                             //CurrentRecord = MaxRecord;
                             currentItem++;
                             setInnerFieldText(currentItem);
                             internalnextbtn.setEnabled(false);
                             internalprevbtn.setEnabled(true);
                             System.out.println(MaxRecord);
                        } catch(Exception ec){ec.printStackTrace();}
              buttonpanel.add(additemreqbtn);
              externalnextbtn = new JButton(createNextButtonIcon());
              externalnextbtn.addActionListener(new ActionListener(){
                   public void actionPerformed(ActionEvent evt){
                        getFieldText(CurrentRecord);
                        externalprevbtn.setEnabled(true);
                        if(CurrentRecord < MaxRecord){
                             ++CurrentRecord;
                             setFieldText(CurrentRecord);
                             System.out.println(CurrentRecord);//Checking RECORD_NUM
                        if(CurrentRecord == MaxRecord){
                             externalnextbtn.setEnabled(false);
              buttonpanel.add(externalnextbtn);
              return buttonpanel;
         //TODO
         public void setFieldText(int orderID){//TODO
              orderDetails[orderID].setCustID(Integer.parseInt(CustIDTxt.getText()));
              orderDetails[orderID].setCustOrderID(Integer.parseInt(CustOrderIDTxt.getText()));
              orderDetails[orderID].setOrderDate(OrderedDateTxt.getText());
              orderDetails[orderID].setInnerCustOrdObj(innerCustOrdObj);
              orderDetails[orderID].setMaxItems(MaxItems);
              setInnerFieldText(currentItem);
              orderDetails[orderID].setGrandTotal(Float.parseFloat(GrandTotTxt.getText()));
         public void setInnerFieldText(int currentItem){//TODO
              innerCustOrdObj[currentItem] = new InnerCustOrdObject();
              innerCustOrdObj[currentItem].setItemNumber(Integer.parseInt(ItemNumberTxt.getText()));
              innerCustOrdObj[currentItem].setUnitPrice(Float.parseFloat(UnitPriceTxt.getText()));
              innerCustOrdObj[currentItem].setQuantityRequired(Integer.parseInt(QuantityReqTxt.getText()));
              innerCustOrdObj[currentItem].setTotalPrice(Float.parseFloat(TotPriceTxt.getText()));
         public void getFieldText(int orderID){
              CustIDTxt.setText(Integer.toString(orderDetails[orderID].getCustID()));
              CustOrderIDTxt.setText(Integer.toString(orderDetails[orderID].getCustOrderID()));
              OrderedDateTxt.setText(""+orderDetails[orderID].getOrderDate());          
              currentItem = orderDetails[orderID].getMaxItems();
              System.err.println("currentItem" + currentItem);
              getInnerFieldText(currentItem);
              GrandTotTxt.setText(Float.toString(orderDetails[orderID].getGrandTotal()));
         public void getInnerFieldText(int currentItem){
              ItemNumberTxt.setText(Integer.toString(innerCustOrdObj[currentItem].getItemNumber()));
              UnitPriceTxt.setText(Float.toString(innerCustOrdObj[currentItem].getUnitPrice()));
              QuantityReqTxt.setText(Integer.toString(innerCustOrdObj[currentItem].getQuantityRequired()));
              TotPriceTxt.setText(Float.toString(innerCustOrdObj[currentItem].getTotalPrice()));
         public void writeOrder(){//TODO
              try {
                   objOut = new ObjectOutputStream(new FileOutputStream(OrderDetailsFile));
                   objOut.writeObject(orderDetails);
                   System.out.println("WORKING!");
                   objOut.flush();
                   objOut.close();
              } catch (IOException e) {
                   e.printStackTrace();
         public Object readOrder(){
              Object temporaryObj;
              try{
                   objIn = new ObjectInputStream(new FileInputStream(OrderDetailsFile));
                   temporaryObj = objIn.readObject();               
                   CustOrdObject[] blah = (CustOrdObject[]) temporaryObj;
                   System.out.println("Outer: "+blah[1].getCustID());
                   InnerCustOrdObject[] whee = blah[1].getInnerCustOrdObj();
                   System.out.println("Inner: "+whee[1].getItemNumber());
                   objIn.close();
                   System.out.println("Read Worky!");
                   return temporaryObj;
              }catch(Exception e){
                   e.printStackTrace();
                   System.out.println("Read No Worky!");
                   return null;
         public void writeRecordNumber(int MaxRecord){
              try{
                   objOut = new ObjectOutputStream(new FileOutputStream(OrdRecordNumStore));
                   objOut.writeObject(MaxRecord);
                   System.out.println("WORKING!");
                   objOut.flush();
                   objOut.close();
              }catch(Exception e){e.printStackTrace();}
         public int readRecordNumber() {
              try {
                   objIn = new ObjectInputStream(new FileInputStream(OrdRecordNumStore));
                   int temporaryObj = Integer.parseInt(objIn.readObject().toString());
                   objIn.close();
                   System.out.println("Read Number Worky!");
                   return temporaryObj;
              } catch (Exception e) {
                   e.printStackTrace();
                   System.out.println("Read Number No Worky!");
                   return -1;
    }Message was edited by:
    Kilik07
    Message was edited by:
    Kilik07

    ok i got reading to work to a certain extent... but the prob is i cnt seem to save my innerCustOrdObj proprly...when ever i look for a record using the gotorecordbtn, the outerobject, which is the orderDetails, seems to change but the innerCustOrdObj remains the same... heres the new code..
    public class CustomerOrderDetails extends CommonFeatures{
         //TODO
         private static int MAX_ORDERS = 200;
         private static int MAX_ORDERITEMS = 100;
         private static int MaxRecord;
         private static int CurrentRecord = 1;
         private static int currentItem;
         private static int MaxItems = 1;
         private static boolean FileExists, recFileExists;
         private static boolean RecordExists;
         private static CustOrdObject[] orderDetails = new CustOrdObject[MAX_ORDERS];
         private static InnerCustOrdObject[] innerCustOrdObj = new InnerCustOrdObject[MAX_ORDERITEMS];     
         private static File OrderDetailsFile = new File("CustOrdDetails.ser");
         private static File OrdRecordNumStore = new File("OrdRecordNumStore.txt");
         private static PrintWriter writeFile;
         private static BufferedReader readFile;
         private static ObjectOutputStream objOut;
         private static ObjectInputStream objIn;
         //Set format for date
         SimpleDateFormat simpleDF = new SimpleDateFormat("dd MM yyyy");
         //--<BEGINNING>--Declaring Interface Variables------------------------------------------//
         private JPanel innertoppanel, innercenterpanel, innerbottompanel, innerrightpanel, innerleftpanel;
         private JLabel CustIDLbl, CustOrderIDLbl, OrderedDateLbl, GrandTotLbl, ItemNumberLbl,UnitPriceLbl, QuantityReqLbl, TotPriceLbl;
         private JTextField CustIDTxt, CustOrderIDTxt, OrderedDateTxt, GrandTotTxt, ItemNumberTxt, UnitPriceTxt, QuantityReqTxt, TotPriceTxt;
         private JButton addrecordbtn, savebtn, externalprevbtn, externalnextbtn, internalprevbtn, internalnextbtn, gotorecordbtn, additemreqbtn;
         //--<END>--Declaring Interface Variables------------------------------------------------//
         public static void main(String[] args) {
              final CustomerOrderDetails COD = new CustomerOrderDetails();
              java.awt.EventQueue.invokeLater(new Runnable() {
                   public void run() {
                        try {
                             UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
                             COD.createCustOrdDetailsScreen();
                        } catch (Exception eb) {
                             eb.printStackTrace();
         //--<BEGINNING>--Creating CustomerOrderDetails Screen---------------------------------------//
         public JFrame createCustOrdDetailsScreen() {
              createDefaultFrame();
              mainframe.setSize(800,500);
              createContainerPanel();
              containerpanel.add(createCustOrdDetailsTitle(), BorderLayout.NORTH);
              containerpanel.add(createCustOrdDetailsMainPanel(), BorderLayout.CENTER);
              //containerpanel.add(createCustOrdDetailsLeftNavButtons(), BorderLayout.WEST);
              //containerpanel.add(createCustOrdDetailsRightNavButtons(), BorderLayout.EAST);
              containerpanel.add(createCustOrdDetailsButtons(), BorderLayout.SOUTH);
              mainframe.setContentPane(containerpanel);
              mainframe.setLocationRelativeTo(null);
              mainframe.setVisible(true);
              //--<BEGINNING>--Checks to see whether CRecordNumberStore file exists-------------------------------//
              if (OrdRecordNumStore.exists() == true) {
                   recFileExists = true;
              }else {
                   recFileExists = false;
              if (recFileExists == true) {
                   MaxRecord = readRecordNumber();
                   CurrentRecord = MaxRecord;
                   //readOrder();
                   //readInnerOrderRecord(CurrentRecord);
                   System.out.println("Current Record " +CurrentRecord);
                   System.out.println("Max Record " +MaxRecord);
              }else{
                   MaxRecord = 1;
                   writeRecordNumber(MaxRecord);
                   CustOrderIDTxt.setText(""+MaxRecord);
                   System.out.println("Current Record " +CurrentRecord);
                   System.out.println("Max Record " +MaxRecord);
              //--<END>--Checks to see whether CRecordNumberStore file exists--------------------------------------//
              if(readOrder() != null){
                   orderDetails = (CustOrdObject[]) readOrder();
                   //CurrentRecord--;
                   //System.out.println("Current Rec Here"+CurrentRecord);
                   if(orderDetails[CurrentRecord] == null){
                        System.err.println("CustomerOrderObj 1 is null !!");
                   }else{
                        System.err.println("CustomerOrderObj 1 is  not null !!");
                   if(orderDetails[CurrentRecord].getInnerCustOrdObj() == null){
                        System.err.println("InnerCustomerOrderObj is null !!");
                   }else{
                        System.err.println("InnerCustomerOrderObj is  not null !!");
                   innerCustOrdObj = orderDetails[CurrentRecord].getInnerCustOrdObj();
                   MaxItems = orderDetails[CurrentRecord].getMaxItems();
                   if(CurrentRecord > 1 && CurrentRecord < MaxRecord){
                        externalnextbtn.setEnabled(true);
                        externalprevbtn.setEnabled(true);
                   if(CurrentRecord >= MaxRecord){
                        externalnextbtn.setEnabled(false);
                   getFieldText(CurrentRecord);
                   getInnerFieldText(MaxItems);
              }else{
                   orderDetails[CurrentRecord] = new CustOrdObject();
                   currentItem = 1;
              return mainframe;
         //--<END>--Creating CustomerOrderDetails Screen---------------------------------------------//
         public JPanel createCustOrdDetailsTitle(){
              createTitlePanel();
              titlepanel.setBackground(TxtfontColor);
              label.setText("- Customer Order Details -");
              labelpanel.setBackground(TxtfontColor);
              label.setForeground(Color.white);
              createbuttonpanel();
              buttonpanel.setBackground(TxtfontColor) ;
              buttonpanel.add(createReturnToMainMenuButton());
              titlepanel.add(labelpanel, BorderLayout.WEST);
              titlepanel.add(buttonpanel, BorderLayout.EAST);
              return titlepanel;
         public JPanel createCustOrdDetailsMainPanel(){
              createmainpanel();
              mainpanel.setBackground(TxtfontColor);
              mainpanel.setLayout(new BorderLayout());          
              mainpanel.setBorder(BorderFactory.createTitledBorder(""));
              mainpanel.add(createInnerTopPanel(), BorderLayout.NORTH);
              mainpanel.add(createInnerCenterPanel(), BorderLayout.CENTER);
              mainpanel.add(createInnerBottomPanel(), BorderLayout.SOUTH);
              mainpanel.add(createInnerRightPanel(), BorderLayout.EAST);
              mainpanel.add(createInnerLeftPanel(), BorderLayout.WEST);
              return mainpanel;
         public JPanel createInnerTopPanel(){
              innertoppanel = new JPanel(new GridBagLayout());
              innertoppanel.setBackground(TxtfontColor);
              GridBagConstraints GBC = new GridBagConstraints();
              GBC.fill = GridBagConstraints.HORIZONTAL;
              //Setting Font Type and Size
              Font font = new Font("Arial", Font.BOLD, 11);
              CustIDLbl = new JLabel("Customer ID");
              CustIDLbl.setBorder(BorderFactory.createEmptyBorder(10,10,10,10));
              CustIDLbl.setFont(font);
              CustIDLbl.setForeground(LblfontColor);
              GBC.gridx = 1;
              GBC.gridy = 1;
              innertoppanel.add(CustIDLbl, GBC);     
              CustIDTxt = new JTextField(20);
              CustIDTxt.setEditable(true);
              GBC.gridx = 2;
              GBC.gridy = 1;
              innertoppanel.add(CustIDTxt, GBC);
              GBC.gridx = 3;
              GBC.gridy = 1;
              innertoppanel.add(Box.createHorizontalStrut(220), GBC);
              OrderedDateLbl = new JLabel("Order Date");
              OrderedDateLbl.setBorder(BorderFactory.createEmptyBorder(10,10,10,10));
              OrderedDateLbl.setFont(font);
              OrderedDateLbl.setForeground(LblfontColor);
              GBC.gridx = 4;
              GBC.gridy = 1;
              innertoppanel.add(OrderedDateLbl, GBC);     
              //Get today's date
              Date todaydate = new Date();
              OrderedDateTxt = new JTextField(simpleDF.format(todaydate), 20);
              OrderedDateTxt.setHorizontalAlignment(JTextField.CENTER);
              OrderedDateTxt.setEditable(false);
              GBC.gridx = 5;
              GBC.gridy = 1;
              innertoppanel.add(OrderedDateTxt, GBC);
              CustOrderIDLbl = new JLabel("Customer Order ID");
              CustOrderIDLbl.setBorder(BorderFactory.createEmptyBorder(10,10,10,10));
              CustOrderIDLbl.setFont(font);
              CustOrderIDLbl.setForeground(LblfontColor);
              GBC.gridx = 1;
              GBC.gridy = 2;
              innertoppanel.add(CustOrderIDLbl, GBC);
              CustOrderIDTxt = new JTextField(20);
              //CustOrderIDTxt.setEditable(false);
              GBC.gridx = 2;
              GBC.gridy = 2;
              innertoppanel.add(CustOrderIDTxt, GBC);
              return innertoppanel;
         public JPanel createInnerCenterPanel(){
              innercenterpanel = new JPanel(new GridBagLayout());
              innercenterpanel.setBackground(TxtfontColor);
              innercenterpanel.setBorder(BorderFactory.createLoweredBevelBorder());
              GridBagConstraints GBC = new GridBagConstraints();
              GBC.fill = GridBagConstraints.HORIZONTAL;
              //Setting Font Type and Size
              Font font = new Font("Arial", Font.BOLD, 11);
              ItemNumberLbl = new JLabel("Item Number");
              ItemNumberLbl.setBorder(BorderFactory.createEmptyBorder(10,10,10,10));
              ItemNumberLbl.setFont(font);
              ItemNumberLbl.setForeground(LblfontColor);
              GBC.gridx = 1;
              GBC.gridy = 1;
              innercenterpanel.add(ItemNumberLbl, GBC);     
              ItemNumberTxt = new JTextField(20);
              GBC.gridx = 2;
              GBC.gridy = 1;
              innercenterpanel.add(ItemNumberTxt, GBC);
              UnitPriceLbl = new JLabel("Unit Price");
              UnitPriceLbl.setBorder(BorderFactory.createEmptyBorder(10,10,10,10));
              UnitPriceLbl.setFont(font);
              UnitPriceLbl.setForeground(LblfontColor);
              GBC.gridx = 1;
              GBC.gridy = 2;
              innercenterpanel.add(UnitPriceLbl, GBC);     
              UnitPriceTxt = new JTextField(20);
              //UnitPriceTxt.setEditable(false);
              GBC.gridx = 2;
              GBC.gridy = 2;
              innercenterpanel.add(UnitPriceTxt, GBC);
              QuantityReqLbl = new JLabel("Quantity Required");
              QuantityReqLbl.setBorder(BorderFactory.createEmptyBorder(10,10,10,10));
              QuantityReqLbl.setFont(font);
              QuantityReqLbl.setForeground(LblfontColor);
              GBC.gridx = 1;
              GBC.gridy = 3;
              innercenterpanel.add(QuantityReqLbl, GBC);     
              QuantityReqTxt = new JTextField(20);
              //QuantityReqTxt.setEditable(false);
              GBC.gridx = 2;
              GBC.gridy = 3;
              innercenterpanel.add(QuantityReqTxt, GBC);
              TotPriceLbl = new JLabel("Total Price");
              TotPriceLbl.setBorder(BorderFactory.createEmptyBorder(10,10,10,10));
              TotPriceLbl.setFont(font);
              TotPriceLbl.setForeground(LblfontColor);
              GBC.gridx = 1;
              GBC.gridy = 4;
              innercenterpanel.add(TotPriceLbl, GBC);     
              TotPriceTxt = new JTextField(20);
              TotPriceTxt.setEditable(false);
              TotPriceTxt.addFocusListener(new FocusAdapter(){
                   public void focusGained(FocusEvent evt){
                        TotPriceTxt.setText(""+Integer.parseInt(UnitPriceTxt.getText())*Integer.parseInt(QuantityReqTxt.getText()));
              GBC.gridx = 2;
              GBC.gridy = 4;
              innercenterpanel.add(TotPriceTxt, GBC);
              return innercenterpanel;
         public JPanel createInnerBottomPanel(){
              innerbottompanel = new JPanel(new FlowLayout(FlowLayout.RIGHT));
              innerbottompanel.setBackground(TxtfontColor);
              //Setting Font Type and Size
              Font font = new Font("Arial", Font.BOLD, 11);
              GrandTotLbl = new JLabel("Grand Total");
              GrandTotLbl.setBorder(BorderFactory.createEmptyBorder(10,10,10,10));
              GrandTotLbl.setFont(font);
              GrandTotLbl.setForeground(LblfontColor);
              innerbottompanel.add(GrandTotLbl);
              innerbottompanel.add(Box.createHorizontalStrut(30));
              GrandTotTxt = new JTextField(20);
              innerbottompanel.add(GrandTotTxt);
              return innerbottompanel;
         public JPanel createInnerRightPanel(){
              innerrightpanel = new JPanel(new FlowLayout(FlowLayout.CENTER));
              innerrightpanel.setBackground(TxtfontColor);
              innerrightpanel.setLayout(new BoxLayout(navrightpanel, BoxLayout.Y_AXIS));
              innerrightpanel.setBorder(BorderFactory.createLoweredBevelBorder());
              innerrightpanel.setLayout(new GridBagLayout());          
              GridBagConstraints GBC = new GridBagConstraints();
              GBC.fill = GridBagConstraints.HORIZONTAL;
              internalnextbtn = new JButton(createNextButtonIcon());
              GBC.gridx = 1;
              GBC.gridy = 1;
              internalnextbtn.addActionListener(new ActionListener(){
                   public void actionPerformed(ActionEvent evt){
                        getInnerFieldText(currentItem);
                        internalprevbtn.setEnabled(true);
                        if(currentItem < MaxItems){
                             ++currentItem;
                             orderDetails[CurrentRecord].getInnerCustOrdObj();
                             setInnerFieldText(currentItem);
                             System.out.println("Current Item" + currentItem);
                        if(currentItem == MaxItems){
                             internalnextbtn.setEnabled(false);
              innerrightpanel.add(internalnextbtn, GBC);
              return innerrightpanel;
         public JPanel createInnerLeftPanel(){
              innerleftpanel = new JPanel(new FlowLayout(FlowLayout.CENTER));
              innerleftpanel.setBackground(TxtfontColor);
              innerleftpanel.setBorder(BorderFactory.createLoweredBevelBorder());
              innerleftpanel.setForeground(Color.BLACK);
              innerleftpanel.setLayout(new GridBagLayout());          
              GridBagConstraints GBC = new GridBagConstraints();
              GBC.fill = GridBagConstraints.HORIZONTAL;
              internalprevbtn = new JButton(createPreviousButtonIcon());
              GBC.gridx = 1;
              GBC.gridy = 1;
              internalprevbtn.addActionListener(new ActionListener(){
                   public void  actionPerformed(ActionEvent evt){
                        getInnerFieldText(currentItem);
                        internalnextbtn.setEnabled(true);
                        if(currentItem == 1){
                             internalprevbtn.setEnabled(false);
                        if(currentItem > 0){
                             --currentItem;
                             orderDetails[CurrentRecord].getInnerCustOrdObj();
                             setInnerFieldText(currentItem);
                             System.out.println("Current Item" + currentItem);
              innerleftpanel.add(internalprevbtn, GBC);
              return innerleftpanel;
         public JPanel createCustOrdDetailsButtons(){
              createbuttonpanel();
              buttonpanel.setBackground(TxtfontColor);
              externalprevbtn = new JButton(createPreviousButtonIcon());
              externalprevbtn.addActionListener(new ActionListener(){
                   public void  actionPerformed(ActionEvent evt){
                        getFieldText(CurrentRecord);
                        externalnextbtn.setEnabled(true);
                        if(CurrentRecord == 1){
                             externalprevbtn.setEnabled(false);
                        if(CurrentRecord > 0){
                             --CurrentRecord;
                             setFieldText(CurrentRecord);
                             System.out.println("Current Record " + CurrentRecord);//Checking RECORD_NUM
              buttonpanel.add(externalprevbtn);
              addrecordbtn = new JButton("Add Record", createAddButtonIcon());
              addrecordbtn.addActionListener(new ActionListener(){
                   public void actionPerformed(ActionEvent evt){
                        try{
                             MaxRecord = readRecordNumber();
                             MaxRecord++;
                             CurrentRecord = MaxRecord;
                             orderDetails[CurrentRecord] = new CustOrdObject();
                             writeRecordNumber(MaxRecord);
                             MaxItems = 1;
                             innerCustOrdObj[MaxItems] = new InnerCustOrdObject();
                             //--<BEGINNING>--Clear Fields-------------------------------------------------------//
                             CustIDTxt.setText("");
                             CustOrderIDTxt.setText(""+MaxRecord);
                             //Get today's date
                             Date todaydate = new Date();
                             OrderedDateTxt.setText(""+simpleDF.format(todaydate));
                             ItemNumberTxt.setText("");
                             UnitPriceTxt.setText("");
                             QuantityReqTxt.setText("");
                             TotPriceTxt.setText("");
                             GrandTotTxt.setText("");
                             //--<END>--Clear Fields-------------------------------------------------------------//
                             externalnextbtn.setEnabled(false);
                             externalprevbtn.setEnabled(true);
                             System.out.println(MaxRecord);
                        } catch(Exception ec){ec.printStackTrace();}
              buttonpanel.add(addrecordbtn);
              savebtn = new JButton("Save Data", createSaveButtonIcon());
              savebtn.addActionListener(new ActionListener(){
                   public void actionPerformed(ActionEvent evt){
                        setFieldText(CurrentRecord);
                        setInnerFieldText(MaxItems);
                        writeOrder();
                        writeRecordNumber(MaxRecord);
                        System.out.println(CurrentRecord);
                        System.out.println(MaxRecord);
              buttonpanel.add(savebtn);
              java.net.URL imageURL_AddRowIcon = CommonFeatures.class.getResource("Icons/edit_add.png");
              ImageIcon AddRowIcon = new ImageIcon(imageURL_AddRowIcon);
              additemreqbtn = new JButton("Add Item", AddRowIcon);
              additemreqbtn.addActionListener(new ActionListener(){
                   public void actionPerformed(ActionEvent evt){
                        try{
                             //--<BEGINNING>--Clear Fields-------------------------------------------------------//
                             ItemNumberTxt.setText("");
                             UnitPriceTxt.setText("");
                             QuantityReqTxt.setText("");
                             TotPriceTxt.setText("");
                             //--<END>--Clear Fields-------------------------------------------------------------//
                             //CurrentRecord = MaxRecord;
                             MaxItems++;
                             innerCustOrdObj[MaxItems] = new InnerCustOrdObject();
                             System.out.println("Max Items "+MaxItems);
                             currentItem = MaxItems;
                             orderDetails[CurrentRecord].setMaxItems(MaxItems);
                             ///setInnerFieldText(currentItem);
                             internalnextbtn.setEnabled(false);
                             internalprevbtn.setEnabled(true);
                        } catch(Exception ec){ec.printStackTrace();}
              buttonpanel.add(additemreqbtn);
              externalnextbtn = new JButton(createNextButtonIcon());
              externalnextbtn.addActionListener(new ActionListener(){
                   public void actionPerformed(ActionEvent evt){
                        getFieldText(CurrentRecord);
                        externalprevbtn.setEnabled(true);
                        if(CurrentRecord < MaxRecord){
                             ++CurrentRecord;
                             setFieldText(CurrentRecord);
                             System.out.println(CurrentRecord);//Checking RECORD_NUM
                        if(CurrentRecord == MaxRecord){
                             externalnextbtn.setEnabled(false);
              buttonpanel.add(externalnextbtn);
              gotorecordbtn = new JButton("Go To Record", createGotoButtonIcon());
              gotorecordbtn.addActionListener(new ActionListener() {
                   public void actionPerformed(ActionEvent evt){
                         * The text from the GotorecordTxt textfield will be taken and assigned
                         * to a temporary integer variable called Find. 
                        int Find = Integer.parseInt(CustOrderIDTxt.getText());
                        for(int j=1; j <= MaxRecord; j++){
                              * Using a for loop, each record can be read using the readCustRecord
                              * method.
                             getFieldText(j);
                              * An if condition is utilized to check whether the temporary stored variable, Find,
                              * matches a field in a record. If this record is found, then using the RecordExists
                              * which was declared at the top, either a true or false statement can be assigned
                              * If the record exists, then a true statement will be assigned, if not a false
                              * statement will be assigned.
                             if(orderDetails[j].getCustOrderID() == Find){
                                  RecordExists = true;
                                  break;
                             }else{
                                  RecordExists = false;
                        if(RecordExists == false){
                              * If the RecordExists is assigned a false statement, then a message will be
                              * displayed to show that the record does not exist.
                             JOptionPane.showMessageDialog(null, "Record Does Not Exist!", "Error Message", JOptionPane.ERROR_MESSAGE, createErrorIcon());
                        }else{
                             getFieldText(Find);
              buttonpanel.add(gotorecordbtn);
              return buttonpanel;
         //TODO
         public void setFieldText(int orderID){//TODO
              orderDetails[orderID].setCustID(Integer.parseInt(CustIDTxt.getText()));
              orderDetails[orderID].setCustOrderID(Integer.parseInt(CustOrderIDTxt.getText()));
              orderDetails[orderID].setOrderDate(OrderedDateTxt.getText());
              orderDetails[orderID].setInnerCustOrdObj(innerCustOrdObj);
              orderDetails[orderID].setMaxItems(MaxItems);
              setInnerFieldText(currentItem);
              orderDetails[orderID].setGrandTotal(Float.parseFloat(GrandTotTxt.getText()));
         public void setInnerFieldText(int currentItem){//TODO
              innerCustOrdObj[currentItem] = new InnerCustOrdObject();
              innerCustOrdObj[currentItem].setMaxItems(MaxItems);
              innerCustOrdObj[currentItem].setItemNumber(Integer.parseInt(ItemNumberTxt.getText()));
              innerCustOrdObj[currentItem].setUnitPrice(Float.parseFloat(UnitPriceTxt.getText()));
              innerCustOrdObj[currentItem].setQuantityRequired(Integer.parseInt(QuantityReqTxt.getText()));
              innerCustOrdObj[currentItem].setTotalPrice(Float.parseFloat(TotPriceTxt.getText()));
         public void getFieldText(int orderID){
              CustIDTxt.setText(Integer.toString(orderDetails[orderID].getCustID()));
              CustOrderIDTxt.setText(Integer.toString(orderDetails[orderID].getCustOrderID()));
              OrderedDateTxt.setText(""+orderDetails[orderID].getOrderDate());          
              currentItem = orderDetails[orderID].getMaxItems();
              orderDetails[orderID].getInnerCustOrdObj();
              System.err.println("currentItem" + currentItem);
              //getInnerFieldText(currentItem);
              GrandTotTxt.setText(Float.toString(orderDetails[orderID].getGrandTotal()));
         public void getInnerFieldText(int currentItem){
              ItemNumberTxt.setText(Integer.toString(innerCustOrdObj[currentItem].getItemNumber()));
              UnitPriceTxt.setText(Float.toString(innerCustOrdObj[currentItem].getUnitPrice()));
              QuantityReqTxt.setText(Integer.toString(innerCustOrdObj[currentItem].getQuantityRequired()));
              TotPriceTxt.setText(Float.toString(innerCustOrdObj[currentItem].getTotalPrice()));
         public void writeOrder(){//TODO
              try {
                   objOut = new ObjectOutputStream(new FileOutputStream(OrderDetailsFile));
                   objOut.writeObject(orderDetails);
                   System.out.println("WORKING!");
                   objOut.flush();
                   objOut.close();
              } catch (IOException e) {
                   e.printStackTrace();
         public Object readOrder(){
              Object temporaryObj;
              try{
                   objIn = new ObjectInputStream(new FileInputStream(OrderDetailsFile));
                   temporaryObj = objIn.readObject();               
                   CustOrdObject[] blah = (CustOrdObject[]) temporaryObj;
                   /*               System.out.println("Outer: "+blah[1].getCustID());
                   InnerCustOrdObject[] whee = blah[1].getInnerCustOrdObj();
                   System.out.println("Inner: "+whee[1].getItemNumber());*/
                   objIn.close();
                   System.out.println("Read Worky!");
                   return temporaryObj;
              }catch(Exception e){
                   e.printStackTrace();
                   System.out.println("Read No Worky!");
                   return null;
         public void writeRecordNumber(int MaxRecord){
              try{
                   objOut = new ObjectOutputStream(new FileOutputStream(OrdRecordNumStore));
                   objOut.writeObject(MaxRecord);
                   System.out.println("WORKING!");
                   objOut.flush();
                   objOut.close();
              }catch(Exception e){e.printStackTrace();}
         public int readRecordNumber() {
              try {
                   objIn = new ObjectInputStream(new FileInputStream(OrdRecordNumStore));
                   int temporaryObj = Integer.parseInt(objIn.readObject().toString());
                   objIn.close();
                   System.out.println("Read Number Worky!");
                   return temporaryObj;
              } catch (Exception e) {
                   e.printStackTrace();
                   System.out.println("Read Number No Worky!");
                   return -1;
    }Message was edited by:
    Kilik07

  • Problem with axis2 and Tomcat

    Hello,
    I am having a strange problem with Tomcat and axis. I have a webservice that uses axis2 for wsdl2java class generation. When I compile my project in maven a Test is performed. During the test a glassfish server is established and the project is deployed -everything work great with the expected results. However when I try to deploy the webservice on tomcat it has some problems.
    At first I tried to call axis code in a POST method that takes a MultiPart message. The code is as below:
    *@Path("identifyWavestream")*
    *@POST*
    *@Consumes(MediaType.MULTIPART_FORM_DATA)*
    *@Produces(MediaType.APPLICATION_XML)*
    *public String multipartTest(com.sun.jersey.multipart.MultiPart multiPart) throws Exception {* 
    *// get first body part (index 0)*
    *//tomcat shows that the first error is here (line 122 is the nest one with bodypart)*
    BodyPart bp = multiPart.getBodyParts().get(0);
    BodyPartEntity bodyPartEntity = (BodyPartEntity) bp.getEntity();
    InputStream stream = bodyPartEntity.getInputStream();
    *//the rest of the code either saves the incoming file or implements the wsdl2java axis interface - neither works.*
    And the tomcat error is:
    java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
    java.util.ArrayList.RangeCheck(Unknown Source)
    java.util.ArrayList.get(Unknown Source)
    com.webserv.rest.resources.SearchResource.test.multipartTest(SearchResource.java:122)
    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    java.lang.reflect.Method.invoke(Unknown Source)
    com.sun.jersey.server.impl.model.method.dispatch.EntityParamDispatchProvider$TypeOutInvoker._dispatch(EntityParamDispatchProvider.java:138)
    com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:67)
    com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:124)
    com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:111)
    com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:71)
    com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:111)
    com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:63)
    com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:555)
    com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:514)
    com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:505)
    com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:359)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
    It was strange to me since this simple approach of handling a Multipart method worked for me earlier. Then I decided skip the handling of multipart method and just call the axis code. But the results also caused an error. I then tried to call the axis code in a simple @GET method (to cross out any issues regarding the multipart) and the result where the same. Again everything works on the maven- glassfish test. In this case the tomcat error is the following:
    javax.servlet.ServletException: java.lang.NoSuchMethodError: org.apache.commons.httpclient.HttpConnectionManager.getParams()Lorg/apache/commons/httpclient/params/HttpConnectionManagerParams;
    com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:361)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
    root cause
    com.sun.jersey.api.container.MappableContainerException: java.lang.NoSuchMethodError: org.apache.commons.httpclient.HttpConnectionManager.getParams()Lorg/apache/commons/httpclient/params/HttpConnectionManagerParams;
    com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:74)
    com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:124)
    com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:111)
    com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:71)
    com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:111)
    com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:63)
    com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:555)
    com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:514)
    com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:505)
    com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:359)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
    root cause
    java.lang.NoSuchMethodError: org.apache.commons.httpclient.HttpConnectionManager.getParams()Lorg/apache/commons/httpclient/params/HttpConnectionManagerParams;
    org.apache.axis2.transport.http.AbstractHTTPSender.initializeTimeouts(AbstractHTTPSender.java:454)
    org.apache.axis2.transport.http.AbstractHTTPSender.getHttpClient(AbstractHTTPSender.java:514)
    org.apache.axis2.transport.http.HTTPSender.sendViaPost(HTTPSender.java:156)
    org.apache.axis2.transport.http.HTTPSender.send(HTTPSender.java:75)
    org.apache.axis2.transport.http.CommonsHTTPTransportSender.writeMessageWithCommons(CommonsHTTPTransportSender.java:371)
    org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke(CommonsHTTPTransportSender.java:209)
    org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:448)
    org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:401)
    org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:228)
    org.apache.axis2.client.OperationClient.execute(OperationClient.java:163)
    com.webserv.rest.webapp.IntSoapServiceStub.getServerData(IntSoapServiceStub.java:2447)
    com.webserv..rest.resources.AIntSoapImpl.getServerData(AIntSoapImpl.java:112)
    com.webserv..rest.resources.SearchResource.test.pingTest(SearchResource.java:167)
    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    java.lang.reflect.Method.invoke(Unknown Source)
    com.sun.jersey.server.impl.model.method.dispatch.EntityParamDispatchProvider$TypeOutInvoker._dispatch(EntityParamDispatchProvider.java:138)
    com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:67)
    com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:124)
    com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:111)
    com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:71)
    com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:111)
    com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:63)
    com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:555)
    com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:514)
    com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:505)
    com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:359)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
    I think it is also a good ide to post the pom.xml file :
    Edited by: 803864 on 2010-10-21 00:30

    I think it is also a good ide to post the pom.xml file:
    +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"+
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    +<modelVersion>4.0.0</modelVersion>+
    +<groupId>com.myProjects</groupId>+
    +<artifactId>audioid-rest-interface</artifactId>+
    +<packaging>war</packaging>+
    +<name>AudioID Rest Interface</name>+
    +<version>0.1</version>+
    +<dependencies>+
    +<!--+
    +<dependency>+
    +<groupId>com.sun.tools.xjc.maven2</groupId>+
    +<artifactId>maven-jaxb-plugin</artifactId>+
    +<version>1.1</version>+
    +<scope>test</scope>+
    +</dependency>+
    +<dependency>+
    +<groupId>com.sun.jersey</groupId>+
    +<artifactId>jersey-client</artifactId>+
    +<version>1.0.1</version>+
    +</dependency>+
    +<dependency>+
    +<groupId>com.sun.jersey.contribs</groupId>+
    +<artifactId>jersey-multipart</artifactId>+
    +<version>1.0.1</version>+
    +</dependency>+
    +<dependency>+
    +<groupId>com.sun.grizzly</groupId>+
    +<artifactId>grizzly-servlet-webserver</artifactId>+
    +<version>1.9.0</version>+
    +<scope>test</scope>+
    +</dependency>-->+
    +<dependency>+
    +<groupId>com.sun.jersey.contribs</groupId>+
    +<artifactId>jersey-multipart</artifactId>+
    +<version>1.0.1</version>+
    +</dependency>+
    +<dependency>+
    +<groupId>com.sun.jersey</groupId>+
    +<artifactId>jersey-client</artifactId>+
    +<version>1.0.1</version>+
    +</dependency>+
    +<dependency>+
    +<groupId>com.sun.jersey</groupId>+
    +<artifactId>jersey-bundle</artifactId>+
    +<version>1.0.1</version>+
    +</dependency>+
    +<dependency>+
    +<groupId>commons-logging</groupId>+
    +<artifactId>commons-logging</artifactId>+
    +<version>1.0.4</version>+
    +</dependency>+
    +<dependency>+
    +<groupId>commons-collections</groupId>+
    +<artifactId>commons-collections</artifactId>+
    +<version>3.1</version>+
    +</dependency>+
    +<dependency>+
    +<groupId>org.slf4j</groupId>+
    +<artifactId>slf4j-log4j12</artifactId>+
    +<version>1.5.6</version>+
    +</dependency>+
    +<dependency>+
    +<groupId>junit</groupId>+
    +<artifactId>junit</artifactId>+
    +<version>3.8.2</version>+
    +<scope>test</scope>+
    +</dependency>+
    +<dependency>+
    +<groupId>org.glassfish.distributions</groupId>+
    +<artifactId>web-all</artifactId>+
    +<version>10.0-build-20080430</version>+
    +<scope>test</scope>+
    +</dependency>+
    +<dependency>+
    +<groupId>org.glassfish.embedded</groupId>+
    +<artifactId>gf-embedded-api</artifactId>+
    +<version>1.0-alpha-4</version>+
    +<scope>test</scope>+
    +</dependency>+
    +<dependency>+
    +<groupId>com.sun.jersey</groupId>+
    +<artifactId>jersey-server</artifactId>+
    +<version>1.0.3.1</version>+
    +<scope>test</scope>+
    +</dependency>+
    +<dependency>+
    +<groupId>com.sun.jersey.contribs</groupId>+
    +<artifactId>maven-wadl-plugin</artifactId>+
    +<version>1.0.3.1</version>+
    +</dependency>+
    +<dependency>+
    +<groupId>org.hibernate</groupId>+
    +<artifactId>hibernate</artifactId>+
    +<version>3.2.5.ga</version>+
    +<exclusions>+
    +<exclusion>+
    +<groupId>javax.transaction</groupId>+
    +<artifactId>jta</artifactId>+
    +</exclusion>+
    +<exclusion>+
    +<groupId>cglib</groupId>+
    +<artifactId>cglib</artifactId>+
    +</exclusion>+
    +</exclusions>+
    +</dependency>+
    +<dependency>+
    +<groupId>org.apache.axis2</groupId>+
    +<artifactId>axis2</artifactId>+
    +<version>1.4.1</version>+
    +</dependency>+
    +<!-- <dependency> -->+
    +<dependency>+
    +<groupId>org.apache.axis2</groupId>+
    +<artifactId>axis2-aar-maven-plugin</artifactId>+
    +<version>1.4.1</version>+
    +<scope>test</scope>+
    +</dependency>+
    +<dependency>+
    +<groupId>org.apache.axis2</groupId>+
    +<artifactId>axis2-java2wsdl</artifactId>+
    +<version>1.4.1</version>+
    +<scope>test</scope>+
    +</dependency>+
    +<dependency>+
    +<groupId>org.apache.axis2</groupId>+
    +<artifactId>axis2-xmlbeans</artifactId>+
    +<version>1.4.1</version>+
    +</dependency>+
    +<!-- <dependency> -->+
    +<dependency>+
    +<groupId>com.sun.xml.bind</groupId>+
    +<artifactId>jaxb-impl</artifactId>+
    +<version>2.1.12</version>+
    +</dependency>+
    +<dependency>+
    +<groupId>cglib</groupId>+
    +<artifactId>cglib-nodep</artifactId>+
    +<version>2.1_3</version>+
    +</dependency>+
    +</dependencies>+
    +<build>+
    +<finalName>audioid-rest-interface</finalName>+
    +<plugins>+
    +<plugin>+
    +<!-- This class is just generated for wadl support!!! -->+
    +<!-- Take care that folder ../music-dna-core is existing -->+
    +<groupId>com.sun.tools.xjc.maven2</groupId>+
    +<artifactId>maven-jaxb-plugin</artifactId>+
    +<version>1.1</version>+
    +<executions>+
    +<execution>+
    +<phase>generate-sources</phase>+
    +<goals>+
    +<goal>generate</goal>+
    +</goals>+
    +</execution>+
    +</executions>+
    +<configuration>+
    +<generatePackage> com.webserv.wsparameters</generatePackage>+
    +<schemaDirectory>../audioid-rest-interface/src/main/resources+
    +</schemaDirectory>+
    +<includeSchemas>+
    +<includeSchema>**/*.xsd</includeSchema>+
    +</includeSchemas>+
    +<extension>true</extension>+
    +<strict>false</strict>+
    +<verbose>false</verbose>+
    +</configuration>+
    +</plugin>+
    +<plugin>+
    +<groupId>org.apache.maven.plugins</groupId>+
    +<artifactId>maven-javadoc-plugin</artifactId>+
    +<!-- <version>2.6</version> -->+
    +<executions>+
    +<execution>+
    +<goals>+
    +<goal>javadoc</goal>+
    +</goals>+
    +<phase>compile</phase>+
    +</execution>+
    +</executions>+
    +<configuration>+
    +<encoding>UTF-8</encoding>+
    +<verbose>false</verbose>+
    +<show>public</show>+
    +<subpackages> com.webserv.rest.rest.resources: com.webserv.rest.rest.commons: com.webserv.wsparameters+
    +</subpackages>+
    +<doclet>com.sun.jersey.wadl.resourcedoc.ResourceDoclet</doclet>+
    +<docletPath>${path.separator}${project.build.outputDirectory}+
    +</docletPath>+
    +<docletArtifacts>+
    +<docletArtifact>+
    +<groupId>com.sun.jersey.contribs</groupId>+
    +<artifactId>wadl-resourcedoc-doclet</artifactId>+
    +<version>1.0.3.1</version>+
    +</docletArtifact>+
    +<docletArtifact>+
    +<groupId>com.sun.jersey</groupId>+
    +<artifactId>jersey-server</artifactId>+
    +<version>1.0.3.1</version>+
    +</docletArtifact>+
    +<docletArtifact>+
    +<groupId>xerces</groupId>+
    +<artifactId>xercesImpl</artifactId>+
    +<version>2.6.1</version>+
    +</docletArtifact>+
    +</docletArtifacts>+
    +<additionalparam>-output+
    +${project.build.outputDirectory}/resourcedoc.xml</additionalparam>+
    +<useStandardDocletOptions>false</useStandardDocletOptions>+
    +</configuration>+
    +</plugin>+
    +<plugin>+
    +<groupId>com.sun.jersey.contribs</groupId>+
    +<artifactId>maven-wadl-plugin</artifactId>+
    +<version>1.0.3.1</version>+
    +<executions>+
    +<execution>+
    +<id>generate</id>+
    +<goals>+
    +<goal>generate</goal>+
    +</goals>+
    +<phase>compile</phase>+
    +</execution>+
    +</executions>+
    +<configuration>+
    +<wadlFile>${project.build.outputDirectory}/application.wadl+
    +</wadlFile>+
    +<formatWadlFile>true</formatWadlFile>+
    +<baseUri>http://192.168.2.149:8080/${project.build.finalName}+
    +</baseUri>+
    +<packagesResourceConfig>+
    +<param> com.webserv.rest.resources</param>+
    +</packagesResourceConfig>+
    +<wadlGenerators>+
    +<wadlGeneratorDescription>+
    +<className>com.sun.jersey.server.wadl.generators.WadlGeneratorApplicationDoc+
    +</className>+
    +<properties>+
    +<property>+
    +<name>applicationDocsFile</name>+
    +<value>${basedir}/src/main/doc/application-doc.xml</value>+
    +</property>+
    +</properties>+
    +</wadlGeneratorDescription>+
    +<wadlGeneratorDescription>+
    +<className>com.sun.jersey.server.wadl.generators.WadlGeneratorGrammarsSupport+
    +</className>+
    +<properties>+
    +<property>+
    +<name>grammarsFile</name>+
    +<value>${basedir}/src/main/doc/application-grammars.xml</value>+
    +</property>+
    +</properties>+
    +</wadlGeneratorDescription>+
    +<wadlGeneratorDescription>+
    +<className>com.sun.jersey.server.wadl.generators.resourcedoc.WadlGeneratorResourceDocSupport+
    +</className>+
    +<properties>+
    +<property>+
    +<name>resourceDocFile</name>+
    +<value>${project.build.outputDirectory}/resourcedoc.xml</value>+
    +</property>+
    +</properties>+
    +</wadlGeneratorDescription>+
    +</wadlGenerators>+
    +</configuration>+
    +</plugin>+
    +<plugin>+
    +<groupId>org.codehaus.mojo</groupId>+
    +<artifactId>exec-maven-plugin</artifactId>+
    +<version>1.1</version>+
    +<executions>+
    +<execution>+
    +<goals>+
    +<goal>java</goal>+
    +</goals>+
    +</execution>+
    +</executions>+
    +<configuration>+
    +<mainClass>com.sun.jersey.samples.generatewadl.Main</mainClass>+
    +</configuration>+
    +</plugin>+
    +<plugin>+
    +<groupId>org.apache.maven.plugins</groupId>+
    +<artifactId>maven-compiler-plugin</artifactId>+
    +<inherited>true</inherited>+
    +<configuration>+
    +<source>1.5</source>+
    +<target>1.5</target>+
    +<!--+
    exclude temporary types that are only needed for wadl and doc
    generation
    -->
    +<!--+
    +<excludes> <exclude>com/webserv/types/temporary/**</exclude>+
    +<exclude>com/webserv/rest/commons/Examples.java</exclude>+
    +</excludes>+
    -->
    +</configuration>+
    +</plugin>+
    +<plugin>+
    +<groupId>org.jvnet.jaxb2.maven2</groupId>+
    +<artifactId>maven-jaxb2-plugin</artifactId>+
    +<executions>+
    +<execution>+
    +<goals>+
    +<goal>generate</goal>+
    +</goals>+
    +</execution>+
    +</executions>+
    +</plugin>+
    +<plugin>+
    +<groupId>org.apache.axis2</groupId>+
    +<artifactId>axis2-wsdl2code-maven-plugin</artifactId>+
    +<version>1.4.1</version>+
    +<executions>+
    +<execution>+
    +<id>generate reco core</id>+
    +<goals>+
    +<goal>wsdl2code</goal>+
    +</goals>+
    +<configuration>+
    +<packageName>com.webserv.rest.webapp</packageName>+
    +<wsdlFile>src/main/java/com/webserv/wsdl/web.wsdl</wsdlFile>+
    +<databindingName>adb</databindingName>+
    +</configuration>+
    +</execution>+
    +</executions>+
    +</plugin>+
    +<plugin>+
    +<groupId>com.sun.tools.xjc.maven2</groupId>+
    +<artifactId>maven-jaxb-plugin</artifactId>+
    +<version>1.1</version>+
    +<executions>+
    +<execution>+
    +<goals>+
    +<goal>generate</goal>+
    +</goals>+
    +</execution>+
    +</executions>+
    +<configuration>+
    +<generatePackage>com.webserv.wsparameters</generatePackage>+
    +<schemaDirectory>src/main/xsd</schemaDirectory> <includeSchemas>+
    +<includeSchema>**/*.xsd</includeSchema> </includeSchemas>+
    +<extension>true</extension>+
    +<strict>false</strict>+
    +<verbose>true</verbose>+
    +</configuration>+
    +</plugin>+
    +</plugins>+
    +</build>+
    +<profiles>+
    +<profile>+
    +<id>jdk-1.5</id>+
    +<activation>+
    +<jdk>1.5</jdk>+
    +</activation>+
    +<dependencies>+
    +<dependency>+
    +<groupId>com.sun.xml.bind</groupId>+
    +<artifactId>jaxb-impl</artifactId>+
    +<version>2.1.10</version>+
    +</dependency>+
    +</dependencies>+
    +<build>+
    +<plugins>+
    +<plugin>+
    +<groupId>org.apache.maven.plugins</groupId>+
    +<artifactId>maven-javadoc-plugin</artifactId>+
    +<configuration>+
    +<docletArtifacts>+
    +<docletArtifact>+
    +<groupId>com.sun.jersey.contribs</groupId>+
    +<artifactId>maven-wadl-plugin</artifactId>+
    +<version>1.0.3.1</version>+
    +</docletArtifact>+
    +<docletArtifact>+
    +<groupId>com.sun.jersey.contribs</groupId>+
    +<artifactId>wadl-resourcedoc-doclet</artifactId>+
    +<version>1.0.3.1</version>+
    +</docletArtifact>+
    +<docletArtifact>+
    +<groupId>com.sun.jersey</groupId>+
    +<artifactId>jersey-server</artifactId>+
    +<version>1.0.3.1</version>+
    +</docletArtifact>+
    +<docletArtifact>+
    +<groupId>xerces</groupId>+
    +<artifactId>xercesImpl</artifactId>+
    +<version>2.6.1</version>+
    +</docletArtifact>+
    +<docletArtifact>+
    +<groupId>javax.xml.bind</groupId>+
    +<artifactId>jaxb-api</artifactId>+
    +<version>2.1</version>+
    +</docletArtifact>+
    +<docletArtifact>+
    +<groupId>javax.xml</groupId>+
    +<artifactId>jaxb-impl</artifactId>+
    +<version>2.1</version>+
    +</docletArtifact>+
    +<docletArtifact>+
    +<groupId>javax.activation</groupId>+
    +<artifactId>activation</artifactId>+
    +<version>1.1</version>+
    +</docletArtifact>+
    +<docletArtifact>+
    +<groupId>javax.xml.stream</groupId>+
    +<artifactId>stax-api</artifactId>+
    +<version>1.0</version>+
    +</docletArtifact>+
    +</docletArtifacts>+
    +</configuration>+
    +</plugin>+
    +</plugins>+
    +</build>+
    +</profile>+
    +<profile>+
    +<id>xsltproc</id>+
    +<activation>+
    +<file>+
    +<exists>../xsltproc_win32/xsltproc.exe</exists>+
    +</file>+
    +</activation>+
    +<build>+
    +<plugins>+
    +<!-- Create/generate the application.html using xsltproc -->+
    +<!-- Create/generate the application.html using xsltproc -->+
    +<plugin>+
    +<groupId>org.codehaus.mojo</groupId>+
    +<artifactId>exec-maven-plugin</artifactId>+
    +<version>1.1</version>+
    +<executions>+
    +<execution>+
    +<id>copy-docs-to-builddir</id>+
    +<goals>+
    +<goal>exec</goal>+
    +</goals>+
    +<phase>compile</phase>+
    +<configuration>+
    +<executable>copy</executable>+
    +<commandlineArgs>src\\main\\doc\\*.* target\\classes+
    +</commandlineArgs>+
    +</configuration>+
    +</execution>+
    +<execution>+
    +<id>prepare-xsltproc</id>+
    +<goals>+
    +<goal>exec</goal>+
    +</goals>+
    +<phase>package</phase>+
    +<configuration>+
    +<executable>copy</executable>+
    +<commandlineArgs>..\\audioid-rest-interface\\src\\main\\resources\\*.xsd+
    target\\classes</commandlineArgs>
    +</configuration>+
    +</execution>+
    +<execution>+
    +<id>exec-xsltproc: target/application.html</id>+
    +<goals>+
    +<goal>exec</goal>+
    +</goals>+
    +<phase>package</phase>+
    +<configuration>+
    +<!--<executable>xsltproc</executable>-->+
    +<executable>../xsltproc_win32/xsltproc.exe</executable>+
    +<commandlineArgs>-o target/application.html+
    src/main/doc/wadl_documentation.xsl
    target/classes/application.wadl</commandlineArgs>
    +</configuration>+
    +</execution>+
    +</executions>+
    +</plugin>+
    +</plugins>+
    +</build>+
    +</profile>+
    +</profiles>+
    +<pluginRepositories>+
    +<pluginRepository>+
    +<id>maven2-repository.dev.java.net</id>+
    +<name>Java.net Repository for Maven</name>+
    +<url>http://download.java.net/maven/2/</url>+
    +<layout>default</layout>+
    +</pluginRepository>+
    +<pluginRepository>+
    +<id>maven-repository.dev.java.net</id>+
    +<name>Java.net Maven 1 Repository (legacy)</name>+
    +<url>http://download.java.net/maven/1</url>+
    +<layout>legacy</layout>+
    +</pluginRepository>+
    +</pluginRepositories>+
    +<repositories>+
    +<repository>+
    +<id>maven2-repository.dev.java.net</id>+
    +<name>Java.net Repository for Maven</name>+
    +<url>http://download.java.net/maven/2/</url>+
    +<layout>default</layout>+
    +</repository>+
    +<repository>+
    +<id>maven-repository.dev.java.net</id>+
    +<name>Java.net Maven 1 Repository (legacy)</name>+
    +<url>http://download.java.net/maven/1</url>+
    +<layout>legacy</layout>+
    +</repository>+
    +<repository>+
    +<id>glassfish-repository</id>+
    +<name>Java.net Repository for Glassfish</name>+
    +<url>http://download.java.net/maven/glassfish</url>+
    +</repository>+
    +</repositories>+
    +</project>+
    Can anyonr contribute?

  • Problem with PropertyChangeListener and JTextField

    I'm having a problem with PropertyChangeListener and JTextField.
    I can not seem to get the propertychange event to fire.
    Anyone have any idea why the code below doesn't work?
    * NewJFrame.java
    * Created on May 15, 2005, 4:21 PM
    import java.beans.*;
    import javax.swing.*;
    * @author wolfgray
    public class NewJFrame extends javax.swing.JFrame
    implements PropertyChangeListener {
    /** Creates new form NewJFrame */
    public NewJFrame() {
    initComponents();
    jTextField1.addPropertyChangeListener( this );
    public void propertyChange(PropertyChangeEvent e) {
    System.out.println(e);
    /** This method is called from within the constructor to
    * initialize the form.
    * WARNING: Do NOT modify this code. The content of this method is
    * always regenerated by the Form Editor.
    private void initComponents() {
    jTextField1 = new javax.swing.JTextField();
    jScrollPane1 = new javax.swing.JScrollPane();
    jFormattedTextField1 = new javax.swing.JFormattedTextField();
    setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
    jTextField1.setText("jTextField1");
    getContentPane().add(jTextField1, java.awt.BorderLayout.NORTH);
    jFormattedTextField1.setText("jFormattedTextField1");
    jScrollPane1.setViewportView(jFormattedTextField1);
    getContentPane().add(jScrollPane1, java.awt.BorderLayout.CENTER);
    pack();
    * @param args the command line arguments
    public static void main(String args[]) {
    java.awt.EventQueue.invokeLater(new Runnable() {
    public void run() {
    new NewJFrame().setVisible(true);
    // Variables declaration - do not modify
    private javax.swing.JFormattedTextField jFormattedTextField1;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JTextField jTextField1;
    // End of variables declaration
    }

    If you want to listen to changes in the textfield's contents you should use a DocumentListener and not a PropertyChangeListener:
    http://java.sun.com/docs/books/tutorial/uiswing/events/documentlistener.html
    And please use [co[/i]de]  tags when you are posting code (press the code button above the message window).

  • Difference between JFrame and JApplet

    i would like to create a GUI using java. as what i know, either i can use the normal applet or java swing. may i know what is the difference between 2 of them??
    thanks

    Hello thanku,
    You have asked two completely different questions:
    1) What is the difference between JFrame and JApplet?
    2) What is the difference between Applet and JApplet?
    A Java applet is a program that adheres to a set of conventions that allows it to run within a Java-compatible browser. To create a Java applet you may either use Applet or JApplet. If you are not running with in a browser, that is, if you are creating an application, you need to use a Frame or JFrame.
    Applet is the old way of creating a Java applet. It is better to use JApplet, since JApplet has all the functionality of Applet and more. Please note that you should not mix AWT components with Swing components.
    -Merwyn,
    Developer Technical Support,
    http://www.sun.com/developers/support.

  • Problem with JTextPane and StateInvariantError

    Hi. I am having a problem with JTextPanes and changing only certain text to bold. I am writing a chat program and would like to allow users to make certain text in their entries bold. The best way I can think of to do this is to add <b> and </b> tags to the beginning and end of any text that is to be bold. When the other client receives the message, the program will take out all of the <b> and </b> tags and display any text between them as bold (or italic with <i> and </i>). I've searched the forums a lot and figured out several ways to make the text bold, and several ways to determine which text is bold before sending the text, but none that work together. Currently, I add the bold tags with this code: (note: messageDoc is a StyledDocument and messageText is a JTextPane)
    public String getMessageText() {
              String text = null;
              boolean bold = false, italic = false;
              for (int i = 0; i < messageDoc.getLength(); i++) {
                   messageText.setCaretPosition(i);
                   if (StyleConstants.isBold(messageDoc.getCharacterElement(i).getAttributes()) && !bold) {
                        bold = true;
                        if (text != null) {
                             text = text + "<b>";
                        else {
                             text = "<b>";
                   else if (StyleConstants.isBold(messageDoc.getCharacterElement(i).getAttributes()) && bold) {
                        // Do nothing
                   else if (!StyleConstants.isBold(messageDoc.getCharacterElement(i).getAttributes()) && bold) {
                        bold = false;
                        if (text != null) {
                             text = text + "</b>";
                        else {
                             text = "</b>";
                   try {
                        if (text != null) {
                             text = text + messageDoc.getText(i,1);
                        else {
                             text = messageDoc.getText(i, 1);
                   catch (BadLocationException e) {
                        System.out.println("An error occurred while getting the text from the message document");
                        e.printStackTrace();
              return text;
         } // end getMessageText()When the message is sent to the other client, the program searches through the received message and changes the text between the bold tags to bold. This seems as if it should work, but as soon as I click on the bold button, I get a StateInvariantError. The code for my button is:
    public void actionPerformed(ActionEvent evt) {
              if (evt.getSource() == bold) {
                   MutableAttributeSet bold = new SimpleAttributeSet();
                   StyleConstants.setBold(bold, true);
                   messageText.getStyledDocument().setCharacterAttributes(messageText.getSelectionStart(), messageText.getSelectionStart() - messageText.getSelectionEnd() - 1, bold, false);
         } //end actionPerformed()Can anyone help me to figure out why this error is being thrown? I have searched for a while to figure out this way of doing what I'm trying to do and I've found out that a StateInvariantError has been reported as a bug in several different circumstances but not in relation to this. Or, if there is a better way to add and check the style of the text that would be great as well. Any help is much appreciated, thanks in advance.

    Swing related questions should be posted in the Swing forum.
    Can't tell from you code what the problem is because I don't know the context of how each method is invoked. But it would seem like you are trying to query the data in the Document while the Document is being updated. Try wrapping the getMessageText() method is a SwingUtilities.invokeLater().
    There is no need to write custom code for a Bold Action you can just use:
    JButton bold = new JButton( new StyledEditorKit.BoldAction() );Also your code to build the text String is not very efficient. You should not be using string concatenation to append text to the string. You should be using a StringBuffer or StringBuilder.

  • [SOLVED]problem with UEFI and Windows 8

    Hi guys,
    I have installed archlinux but have the problem with grub2 and UEFI
    Im not have  /boot/efi/efi/microsoft/boot/bootmgfw.efi
    for install grub2:
    modprobe dm-mod
    modprobe efivars
    grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=arch_grub --boot-directory=/boot/efi/EFI --recheck --debug
    cp /usr/share/locale/en\@quot/LC_MESSAGES/grub.mo /boot/efi/EFI/grub/locale/en.mo
    log grub-install
    # grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=arch_grub --boot-directory=/boot/efi/EFI --recheck --debug
    + setup_verbose=--verbose
    + efi_quiet=-q
    + '[' -z /boot/efi/EFI ']'
    ++ echo /boot/efi/EFI/grub
    ++ sed 's,//*,/,g'
    + grubdir=/boot/efi/EFI/grub
    + device_map=/boot/efi/EFI/grub/device.map
    + '[' x86_64-efi = i386-pc ']'
    + '[' x86_64-efi = sparc64-ieee1275 ']'
    + set /usr/bin/grub-mkimage dummy
    + test -f /usr/bin/grub-mkimage
    + :
    + '[' xefi = xefi ']'
    + test -n /boot/efi
    ++ /usr/sbin/grub-probe --target=device --device-map= /boot/efi
    + install_device=/dev/sda9
    + test -n /boot/efi
    + efi_distributor=arch_grub
    + test no = yes
    + case "$grub_modinfo_target_cpu" in
    + efi_file=grubx64.efi
    + efidir=/boot/efi/EFI/arch_grub
    + mkdir -p /boot/efi/EFI/arch_grub
    + mkdir -p /boot/efi/EFI/grub
    + mkdir -p /boot/efi/EFI/grub/x86_64-efi
    + test yes = yes
    + rm -f /boot/efi/EFI/grub/device.map
    + test -f /boot/efi/EFI/grub/device.map
    + device_map=
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f '/boot/efi/EFI/grub/*.mod'
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f '/boot/efi/EFI/grub/*.lst'
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f '/boot/efi/EFI/grub/*.img'
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f '/boot/efi/EFI/grub/efiemu??.o'
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f /boot/efi/EFI/grub/x86_64-efi/acpi.mod
    ++ basename /boot/efi/EFI/grub/x86_64-efi/acpi.mod
    + '[' acpi.mod '!=' menu.lst ']'
    + rm -f /boot/efi/EFI/grub/x86_64-efi/acpi.mod
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f /boot/efi/EFI/grub/x86_64-efi/adler32.mod
    ++ basename /boot/efi/EFI/grub/x86_64-efi/adler32.mod
    + '[' adler32.mod '!=' menu.lst ']'
    + rm -f /boot/efi/EFI/grub/x86_64-efi/adler32.mod
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f /boot/efi/EFI/grub/x86_64-efi/affs.mod
    ++ basename /boot/efi/EFI/grub/x86_64-efi/affs.mod
    + '[' affs.mod '!=' menu.lst ']'
    + rm -f /boot/efi/EFI/grub/x86_64-efi/affs.mod
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f /boot/efi/EFI/grub/x86_64-efi/afs.mod
    ++ basename /boot/efi/EFI/grub/x86_64-efi/afs.mod
    + '[' afs.mod '!=' menu.lst ']'
    + rm -f /boot/efi/EFI/grub/x86_64-efi/afs.mod
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f /boot/efi/EFI/grub/x86_64-efi/ahci.mod
    ++ basename /boot/efi/EFI/grub/x86_64-efi/ahci.mod
    + '[' ahci.mod '!=' menu.lst ']'
    + rm -f /boot/efi/EFI/grub/x86_64-efi/ahci.mod
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f /boot/efi/EFI/grub/x86_64-efi/all_video.mod
    ++ basename /boot/efi/EFI/grub/x86_64-efi/all_video.mod
    + '[' all_video.mod '!=' menu.lst ']'
    + rm -f /boot/efi/EFI/grub/x86_64-efi/all_video.mod
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f /boot/efi/EFI/grub/x86_64-efi/aout.mod
    ++ basename /boot/efi/EFI/grub/x86_64-efi/aout.mod
    + '[' aout.mod '!=' menu.lst ']'
    + rm -f /boot/efi/EFI/grub/x86_64-efi/aout.mod
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f /boot/efi/EFI/grub/x86_64-efi/appleldr.mod
    ++ basename /boot/efi/EFI/grub/x86_64-efi/appleldr.mod
    + '[' appleldr.mod '!=' menu.lst ']'
    + rm -f /boot/efi/EFI/grub/x86_64-efi/appleldr.mod
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f /boot/efi/EFI/grub/x86_64-efi/at_keyboard.mod
    ++ basename /boot/efi/EFI/grub/x86_64-efi/at_keyboard.mod
    + '[' at_keyboard.mod '!=' menu.lst ']'
    + rm -f /boot/efi/EFI/grub/x86_64-efi/at_keyboard.mod
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f /boot/efi/EFI/grub/x86_64-efi/ata.mod
    ++ basename /boot/efi/EFI/grub/x86_64-efi/ata.mod
    + '[' ata.mod '!=' menu.lst ']'
    + rm -f /boot/efi/EFI/grub/x86_64-efi/ata.mod
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f /boot/efi/EFI/grub/x86_64-efi/backtrace.mod
    ++ basename /boot/efi/EFI/grub/x86_64-efi/backtrace.mod
    + '[' backtrace.mod '!=' menu.lst ']'
    + rm -f /boot/efi/EFI/grub/x86_64-efi/backtrace.mod
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f /boot/efi/EFI/grub/x86_64-efi/bfs.mod
    ++ basename /boot/efi/EFI/grub/x86_64-efi/bfs.mod
    + '[' bfs.mod '!=' menu.lst ']'
    + rm -f /boot/efi/EFI/grub/x86_64-efi/bfs.mod
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f /boot/efi/EFI/grub/x86_64-efi/bitmap.mod
    ++ basename /boot/efi/EFI/grub/x86_64-efi/bitmap.mod
    + '[' bitmap.mod '!=' menu.lst ']'
    + rm -f /boot/efi/EFI/grub/x86_64-efi/bitmap.mod
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f /boot/efi/EFI/grub/x86_64-efi/bitmap_scale.mod
    ++ basename /boot/efi/EFI/grub/x86_64-efi/bitmap_scale.mod
    + '[' bitmap_scale.mod '!=' menu.lst ']'
    + rm -f /boot/efi/EFI/grub/x86_64-efi/bitmap_scale.mod
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f /boot/efi/EFI/grub/x86_64-efi/blocklist.mod
    ++ basename /boot/efi/EFI/grub/x86_64-efi/blocklist.mod
    + '[' blocklist.mod '!=' menu.lst ']'
    + rm -f /boot/efi/EFI/grub/x86_64-efi/blocklist.mod
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f /boot/efi/EFI/grub/x86_64-efi/boot.mod
    ++ basename /boot/efi/EFI/grub/x86_64-efi/boot.mod
    + '[' boot.mod '!=' menu.lst ']'
    + rm -f /boot/efi/EFI/grub/x86_64-efi/boot.mod
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f /boot/efi/EFI/grub/x86_64-efi/bsd.mod
    ++ basename /boot/efi/EFI/grub/x86_64-efi/bsd.mod
    + '[' bsd.mod '!=' menu.lst ']'
    + rm -f /boot/efi/EFI/grub/x86_64-efi/bsd.mod
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f /boot/efi/EFI/grub/x86_64-efi/btrfs.mod
    ++ basename /boot/efi/EFI/grub/x86_64-efi/btrfs.mod
    + '[' btrfs.mod '!=' menu.lst ']'
    + rm -f /boot/efi/EFI/grub/x86_64-efi/btrfs.mod
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f /boot/efi/EFI/grub/x86_64-efi/bufio.mod
    ++ basename /boot/efi/EFI/grub/x86_64-efi/bufio.mod
    + '[' bufio.mod '!=' menu.lst ']'
    + rm -f /boot/efi/EFI/grub/x86_64-efi/bufio.mod
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f /boot/efi/EFI/grub/x86_64-efi/cacheinfo.mod
    ++ basename /boot/efi/EFI/grub/x86_64-efi/cacheinfo.mod
    + '[' cacheinfo.mod '!=' menu.lst ']'
    + rm -f /boot/efi/EFI/grub/x86_64-efi/cacheinfo.mod
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f /boot/efi/EFI/grub/x86_64-efi/cat.mod
    ++ basename /boot/efi/EFI/grub/x86_64-efi/cat.mod
    + '[' cat.mod '!=' menu.lst ']'
    + rm -f /boot/efi/EFI/grub/x86_64-efi/cat.mod
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f /boot/efi/EFI/grub/x86_64-efi/chain.mod
    ++ basename /boot/efi/EFI/grub/x86_64-efi/chain.mod
    + '[' chain.mod '!=' menu.lst ']'
    + rm -f /boot/efi/EFI/grub/x86_64-efi/chain.mod
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f /boot/efi/EFI/grub/x86_64-efi/cmp.mod
    ++ basename /boot/efi/EFI/grub/x86_64-efi/cmp.mod
    + '[' cmp.mod '!=' menu.lst ']'
    + rm -f /boot/efi/EFI/grub/x86_64-efi/cmp.mod
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f /boot/efi/EFI/grub/x86_64-efi/configfile.mod
    ++ basename /boot/efi/EFI/grub/x86_64-efi/configfile.mod
    + '[' configfile.mod '!=' menu.lst ']'
    + rm -f /boot/efi/EFI/grub/x86_64-efi/configfile.mod
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f /boot/efi/EFI/grub/x86_64-efi/cpio.mod
    ++ basename /boot/efi/EFI/grub/x86_64-efi/cpio.mod
    + '[' cpio.mod '!=' menu.lst ']'
    + rm -f /boot/efi/EFI/grub/x86_64-efi/cpio.mod
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f /boot/efi/EFI/grub/x86_64-efi/cpio_be.mod
    ++ basename /boot/efi/EFI/grub/x86_64-efi/cpio_be.mod
    + '[' cpio_be.mod '!=' menu.lst ']'
    + rm -f /boot/efi/EFI/grub/x86_64-efi/cpio_be.mod
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f /boot/efi/EFI/grub/x86_64-efi/cpuid.mod
    ++ basename /boot/efi/EFI/grub/x86_64-efi/cpuid.mod
    + '[' cpuid.mod '!=' menu.lst ']'
    + rm -f /boot/efi/EFI/grub/x86_64-efi/cpuid.mod
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f /boot/efi/EFI/grub/x86_64-efi/crc64.mod
    ++ basename /boot/efi/EFI/grub/x86_64-efi/crc64.mod
    + '[' crc64.mod '!=' menu.lst ']'
    + rm -f /boot/efi/EFI/grub/x86_64-efi/crc64.mod
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f /boot/efi/EFI/grub/x86_64-efi/crypto.mod
    ++ basename /boot/efi/EFI/grub/x86_64-efi/crypto.mod
    + '[' crypto.mod '!=' menu.lst ']'
    + rm -f /boot/efi/EFI/grub/x86_64-efi/crypto.mod
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f /boot/efi/EFI/grub/x86_64-efi/cryptodisk.mod
    ++ basename /boot/efi/EFI/grub/x86_64-efi/cryptodisk.mod
    + '[' cryptodisk.mod '!=' menu.lst ']'
    + rm -f /boot/efi/EFI/grub/x86_64-efi/cryptodisk.mod
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f /boot/efi/EFI/grub/x86_64-efi/cs5536.mod
    ++ basename /boot/efi/EFI/grub/x86_64-efi/cs5536.mod
    + '[' cs5536.mod '!=' menu.lst ']'
    + rm -f /boot/efi/EFI/grub/x86_64-efi/cs5536.mod
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f /boot/efi/EFI/grub/x86_64-efi/date.mod
    ++ basename /boot/efi/EFI/grub/x86_64-efi/date.mod
    + '[' date.mod '!=' menu.lst ']'
    + rm -f /boot/efi/EFI/grub/x86_64-efi/date.mod
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f /boot/efi/EFI/grub/x86_64-efi/datehook.mod
    ++ basename /boot/efi/EFI/grub/x86_64-efi/datehook.mod
    + '[' datehook.mod '!=' menu.lst ']'
    + rm -f /boot/efi/EFI/grub/x86_64-efi/datehook.mod
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f /boot/efi/EFI/grub/x86_64-efi/datetime.mod
    ++ basename /boot/efi/EFI/grub/x86_64-efi/datetime.mod
    + '[' datetime.mod '!=' menu.lst ']'
    + rm -f /boot/efi/EFI/grub/x86_64-efi/datetime.mod
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f /boot/efi/EFI/grub/x86_64-efi/diskfilter.mod
    ++ basename /boot/efi/EFI/grub/x86_64-efi/diskfilter.mod
    + '[' diskfilter.mod '!=' menu.lst ']'
    + rm -f /boot/efi/EFI/grub/x86_64-efi/diskfilter.mod
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f /boot/efi/EFI/grub/x86_64-efi/dm_nv.mod
    ++ basename /boot/efi/EFI/grub/x86_64-efi/dm_nv.mod
    + '[' dm_nv.mod '!=' menu.lst ']'
    + rm -f /boot/efi/EFI/grub/x86_64-efi/dm_nv.mod
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f /boot/efi/EFI/grub/x86_64-efi/echo.mod
    ++ basename /boot/efi/EFI/grub/x86_64-efi/echo.mod
    + '[' echo.mod '!=' menu.lst ']'
    + rm -f /boot/efi/EFI/grub/x86_64-efi/echo.mod
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f /boot/efi/EFI/grub/x86_64-efi/efi_gop.mod
    ++ basename /boot/efi/EFI/grub/x86_64-efi/efi_gop.mod
    + '[' efi_gop.mod '!=' menu.lst ']'
    + rm -f /boot/efi/EFI/grub/x86_64-efi/efi_gop.mod
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f /boot/efi/EFI/grub/x86_64-efi/efi_uga.mod
    ++ basename /boot/efi/EFI/grub/x86_64-efi/efi_uga.mod
    + '[' efi_uga.mod '!=' menu.lst ']'
    + rm -f /boot/efi/EFI/grub/x86_64-efi/efi_uga.mod
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f /boot/efi/EFI/grub/x86_64-efi/efinet.mod
    ++ basename /boot/efi/EFI/grub/x86_64-efi/efinet.mod
    + '[' efinet.mod '!=' menu.lst ']'
    + rm -f /boot/efi/EFI/grub/x86_64-efi/efinet.mod
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f /boot/efi/EFI/grub/x86_64-efi/ehci.mod
    ++ basename /boot/efi/EFI/grub/x86_64-efi/ehci.mod
    + '[' ehci.mod '!=' menu.lst ']'
    + rm -f /boot/efi/EFI/grub/x86_64-efi/ehci.mod
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f /boot/efi/EFI/grub/x86_64-efi/elf.mod
    ++ basename /boot/efi/EFI/grub/x86_64-efi/elf.mod
    + '[' elf.mod '!=' menu.lst ']'
    + rm -f /boot/efi/EFI/grub/x86_64-efi/elf.mod
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f /boot/efi/EFI/grub/x86_64-efi/exfat.mod
    ++ basename /boot/efi/EFI/grub/x86_64-efi/exfat.mod
    + '[' exfat.mod '!=' menu.lst ']'
    + rm -f /boot/efi/EFI/grub/x86_64-efi/exfat.mod
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f /boot/efi/EFI/grub/x86_64-efi/exfctest.mod
    ++ basename /boot/efi/EFI/grub/x86_64-efi/exfctest.mod
    + '[' exfctest.mod '!=' menu.lst ']'
    + rm -f /boot/efi/EFI/grub/x86_64-efi/exfctest.mod
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f /boot/efi/EFI/grub/x86_64-efi/ext2.mod
    ++ basename /boot/efi/EFI/grub/x86_64-efi/ext2.mod
    + '[' ext2.mod '!=' menu.lst ']'
    + rm -f /boot/efi/EFI/grub/x86_64-efi/ext2.mod
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f /boot/efi/EFI/grub/x86_64-efi/extcmd.mod
    ++ basename /boot/efi/EFI/grub/x86_64-efi/extcmd.mod
    + '[' extcmd.mod '!=' menu.lst ']'
    + rm -f /boot/efi/EFI/grub/x86_64-efi/extcmd.mod
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f /boot/efi/EFI/grub/x86_64-efi/fat.mod
    ++ basename /boot/efi/EFI/grub/x86_64-efi/fat.mod
    + '[' fat.mod '!=' menu.lst ']'
    + rm -f /boot/efi/EFI/grub/x86_64-efi/fat.mod
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f /boot/efi/EFI/grub/x86_64-efi/fixvideo.mod
    ++ basename /boot/efi/EFI/grub/x86_64-efi/fixvideo.mod
    + '[' fixvideo.mod '!=' menu.lst ']'
    + rm -f /boot/efi/EFI/grub/x86_64-efi/fixvideo.mod
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f /boot/efi/EFI/grub/x86_64-efi/font.mod
    ++ basename /boot/efi/EFI/grub/x86_64-efi/font.mod
    + '[' font.mod '!=' menu.lst ']'
    + rm -f /boot/efi/EFI/grub/x86_64-efi/font.mod
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f /boot/efi/EFI/grub/x86_64-efi/fshelp.mod
    ++ basename /boot/efi/EFI/grub/x86_64-efi/fshelp.mod
    + '[' fshelp.mod '!=' menu.lst ']'
    + rm -f /boot/efi/EFI/grub/x86_64-efi/fshelp.mod
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f /boot/efi/EFI/grub/x86_64-efi/functional_test.mod
    ++ basename /boot/efi/EFI/grub/x86_64-efi/functional_test.mod
    + '[' functional_test.mod '!=' menu.lst ']'
    + rm -f /boot/efi/EFI/grub/x86_64-efi/functional_test.mod
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f /boot/efi/EFI/grub/x86_64-efi/gcry_arcfour.mod
    ++ basename /boot/efi/EFI/grub/x86_64-efi/gcry_arcfour.mod
    + '[' gcry_arcfour.mod '!=' menu.lst ']'
    + rm -f /boot/efi/EFI/grub/x86_64-efi/gcry_arcfour.mod
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f /boot/efi/EFI/grub/x86_64-efi/gcry_blowfish.mod
    ++ basename /boot/efi/EFI/grub/x86_64-efi/gcry_blowfish.mod
    + '[' gcry_blowfish.mod '!=' menu.lst ']'
    + rm -f /boot/efi/EFI/grub/x86_64-efi/gcry_blowfish.mod
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f /boot/efi/EFI/grub/x86_64-efi/gcry_camellia.mod
    ++ basename /boot/efi/EFI/grub/x86_64-efi/gcry_camellia.mod
    + '[' gcry_camellia.mod '!=' menu.lst ']'
    + rm -f /boot/efi/EFI/grub/x86_64-efi/gcry_camellia.mod
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f /boot/efi/EFI/grub/x86_64-efi/gcry_cast5.mod
    ++ basename /boot/efi/EFI/grub/x86_64-efi/gcry_cast5.mod
    + '[' gcry_cast5.mod '!=' menu.lst ']'
    + rm -f /boot/efi/EFI/grub/x86_64-efi/gcry_cast5.mod
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f /boot/efi/EFI/grub/x86_64-efi/gcry_crc.mod
    ++ basename /boot/efi/EFI/grub/x86_64-efi/gcry_crc.mod
    + '[' gcry_crc.mod '!=' menu.lst ']'
    + rm -f /boot/efi/EFI/grub/x86_64-efi/gcry_crc.mod
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f /boot/efi/EFI/grub/x86_64-efi/gcry_des.mod
    ++ basename /boot/efi/EFI/grub/x86_64-efi/gcry_des.mod
    + '[' gcry_des.mod '!=' menu.lst ']'
    + rm -f /boot/efi/EFI/grub/x86_64-efi/gcry_des.mod
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f /boot/efi/EFI/grub/x86_64-efi/gcry_md4.mod
    ++ basename /boot/efi/EFI/grub/x86_64-efi/gcry_md4.mod
    + '[' gcry_md4.mod '!=' menu.lst ']'
    + rm -f /boot/efi/EFI/grub/x86_64-efi/gcry_md4.mod
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f /boot/efi/EFI/grub/x86_64-efi/gcry_md5.mod
    ++ basename /boot/efi/EFI/grub/x86_64-efi/gcry_md5.mod
    + '[' gcry_md5.mod '!=' menu.lst ']'
    + rm -f /boot/efi/EFI/grub/x86_64-efi/gcry_md5.mod
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f /boot/efi/EFI/grub/x86_64-efi/gcry_rfc2268.mod
    ++ basename /boot/efi/EFI/grub/x86_64-efi/gcry_rfc2268.mod
    + '[' gcry_rfc2268.mod '!=' menu.lst ']'
    + rm -f /boot/efi/EFI/grub/x86_64-efi/gcry_rfc2268.mod
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f /boot/efi/EFI/grub/x86_64-efi/gcry_rijndael.mod
    ++ basename /boot/efi/EFI/grub/x86_64-efi/gcry_rijndael.mod
    + '[' gcry_rijndael.mod '!=' menu.lst ']'
    + rm -f /boot/efi/EFI/grub/x86_64-efi/gcry_rijndael.mod
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f /boot/efi/EFI/grub/x86_64-efi/gcry_rmd160.mod
    ++ basename /boot/efi/EFI/grub/x86_64-efi/gcry_rmd160.mod
    + '[' gcry_rmd160.mod '!=' menu.lst ']'
    + rm -f /boot/efi/EFI/grub/x86_64-efi/gcry_rmd160.mod
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f /boot/efi/EFI/grub/x86_64-efi/gcry_seed.mod
    ++ basename /boot/efi/EFI/grub/x86_64-efi/gcry_seed.mod
    + '[' gcry_seed.mod '!=' menu.lst ']'
    + rm -f /boot/efi/EFI/grub/x86_64-efi/gcry_seed.mod
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f /boot/efi/EFI/grub/x86_64-efi/gcry_serpent.mod
    ++ basename /boot/efi/EFI/grub/x86_64-efi/gcry_serpent.mod
    + '[' gcry_serpent.mod '!=' menu.lst ']'
    + rm -f /boot/efi/EFI/grub/x86_64-efi/gcry_serpent.mod
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f /boot/efi/EFI/grub/x86_64-efi/gcry_sha1.mod
    ++ basename /boot/efi/EFI/grub/x86_64-efi/gcry_sha1.mod
    + '[' gcry_sha1.mod '!=' menu.lst ']'
    + rm -f /boot/efi/EFI/grub/x86_64-efi/gcry_sha1.mod
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f /boot/efi/EFI/grub/x86_64-efi/gcry_sha256.mod
    ++ basename /boot/efi/EFI/grub/x86_64-efi/gcry_sha256.mod
    + '[' gcry_sha256.mod '!=' menu.lst ']'
    + rm -f /boot/efi/EFI/grub/x86_64-efi/gcry_sha256.mod
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f /boot/efi/EFI/grub/x86_64-efi/gcry_sha512.mod
    ++ basename /boot/efi/EFI/grub/x86_64-efi/gcry_sha512.mod
    + '[' gcry_sha512.mod '!=' menu.lst ']'
    + rm -f /boot/efi/EFI/grub/x86_64-efi/gcry_sha512.mod
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f /boot/efi/EFI/grub/x86_64-efi/gcry_tiger.mod
    ++ basename /boot/efi/EFI/grub/x86_64-efi/gcry_tiger.mod
    + '[' gcry_tiger.mod '!=' menu.lst ']'
    + rm -f /boot/efi/EFI/grub/x86_64-efi/gcry_tiger.mod
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f /boot/efi/EFI/grub/x86_64-efi/gcry_twofish.mod
    ++ basename /boot/efi/EFI/grub/x86_64-efi/gcry_twofish.mod
    + '[' gcry_twofish.mod '!=' menu.lst ']'
    + rm -f /boot/efi/EFI/grub/x86_64-efi/gcry_twofish.mod
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f /boot/efi/EFI/grub/x86_64-efi/gcry_whirlpool.mod
    ++ basename /boot/efi/EFI/grub/x86_64-efi/gcry_whirlpool.mod
    + '[' gcry_whirlpool.mod '!=' menu.lst ']'
    + rm -f /boot/efi/EFI/grub/x86_64-efi/gcry_whirlpool.mod
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f /boot/efi/EFI/grub/x86_64-efi/geli.mod
    ++ basename /boot/efi/EFI/grub/x86_64-efi/geli.mod
    + '[' geli.mod '!=' menu.lst ']'
    + rm -f /boot/efi/EFI/grub/x86_64-efi/geli.mod
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f /boot/efi/EFI/grub/x86_64-efi/gettext.mod
    ++ basename /boot/efi/EFI/grub/x86_64-efi/gettext.mod
    + '[' gettext.mod '!=' menu.lst ']'
    + rm -f /boot/efi/EFI/grub/x86_64-efi/gettext.mod
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f /boot/efi/EFI/grub/x86_64-efi/gfxmenu.mod
    ++ basename /boot/efi/EFI/grub/x86_64-efi/gfxmenu.mod
    + '[' gfxmenu.mod '!=' menu.lst ']'
    + rm -f /boot/efi/EFI/grub/x86_64-efi/gfxmenu.mod
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f /boot/efi/EFI/grub/x86_64-efi/gfxterm.mod
    ++ basename /boot/efi/EFI/grub/x86_64-efi/gfxterm.mod
    + '[' gfxterm.mod '!=' menu.lst ']'
    + rm -f /boot/efi/EFI/grub/x86_64-efi/gfxterm.mod
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f /boot/efi/EFI/grub/x86_64-efi/gptsync.mod
    ++ basename /boot/efi/EFI/grub/x86_64-efi/gptsync.mod
    + '[' gptsync.mod '!=' menu.lst ']'
    + rm -f /boot/efi/EFI/grub/x86_64-efi/gptsync.mod
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f /boot/efi/EFI/grub/x86_64-efi/gzio.mod
    ++ basename /boot/efi/EFI/grub/x86_64-efi/gzio.mod
    + '[' gzio.mod '!=' menu.lst ']'
    + rm -f /boot/efi/EFI/grub/x86_64-efi/gzio.mod
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f /boot/efi/EFI/grub/x86_64-efi/halt.mod
    ++ basename /boot/efi/EFI/grub/x86_64-efi/halt.mod
    + '[' halt.mod '!=' menu.lst ']'
    + rm -f /boot/efi/EFI/grub/x86_64-efi/halt.mod
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f /boot/efi/EFI/grub/x86_64-efi/hashsum.mod
    ++ basename /boot/efi/EFI/grub/x86_64-efi/hashsum.mod
    + '[' hashsum.mod '!=' menu.lst ']'
    + rm -f /boot/efi/EFI/grub/x86_64-efi/hashsum.mod
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f /boot/efi/EFI/grub/x86_64-efi/hdparm.mod
    ++ basename /boot/efi/EFI/grub/x86_64-efi/hdparm.mod
    + '[' hdparm.mod '!=' menu.lst ']'
    + rm -f /boot/efi/EFI/grub/x86_64-efi/hdparm.mod
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f /boot/efi/EFI/grub/x86_64-efi/hello.mod
    ++ basename /boot/efi/EFI/grub/x86_64-efi/hello.mod
    + '[' hello.mod '!=' menu.lst ']'
    + rm -f /boot/efi/EFI/grub/x86_64-efi/hello.mod
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f /boot/efi/EFI/grub/x86_64-efi/help.mod
    ++ basename /boot/efi/EFI/grub/x86_64-efi/help.mod
    + '[' help.mod '!=' menu.lst ']'
    + rm -f /boot/efi/EFI/grub/x86_64-efi/help.mod
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f /boot/efi/EFI/grub/x86_64-efi/hexdump.mod
    ++ basename /boot/efi/EFI/grub/x86_64-efi/hexdump.mod
    + '[' hexdump.mod '!=' menu.lst ']'
    + rm -f /boot/efi/EFI/grub/x86_64-efi/hexdump.mod
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f /boot/efi/EFI/grub/x86_64-efi/hfs.mod
    ++ basename /boot/efi/EFI/grub/x86_64-efi/hfs.mod
    + '[' hfs.mod '!=' menu.lst ']'
    + rm -f /boot/efi/EFI/grub/x86_64-efi/hfs.mod
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f /boot/efi/EFI/grub/x86_64-efi/hfsplus.mod
    ++ basename /boot/efi/EFI/grub/x86_64-efi/hfsplus.mod
    + '[' hfsplus.mod '!=' menu.lst ']'
    + rm -f /boot/efi/EFI/grub/x86_64-efi/hfsplus.mod
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f /boot/efi/EFI/grub/x86_64-efi/http.mod
    ++ basename /boot/efi/EFI/grub/x86_64-efi/http.mod
    + '[' http.mod '!=' menu.lst ']'
    + rm -f /boot/efi/EFI/grub/x86_64-efi/http.mod
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f /boot/efi/EFI/grub/x86_64-efi/iorw.mod
    ++ basename /boot/efi/EFI/grub/x86_64-efi/iorw.mod
    + '[' iorw.mod '!=' menu.lst ']'
    + rm -f /boot/efi/EFI/grub/x86_64-efi/iorw.mod
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f /boot/efi/EFI/grub/x86_64-efi/iso9660.mod
    ++ basename /boot/efi/EFI/grub/x86_64-efi/iso9660.mod
    + '[' iso9660.mod '!=' menu.lst ']'
    + rm -f /boot/efi/EFI/grub/x86_64-efi/iso9660.mod
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f /boot/efi/EFI/grub/x86_64-efi/jfs.mod
    ++ basename /boot/efi/EFI/grub/x86_64-efi/jfs.mod
    + '[' jfs.mod '!=' menu.lst ']'
    + rm -f /boot/efi/EFI/grub/x86_64-efi/jfs.mod
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f /boot/efi/EFI/grub/x86_64-efi/jpeg.mod
    ++ basename /boot/efi/EFI/grub/x86_64-efi/jpeg.mod
    + '[' jpeg.mod '!=' menu.lst ']'
    + rm -f /boot/efi/EFI/grub/x86_64-efi/jpeg.mod
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f /boot/efi/EFI/grub/x86_64-efi/keylayouts.mod
    ++ basename /boot/efi/EFI/grub/x86_64-efi/keylayouts.mod
    + '[' keylayouts.mod '!=' menu.lst ']'
    + rm -f /boot/efi/EFI/grub/x86_64-efi/keylayouts.mod
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f /boot/efi/EFI/grub/x86_64-efi/keystatus.mod
    ++ basename /boot/efi/EFI/grub/x86_64-efi/keystatus.mod
    + '[' keystatus.mod '!=' menu.lst ']'
    + rm -f /boot/efi/EFI/grub/x86_64-efi/keystatus.mod
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f /boot/efi/EFI/grub/x86_64-efi/ldm.mod
    ++ basename /boot/efi/EFI/grub/x86_64-efi/ldm.mod
    + '[' ldm.mod '!=' menu.lst ']'
    + rm -f /boot/efi/EFI/grub/x86_64-efi/ldm.mod
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f /boot/efi/EFI/grub/x86_64-efi/linux.mod
    ++ basename /boot/efi/EFI/grub/x86_64-efi/linux.mod
    + '[' linux.mod '!=' menu.lst ']'
    + rm -f /boot/efi/EFI/grub/x86_64-efi/linux.mod
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f /boot/efi/EFI/grub/x86_64-efi/loadbios.mod
    ++ basename /boot/efi/EFI/grub/x86_64-efi/loadbios.mod
    + '[' loadbios.mod '!=' menu.lst ']'
    + rm -f /boot/efi/EFI/grub/x86_64-efi/loadbios.mod
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f /boot/efi/EFI/grub/x86_64-efi/loadenv.mod
    ++ basename /boot/efi/EFI/grub/x86_64-efi/loadenv.mod
    + '[' loadenv.mod '!=' menu.lst ']'
    + rm -f /boot/efi/EFI/grub/x86_64-efi/loadenv.mod
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f /boot/efi/EFI/grub/x86_64-efi/loopback.mod
    ++ basename /boot/efi/EFI/grub/x86_64-efi/loopback.mod
    + '[' loopback.mod '!=' menu.lst ']'
    + rm -f /boot/efi/EFI/grub/x86_64-efi/loopback.mod
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f /boot/efi/EFI/grub/x86_64-efi/ls.mod
    ++ basename /boot/efi/EFI/grub/x86_64-efi/ls.mod
    + '[' ls.mod '!=' menu.lst ']'
    + rm -f /boot/efi/EFI/grub/x86_64-efi/ls.mod
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f /boot/efi/EFI/grub/x86_64-efi/lsacpi.mod
    ++ basename /boot/efi/EFI/grub/x86_64-efi/lsacpi.mod
    + '[' lsacpi.mod '!=' menu.lst ']'
    + rm -f /boot/efi/EFI/grub/x86_64-efi/lsacpi.mod
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f /boot/efi/EFI/grub/x86_64-efi/lsefimmap.mod
    ++ basename /boot/efi/EFI/grub/x86_64-efi/lsefimmap.mod
    + '[' lsefimmap.mod '!=' menu.lst ']'
    + rm -f /boot/efi/EFI/grub/x86_64-efi/lsefimmap.mod
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f /boot/efi/EFI/grub/x86_64-efi/lsefisystab.mod
    ++ basename /boot/efi/EFI/grub/x86_64-efi/lsefisystab.mod
    + '[' lsefisystab.mod '!=' menu.lst ']'
    + rm -f /boot/efi/EFI/grub/x86_64-efi/lsefisystab.mod
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f /boot/efi/EFI/grub/x86_64-efi/lsmmap.mod
    ++ basename /boot/efi/EFI/grub/x86_64-efi/lsmmap.mod
    + '[' lsmmap.mod '!=' menu.lst ']'
    + rm -f /boot/efi/EFI/grub/x86_64-efi/lsmmap.mod
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f /boot/efi/EFI/grub/x86_64-efi/lspci.mod
    ++ basename /boot/efi/EFI/grub/x86_64-efi/lspci.mod
    + '[' lspci.mod '!=' menu.lst ']'
    + rm -f /boot/efi/EFI/grub/x86_64-efi/lspci.mod
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f /boot/efi/EFI/grub/x86_64-efi/lssal.mod
    ++ basename /boot/efi/EFI/grub/x86_64-efi/lssal.mod
    + '[' lssal.mod '!=' menu.lst ']'
    + rm -f /boot/efi/EFI/grub/x86_64-efi/lssal.mod
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f /boot/efi/EFI/grub/x86_64-efi/lua.mod
    ++ basename /boot/efi/EFI/grub/x86_64-efi/lua.mod
    + '[' lua.mod '!=' menu.lst ']'
    + rm -f /boot/efi/EFI/grub/x86_64-efi/lua.mod
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f /boot/efi/EFI/grub/x86_64-efi/luks.mod
    ++ basename /boot/efi/EFI/grub/x86_64-efi/luks.mod
    + '[' luks.mod '!=' menu.lst ']'
    + rm -f /boot/efi/EFI/grub/x86_64-efi/luks.mod
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f /boot/efi/EFI/grub/x86_64-efi/lvm.mod
    ++ basename /boot/efi/EFI/grub/x86_64-efi/lvm.mod
    + '[' lvm.mod '!=' menu.lst ']'
    + rm -f /boot/efi/EFI/grub/x86_64-efi/lvm.mod
    + for file in '"${grubdir}"/*.mod' '"${grubdir}"/*.lst' '"${grubdir}"/*.img' '"${grubdir}"/efiemu??.o' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.mod' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.lst' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/*.img' '"${grubdir}"/${grub_modinfo_target_cpu}-$grub_modinfo_platform/efiemu??.o'
    + test -f /boot/efi/EFI/grub/x86_64-efi/lzopio.mod
    ++ basename /bo

    thanks for your answer
    # parted -l
    Model: ATA ST1000LM024 HN-M (scsi)
    Disk /dev/sda: 1000GB
    Sector size (logical/physical): 512B/4096B
    Partition Table: gpt
    Disk Flags:
    Number Start End Size File system Name Flags
    1 1049kB 525MB 524MB ntfs Basic data partition hidden, diag
    2 525MB 840MB 315MB fat32 EFI system partition boot
    3 840MB 974MB 134MB Microsoft reserved partition msftres
    4 974MB 489GB 488GB ntfs Basic data partition
    7 489GB 897GB 408GB ext4
    8 897GB 897GB 537MB fat16
    9 897GB 913GB 16.1GB ext4
    10 913GB 972GB 58.8GB ext4
    5 972GB 999GB 26.9GB ntfs Basic data partition hidden, diag
    6 999GB 1000GB 1074MB fat32 Basic data partition hidden, diag
    Model: General USB Flash Disk (scsi)
    Disk /dev/sdb: 4010MB
    Sector size (logical/physical): 512B/512B
    Partition Table: msdos
    Disk Flags:
    Number Start End Size Type File system Flags
    1 24.6kB 4010MB 4010MB primary fat32 boot
    Model: Linux device-mapper (snapshot) (dm)
    Disk /dev/mapper/arch_root-image: 1467MB
    Sector size (logical/physical): 512B/512B
    Partition Table: loop
    Disk Flags:
    Number Start End Size File system Flags
    1 0.00B 1467MB 1467MB ext2
    # blkid
    /dev/sda1: LABEL="Windows RE tools" UUID="EE5AC7915AC754CD" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="7d89c435-723c-477f-919c-dcd539375f01"
    /dev/sda2: LABEL="SYSTEM" UUID="DACA-0FF8" TYPE="vfat" PARTLABEL="EFI system partition" PARTUUID="34b2d3a0-9a64-478b-a34f-285a2d6c12d2"
    /dev/sda4: UUID="DA70CBFC70CBDD7F" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="b020bb63-4913-41ad-86c8-da3601795506"
    /dev/sda5: LABEL="SAMSUNG_REC2" UUID="D49855CE9855AFAA" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="b3ec5169-1fbe-4092-bd3b-05ef12a56844"
    /dev/sda6: LABEL="SAMSUNG_REC" UUID="16CF-51AE" TYPE="vfat" PARTLABEL="Basic data partition" PARTUUID="6946be1a-5046-4a95-4173-636c65706975"
    /dev/sda7: UUID="baa90712-c2b6-491d-8843-84d66cba2cc0" TYPE="ext4" PARTUUID="3ead29cf-7177-4939-8299-7132b33acb95"
    /dev/sda8: SEC_TYPE="msdos" UUID="66E2-B8FD" TYPE="vfat" PARTUUID="9305da3f-d285-4420-b7da-b2bb5940ea96"
    /dev/sda9: UUID="bfb3161c-830d-4f52-92e4-3e4e4dc49728" TYPE="ext4" PARTUUID="84122728-6714-428a-a438-7469d942327c"
    /dev/sda10: UUID="c10debbf-ac9c-4749-bd5f-aab13936d4cc" TYPE="ext4" PARTUUID="678c26ba-b31e-460a-bcb9-92c89d5d1de2"
    /dev/sdb1: LABEL="ARCH_201301" UUID="88C0-9762" TYPE="vfat"
    /dev/sda3: PARTLABEL="Microsoft reserved partition" PARTUUID="46dc5228-c93d-4951-9d0b-920ce27c950e"
    /dev/loop0: TYPE="squashfs"
    /dev/loop1: UUID="578f4f7a-123c-4d94-a4fc-3104a3e41cd9" TYPE="ext4"
    /dev/loop2: UUID="578f4f7a-123c-4d94-a4fc-3104a3e41cd9" TYPE="ext4"
    /dev/mapper/arch_root-image: UUID="578f4f7a-123c-4d94-a4fc-3104a3e41cd9" TYPE="ext4"
    # df -h
    df: '/run/archiso/bootmnt': No such file or directory
    df: '/run/archiso/cowspace': No such file or directory
    df: '/run/archiso/sfs/root-image': No such file or directory
    df: '/sys/fs/cgroup/systemd': No such file or directory
    df: '/sys/fs/cgroup/cpuset': No such file or directory
    df: '/sys/fs/cgroup/cpu,cpuacct': No such file or directory
    df: '/sys/fs/cgroup/memory': No such file or directory
    df: '/sys/fs/cgroup/devices': No such file or directory
    df: '/sys/fs/cgroup/freezer': No such file or directory
    df: '/sys/fs/cgroup/net_cls': No such file or directory
    df: '/sys/fs/cgroup/blkio': No such file or directory
    Filesystem Size Used Avail Use% Mounted on
    /dev/mapper/arch_root-image 15G 966M 14G 7% /
    dev 3.8G 0 3.8G 0% /dev
    run 3.8G 16K 3.8G 1% /run
    tmpfs 3.8G 0 3.8G 0% /dev/shm
    hugetlbfs 3.8G 0 3.8G 0% /dev/hugepages
    tmpfs 3.8G 0 3.8G 0% /tmp
    /dev/sda9 15G 966M 14G 7% /
    /dev/sda10 54G 180M 52G 1% /home
    /dev/sda8 512M 0 512M 0% /boot/efi
    udev 3.8G 0 3.8G 0% /dev
    shm 3.8G 0 3.8G 0% /dev/shm
    run 3.8G 16K 3.8G 1% /run
    tmp 3.8G 0 3.8G 0% /tmp
    /dev/mapper/arch_root-image 1.4G 650M 728M 48% /etc/resolv.conf
    on a previous installation I worked on archlinux grub2 but not windows8
    now only works windows because I forget set boot flag por my ESP partition
    >gdisk
    partition type EF00
    mkfs.vfat -F32 /dev/sdax
    but anyway my problem is with the file to load windows8

  • Problem with BigInteger and MySql

    Hi !!
    I've a problem with BigInteger and MySql.
    I've a BigInteger object (suppose that value is 0.02270412445068359375).
    I must store that value in a database (MySql).
    The value of BigInteger object must be stored in a column of type Decimal.
    Stored value is 0.022704124450683594. Why ??
    My target is to store 0.02270412445068359375
    Can anyone help me?
    Thanks.

    Hi !!
    I've a problem with BigInteger and MySql.
    I've a BigInteger object (suppose that value is
    0.02270412445068359375).
    I must store that value in a database (MySql).
    The value of BigInteger object must be stored in a
    column of type Decimal.if this is the case I fear you are SOL. a decimal is the same size as a double but with a fixed max number of decimal places. if it isn't big enough then you have no real choice other than to VARCHAR it.
    Stored value is 0.022704124450683594. Why ??
    My target is to store 0.02270412445068359375
    Can anyone help me?
    Thanks.

  • Problem with Thread and InputStream

    Hi,
    I am having a problem with threads and InputStreams. I have a class which
    extends Thread. I have created and started four instances of this class. But
    only one instance finishes its' work. When I check the state of other three
    threads their state remains Runnable.
    What I want to do is to open four InputStreams which are running in four
    threads, which reads from the same url.
    This is what I have written in my thread class's run method,
    public void run()
         URL url = new URL("http://localhost/test/myFile.exe");
    URLConnection conn = url.openConnection();
    InputStream istream = conn.getInputStream();
    System.out.println("input stream taken");
    If I close the input stream at the end of the run method, then other threads
    also works fine. But I do not want to close it becuase I have to read data
    from it later.
    The file(myFile.exe) I am trying to read is about 35 MB in size.
    When I try to read a file which is about 10 KB all the threads work well.
    Plz teach me how to solve this problem.
    I am using JDK 1.5 and Win XP home edition.
    Thanks in advance,
    Chamal.

    I dunno if we should be doing such things as this code does, but it works fine for me. All threads get completed.
    public class ThreadURL implements Runnable
        /* (non-Javadoc)
         * @see java.lang.Runnable#run()
        public void run()
            try
                URL url = new URL("http://localhost:7777/java/install/");
                URLConnection conn = url.openConnection();
                InputStream istream = conn.getInputStream();
                System.out.println("input stream taken by "+Thread.currentThread().getName());
                istream.close();
                System.out.println("input stream closed by "+Thread.currentThread().getName());
            catch (MalformedURLException e)
                System.out.println(e);
                //TODO Handle exception.
            catch (IOException e)
                System.out.println(e);
                //TODO Handle exception.
        public static void main(String[] args)
            ThreadURL u = new ThreadURL();
            Thread t = new Thread(u,"1");
            Thread t1 = new Thread(u,"2");
            Thread t2 = new Thread(u,"3");
            Thread t3 = new Thread(u,"4");
            t.start();
            t1.start();
            t2.start();
            t3.start();
    }And this is the o/p i got
    input stream taken by 2
    input stream closed by 2
    input stream taken by 4
    input stream closed by 4
    input stream taken by 3
    input stream closed by 3
    input stream taken by 1
    input stream closed by 1
    can u paste your whole code ?
    ram.

  • Problem with JFrame's dispose();

    Hello everyone,
    I'm having a problem with JFrame's dispose() method. In my program I have 2 classes which go into full screen. On each screen there is a button to switch to the other screen. The first time I push the button on both of them the other screen closes, which is what I want. However, if I push the same button more than twice - like by going from Screen1 to Screen2 and Screen2 to Screen1 and then Screen1 to Screen2 - I get 2 screens. If I keep doing that I eventually get 10+ screens up, which is bad. How do I prevent that?

    There's a lot of code, so I'll just post up the part that does it.
    backButton.addActionListener(new ActionListener()
                  public void actionPerformed(ActionEvent e)
                      soundManagerM.close();
                        new MenuScreen().setVisible(true);
                        dispose();
             });I don't think it opens up 2 at once, because it would play multiple music right?

  • Problem with exporting and printing from pages to PDF

    I have a problem with my Pages
    My font will not be embeded in my pdf files.
    I have saved as a ps file and in to the destiller and my fonts are missing.
    I need to send my file to the print shop but they will not accept my file and i now understand why.
    fonts are missing...
    Is there a workaround.
    I have no problem in Indesign or quark but pages.....
    I need help
    thanks a zillion

    The font is coming from a notation software Sibelius 4 and is namned opus
    Hmmm ... Sibelius is a music notation software and notations are marked up in MusicXML. Presumably the font file is an SFNT with TrueType splines, but it is probably not installed in OS X system folders - rather in an internal Sibelius application font folder. So presumably you do not see the font in FontBook and OS X font auditing does not apply to the font.
    Sibelius exports EPS files, right? If memory serves, an EPS is still legal even if the font resource is not embedded. And in any case, we know from the behaviour that the font resource is not embedded for some reason. So how do you get Sibelius to put the font resource inside the graphic ... normally there is a button in the EPS export procedure that gives you the option to Embed All Fonts.
    You do not seem to get this button, though. Or why else would you not have checked it already and the problem would have gone away already.
    The next point in troubleshooting this is that you are not following the path that would let OS X detect that an external font resource is not embedded.
    I go from pages-print-printer- acrobat Pro 8-save as Pdf-x
    What you are doing here is telling Pages to tell OS X to generate a PostScript program within which is nested your Encapsulated PostScript program with the call to an unresolved external font resource.
    So why does Acrobat Pro not detect the unresolved external font resource? Hmm ... did you try the Preflight option in Acrobat 8 Pro? It should provide information on unresolved embeddings.
    I have also tried pages-print-printer- acrobat Pro 8 and save pdf as postscript and put the postscript file in destiller 8 pro with defalt setting high quality print
    The whole problem with EPS and PS is that this sort of situation is possible in the first place (plus, what is worse, the PS program can include custom additions to the graphics model that then fail in the PS interpreter whence Apple GX normalizing, Adobe Distiller normalizing, and Apple Quartz normalizing). You want to get as far away from EPS and PS as possible, believe me.
    So, you have not done what I posted that you should do in the first place. If I were you, I would first get rid of the problem that the EPS is making a call to an external font and then get rid of the problem that the PostScript is preserving the external call.
    To get rid of the problem that the EPS is preserving an external call, simply open the EPS in Apple Preview which includes a NORMALIZER for EPS/PS, and then save out the graphic as PDF. Alternatively, if you don't trust Quartz for some reason, set up a hotfolder for Distiller, make sure the option to embed all fonts is enabled, and convert the EPS to PDF.
    Now replace your EPS in Pages with PDF in Pages, and don't save PostScript to disk but save PDF to disk through the proper procedure which is File > Print > PDF > Save as PDF/X [for your custom configuration of the PDF/X-3 filter considering that no sane person in North Europe prints lowend US SWOP, we use ISO].
    If you begin by telling OS X that you want PDF within which fonts are supposed to be embedded ALWAYS, then you have started the right way. Otherwise, you have not told the operating system what you want to do, and this then leads you into places where you are unlikely to have the expertise to troubleshoot problems.
    So, forget placing EPS in the first place, place PDF. And forget saving PostScript to disk, save PDF to disk. If that does not sort your problem, here is the dirty solution for professional prepress.
    Adobe Photoshop has an EPS rasterizer that has wide tolerances for poor PostScript programming (so does Adobe Illustrator 6 and higher by the way).
    Therefore, if an EPS is posing problems, one workaround is to rasterize the EPS at high resolution in Photoshop and place that high resolution PDF in your layout.
    Take care that you rasterize as 1 bit at the required resolution of the print provider, probably 2450 dpi. When you save the 1 bit as PDF, Photoshop automatically compresses to a very, very small file (don't be surprised if 15Mb compresses to something like 0.5Mb).
    Rasterizing in Photoshop should not be necessary if you simply start by telling the operating system what it is you are trying to do. Then the operating system should be able to take the right decisions for you, and tell if you if finds problems it cannot resolve without turning to you.
    Good luck,
    Henrik
    would-be technical writer

Maybe you are looking for

  • ORA-22275: invalid LOB locator specified on trigger

    I have a trigger which copies a blob on insert to one table to another. CREATE OR REPLACE TRIGGER SWZTPRO.TSWTMPI_BEFORE_INSERT BEFORE INSERT ON SWZTPRO.TO_TSWTMPI REFERENCING NEW AS NEW OLD AS OLD FOR EACH ROW DECLARE discriminator TO_TSWCRUL.BTC_DI

  • Lazy Loading, Muse, and Scripts

    Hi, I'm trying to integrate Lazy loading with Muse in a Web Site. I would like know if anyone has a better workflow... So, first I uploaded to the server the "lazy loading content" http://dandalo.net/teste/lazy-patricia/lazy-pat.html Then, in Muse, I

  • What is JCo in SAP connectivity

    Hi all,             i want to connect to SAP system from java program.Is it that i need a JCO jar file. I am new to this.the code i got by searching in all the forums for sap connectivity is import com.sap.mw.jco.JCO; import com.sap.mw.jco.IRepositor

  • ODI Data Quality metabase Load connections

    Hi Guys I am trying to get started with ODI data quality and profiling. I would like to connect from the ODI metabase manager load connections to the database on my local machine using the following username: thiza Password: url:10.12.12.12:1521:EDW

  • Iweb photo page and pay pal buttons

    could someone tell me how to alter or change java so pay pal buttons go away when someone clicks on picture to enlarge or goes to slide show? cyclosaurus gave to example web pages that it can be done, but no explanation on how to do it. Thanks , wish