Problems with loans and partition in Organizational Assignment

Hi,
    I have a problem with loans(infotype 45) when exist a partition in Organizational Assignment infotype.How can we do to calculate the proportional wage types generated with P0045 (/LBD,/LRP,etc) in each partition?
Thank you very much!!

Technical wage types of loan do not split as the wage types of Basic Pay Infotype. Can you please provide me information regarding what issue you are facing in this. Do you want your Loan Installment to be reduced as per your organizational assignment?

Similar Messages

  • Problem with iTunes and iPhone Music organization. PLEASE READ AND HELP!

    Hello All!
    I have this problem concerning iTunes and my iPhone. When I add music, and I update the Artist title to organize it in my iPhone, It shows EDITED on my mac in iTunes, but not my iPhone. I took a screen shot of what It shows. The TOP is iTunes showing "Arie Dixon" and "Arie Dixon & Olivia Cipolla" two seperate CD's, yet different Artist Titles, just the way I want it. The BOTTOM shows how the file was originally, in 3 seperate titles, "Bebe Boohgz" "The Jackmove 3" and "Arie Dixon 'Bebe Boohgz' and Olivia Cipolla". The problem is that iTunes shows it in the correct title, but my iPhone won't. This is my 2nd iPhone 4 I have that has this problem. I'm not sure if it's the settings or encoding, can someone help me out? I can't be the only person with this problem. Apple rep looked at me like o_O
    I also have music that won't appear in my iPhone, I manually have to search for, but appears on my iTunes in the correct title.
    I also have everything updated, and have the new os x release.

    kcinokc wrote:
    I have a 3GS and the ios is 4.3.4.   I am trying to load the latest version so I can then get the icloud.
    So plug the device into the computer and upgrade.
    Are you getting a specific error message when trying to do this?
    As for the message about the media disappearing, of course it will.  This is how iOS upgrades work.  The device is wiped and the newest version of iOS for the device is installed as a "new" device then the device is restored using the backup created prior to the upgrade.
    All the content on the device should already exist in iTunes on the computer.
    If you want to move your iTunes library to a different drive for capacity reasons, do the following:
    Close iTunes
    Copy or Move the ENTIRE iTunes folder from the C drive to the other drive.
    While holding SHIFT launch iTunes.  iTunes will then prompt the user to select a library or create a new one.  Point iTunes to the new iTunes folder location.

  • Problem with Roles and Triggers

    I'm having a strange problem with Roles and Triggers in Oracle. It's a little difficult to describe, so bear with me...
    I'm trying to create a trigger that inserts records into a table belonging to a different user/owner. Of course, the owner of this trigger needs rights to insert records into this other table. I find that if I add these rights directly to the owner of the trigger, everything works okay and the trigger compiles successfully.
    However, if I first create a Role and grant the "insert" rights to it, and then assign this role to the owner of the trigger, the trigger does not compile successfully.
    To illustrate this, here's an example script. I'm using Oracle 10g Release 2...
    -- Clean up...
    DROP TABLE TestUser.TrigTable;
    DROP TABLE TestUser2.TestTable;
    DROP ROLE TestRole;
    DROP TRIGGER TestUser.TestTrigger;
    DROP USER TestUser CASCADE;
    DROP USER TestUser2 CASCADE;
    -- Create Users...
    CREATE USER TestUser IDENTIFIED BY password DEFAULT TABLESPACE "USERS" TEMPORARY TABLESPACE "TEMP" QUOTA UNLIMITED ON "USERS";
    CREATE USER TestUser2 IDENTIFIED BY password DEFAULT TABLESPACE "USERS" TEMPORARY TABLESPACE "TEMP" QUOTA UNLIMITED ON "USERS";
    CREATE TABLE TestUser.TrigTable (TestColumn VARCHAR2(40));
    CREATE TABLE TestUser2.TestTable (TestColumn VARCHAR2(40));
    -- Grant Insert rights on TestTable to TestRole...
    CREATE ROLE TestRole NOT IDENTIFIED;
    GRANT INSERT ON TestUser2.TestTable TO TestRole;
    -- Add TestRole to TestUser. TestUser should now have rights to INSERT on TestTable
    GRANT TestRole TO TestUser;
    ALTER USER TestUser DEFAULT ROLE ALL;
    -- Now, create the trigger. This compiles unsuccessfully...
    CREATE TRIGGER TestUser.TestTrigger AFTER INSERT ON TestUser.TrigTable
    BEGIN
    INSERT INTO TestUser2.TestTable (TestColumn) VALUES ('Test');
    END;
    When I do a "SHOW ERRORS;" after this, I get:
    SQL> show errors;
    Errors for TRIGGER TESTUSER.TESTTRIGGER:
    LINE/COL ERROR
    2/3 PL/SQL: SQL Statement ignored
    2/25 PL/SQL: ORA-00942: table or view does not exist
    SQL>
    As I said above, if I just add the Insert rights directly to TestUser, the trigger compiles perfectly. Does anyone know why this is happening?
    Thanks!
    Adrian

    Hi Raghu,
    If the insert rights exist only on TestRole, and TestRole is assigned to TestUser, I can do the INSERT statement you suggest with no problems if I just execute it from SQLPlus (logged in as TestUser).
    The question is, why does the same INSERT fail when it's inside the trigger?

  • 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

  • [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

  • Problems with SwingWorker and classes in my new job, ;), can you help me?

    Hi all, ;)
    First of all, sorry about my poor English.
    I have a problem with Swing and Threads, I hope you help me (because I'm in the firsts two weeks in my new job)
    I have two classes:
    Form1: Its a JPanel class with JProgressBar and JLabel inside.
    FormularioApplet: (the main) Its a JPanel class with a form1 inside.
    I have to download a file from a server and show the progress of the download in the JProgressBar. To make it I do this:
    In Form1 I make a Thread that update the progress bar and gets the fole from the server.
    In FormularioApplet (the main) I call to the method getDownloadedFile from Form1 to get the File.
    THE PROBLEM:
    The execution of FormularioApplet finishes before the Thread of Form1 (with download the file) download the file. Then, when I call in FormularioApplet the variable with the file an Exception: Exception in thread "AWT-EventQueue-1" java.lang.NullPointerException is generated.
    First main begins his execution, then call to Form1 (a thread) then continues his execution and when the execution is finished ends the execution os Form1 and his thread.
    How can I do for main class call the function and the Thread download his file after main class assign the file of return method?
    How can I pass information froma class include an a main class. Form1 can't send to main (because main class made a Form1 f1 = new Form1()) any information from his end of the execution. I think if Form1 can say to main class that he finishes is job, then main class can gets the file.
    I put in bold the important lines.
    Note: My level of JAVA, you can see, is not elevated.
    THANKS A LOT
    Form1 class:
    package es.cambrabcn.signer.gui;
    import java.awt.HeadlessException;
    import java.io.ByteArrayOutputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.net.MalformedURLException;
    import java.net.URL;
    import java.util.StringTokenizer;
    import java.util.Vector;
    import javax.swing.SwingUtilities;
    public class Form1 extends javax.swing.JPanel {
        //Variables relacionadas con la clase original DownloadProgressBar
        private InputStream file;
        private int totalCicles;
        private int totalFiles;
        private int currentProgress;
        private SwingWorker worker;
        private ByteArrayOutputStream byteArray;
        private boolean done;
        /** Creates new form prueba */
        public Form1() {
            initComponents();
            this.byteArray = new ByteArrayOutputStream();
            progressBar.setStringPainted(true);
            //this.totalFiles = totalFiles;
            currentProgress = 0;
        /** 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.
        // <editor-fold defaultstate="collapsed" desc=" C�digo Generado ">                         
        private void initComponents() {
            label1 = new javax.swing.JLabel();
            progressBar = new javax.swing.JProgressBar();
            statusLabel = new javax.swing.JLabel();
            setBackground(new java.awt.Color(255, 255, 255));
            setMaximumSize(new java.awt.Dimension(300, 150));
            setMinimumSize(new java.awt.Dimension(300, 150));
            setPreferredSize(new java.awt.Dimension(300, 150));
            label1.setFont(new java.awt.Font("Arial", 1, 18));
            label1.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
            label1.setText("Barra de progreso");
            statusLabel.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
            statusLabel.setText("Cargando");
            org.jdesktop.layout.GroupLayout layout = new org.jdesktop.layout.GroupLayout(this);
            this.setLayout(layout);
            layout.setHorizontalGroup(
                layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                .add(org.jdesktop.layout.GroupLayout.TRAILING, layout.createSequentialGroup()
                    .addContainerGap()
                    .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING)
                        .add(org.jdesktop.layout.GroupLayout.LEADING, statusLabel, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 280, Short.MAX_VALUE)
                        .add(org.jdesktop.layout.GroupLayout.LEADING, progressBar, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 280, Short.MAX_VALUE)
                        .add(org.jdesktop.layout.GroupLayout.LEADING, label1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 280, Short.MAX_VALUE))
                    .addContainerGap())
            layout.setVerticalGroup(
                layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                .add(layout.createSequentialGroup()
                    .addContainerGap()
                    .add(label1)
                    .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                    .add(progressBar, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                    .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                    .add(statusLabel)
                    .addContainerGap(73, Short.MAX_VALUE))
        }// </editor-fold>                       
        // Declaraci�n de variables - no modificar                    
        private javax.swing.JLabel label1;
        private javax.swing.JProgressBar progressBar;
        private javax.swing.JLabel statusLabel;
        // Fin de declaraci�n de variables                  
        public byte[] getDownloadedFile(String documentToSign){
             //Variables locales
             byte puente[] = null;
             try{
                //Leemos el documento a firmar
                StringTokenizer st = new StringTokenizer(documentToSign, ";");
                Vector<URL> fileURL = new Vector<URL>();
                HttpSender sender = new HttpSender(null);
                //Introducimos la lista de URLs de archivos a bajar en el objeto Vector
                for(; st.hasMoreTokens(); fileURL.add(new URL(st.nextToken())));
                //Para cada URL descargaremos un archivo
                for(int i = 0; i < fileURL.size(); i++) {
                    file = sender.getMethod((URL)fileURL.get(i));
                    if(file == null) {
                        Thread.sleep(1000L);
                        throw new RuntimeException("Error descarregant el document a signar.");
                    System.out.println("Form1 Dentro de getDownloadFile, Antes de startDownload()");
                    //Fijamos el valor del n�mero de ciclos que se har�n seg�n el tama�o del fichero
                    this.totalCicles = sender.returnCurrentContentLength() / 1024;
                    this.progressBar.setMaximum(totalCicles);
                    //Modificamos el texto del JLabel seg�n el n�mero de fichero que estemos descargando
                    this.statusLabel.setText((new StringBuilder("Descarregant document ")).append(i + 1).append(" de ").append(fileURL.size()).toString());
                    statusLabel.setAlignmentX(0.5F);
                    *//Iniciamos la descarga del fichero, este m�todo llama internamente a un Thread*
                    *this.startDownload();*
                    *System.out.println("Form1 Dentro de getDownloadFile, Despu�s de startDownload()");*
                    *//if (pane.showProgressDialog() == -1) {*
                    *while (!this.isDone()){*
                        *System.out.println("No est� acabada la descarga");*
                        *if (this.isDone()){*
                            *System.out.println("Thread ACABADO --> Enviamos a puente el archivo");*
                            *puente = this.byteArray.toByteArray();*
                            *System.out.println("Form1 getDownloadFile() tama�o puente: " + puente.length);*
                        *else{*
                            *Thread.sleep(5000L);*
    *//                        throw new RuntimeException("Proc�s de desc�rrega del document a signar cancel�lat.");*
            catch (HeadlessException e) {
                    //javascript("onSignError", new String[] {
                    //(new StringBuilder("UI: ")).append(e.getMessage()).toString()});
            e.printStackTrace();
            catch (MalformedURLException e) {
                    //javascript("onSignError", new String[] {
                    //(new StringBuilder("CMS: ")).append(e.getMessage()).toString()});
            e.printStackTrace();
            catch (HttpSenderException e) {
                    //javascript("onSignError", new String[] {
                    //(new StringBuilder("CMS: ")).append(e.getMessage()).toString()});
            e.printStackTrace();
            catch (InterruptedException e) {
                    //javascript("onSignError", new String[] {
                    //(new StringBuilder("CMS: ")).append(e.getMessage()).toString()});
            e.printStackTrace();
            //System.out.println("Form1 getDownloadFile() tama�o puente: " + puente.length);
            return puente;
        public void updateStatus(final int i){
            Runnable doSetProgressBarValue = new Runnable() {
                public void run() {
                    progressBar.setValue(i);
            SwingUtilities.invokeLater(doSetProgressBarValue);
        public void startDownload() {
            System.out.println("Form1 Inicio startDownload()");
            System.out.println("Form1 Dentro de startDownload, antes de definir la subclase SwingWorker");
            System.out.println(done);
            worker = new SwingWorker() {
                public Object construct() {
                    System.out.println("Form1 Dentro de startDownload, dentro de construct(), Antes de entrar en doWork()");
                    return doWork();
                public void finished() {
                    System.out.println("Form1 Dentro de startDownload, dentro de finished(), Antes de asignar done = true");
                    System.out.println(done);
                    done = true;
                    System.out.println("Form1 Dentro de startDownload, dentro de finished(), Despu�s de asignar done = true");
                    System.out.println(done);
                    statusLabel.setText("Completado, tama�o del archivo: " + (byteArray.size() / 1024) + "KB");
            System.out.println("Form1 Dentro de startDownload, antes de worker.start()");
            worker.start();
            System.out.println("Form1 Dentro de startDownload, antes de salir de startDownload");
            System.out.println(done);
            System.out.println("Form1 Dentro de startDownload, despu�s de worker.start()");
         * M�todo doWork()
         * Este m�todo descarga por partes el archivo que es necesario descargar, adem�s de actualizar
         * la barra de carga del proceso de carga de la GUI.
        public Object doWork() {
            System.out.println("Form1 doWork() this.byteArray.size(): " + this.byteArray.size());
            try {
                byte buffer[] = new byte[1024];
                for(int c = 0; (c = this.file.read(buffer)) > 0;) {
                    this.currentProgress++;
                    updateStatus(this.currentProgress);
                    this.byteArray.write(buffer, 0, c);
                this.byteArray.flush();
                this.file.close();
                this.currentProgress = totalCicles;
                updateStatus(this.currentProgress);
            } catch(IOException e) {
                e.printStackTrace();
            System.out.println("Form1 doWork() FINAL this.byteArray.size(): " + this.byteArray.size());
            //done = true;
            System.out.println("AHORA DONE = TRUE");
            return "Done";
        public boolean isDone() {
            return this.done;
    FormularioApplet class (main)
    package es.cambrabcn.signer.gui;
    import java.awt.Color;
    import java.io.File;
    import java.io.FileNotFoundException;
    import java.io.IOException;
    import java.net.URL;
    import java.security.Security;
    import java.util.StringTokenizer;
    import java.util.Vector;
    import javax.swing.SwingUtilities;
    import netscape.javascript.JSObject;
    import org.bouncycastle.jce.provider.BouncyCastleProvider;
    import sun.security.provider.Sun;
    import be.cardon.cryptoapi.provider.CryptoAPIProvider;
    public class FormularioApplet extends java.applet.Applet {
        //Variables globales
        int paso = 0;
        private static final String JS_ONLOAD = "onLoad";
        private static final String JS_ONLOADERROR = "onLoadError";
        private static final int SIGNATURE_PDF = 1;
        private static final int SIGNATURE_XML = 2;
        //private String signButtonValue;
        private int signatureType;
        private String documentToSign;
        private String pdfSignatureField;
        private Vector<String> outputFilename;
        private Color appletBackground = new Color(255, 255, 255);
        private Vector<byte[]> ftbsigned;
         * Initializes the applet FormularioApplet
        public void init(){
            try {
                SwingUtilities.invokeLater(new Runnable() {
                //SwingUtilities.invokeAndWait(new Runnable() {
                //java.awt.EventQueue.invokeAndWait(new Runnable() {
                    public void run() {
                        try{
                            readParameters();
                            initComponents();
                        catch(FileNotFoundException e){
                            javascript(JS_ONLOADERROR, new String[] {
                                (new StringBuilder("Init: ")).append(e.getMessage()).toString()});
                            e.printStackTrace();                       
                        catch(IOException e) {
                            javascript(JS_ONLOADERROR, new String[] {
                                (new StringBuilder("Init: ")).append(e.getMessage()).toString()});
                            e.printStackTrace();
            catch (Exception e) {
                javascript(JS_ONLOADERROR, new String[] {
                    (new StringBuilder("Init: ")).append(e.getMessage()).toString()});
                e.printStackTrace();
            javascript(JS_ONLOAD, null);
        /** This method is called from within the init() method to
         * initialize the form.
         * WARNING: Do NOT modify this code. The content of this method is
         * always regenerated by the Form Editor.
        // <editor-fold defaultstate="collapsed" desc=" C�digo Generado ">
        private void initComponents() {
            this.setSize(350, 450);
            appletPanel = new javax.swing.JPanel();
            jPanel1 = new javax.swing.JPanel();
            jTextField1 = new javax.swing.JLabel();
            jPanel2 = new javax.swing.JPanel();
            label = new javax.swing.JLabel();
            jPanel3 = new javax.swing.JPanel();
            jButton1 = new javax.swing.JButton();
            jButton2 = new javax.swing.JButton();
            setLayout(new java.awt.BorderLayout());
            appletPanel.setBackground(new java.awt.Color(255, 255, 255));
            appletPanel.setMaximumSize(new java.awt.Dimension(350, 430));
            appletPanel.setMinimumSize(new java.awt.Dimension(350, 430));
            appletPanel.setPreferredSize(new java.awt.Dimension(350, 430));
            jPanel1.setBackground(new java.awt.Color(255, 255, 255));
            jPanel1.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 102, 204)));
            jTextField1.setFont(new java.awt.Font("Arial", 1, 18));
            jTextField1.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
            jTextField1.setText("SIGNATURA ELECTRONICA");
            org.jdesktop.layout.GroupLayout jPanel1Layout = new org.jdesktop.layout.GroupLayout(jPanel1);
            jPanel1.setLayout(jPanel1Layout);
            jPanel1Layout.setHorizontalGroup(
                jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                .add(jPanel1Layout.createSequentialGroup()
                    .addContainerGap()
                    .add(jTextField1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 308, Short.MAX_VALUE)
                    .addContainerGap())
            jPanel1Layout.setVerticalGroup(
                jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                .add(jPanel1Layout.createSequentialGroup()
                    .addContainerGap()
                    .add(jTextField1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 24, Short.MAX_VALUE)
                    .addContainerGap())
            jPanel2.setBackground(new java.awt.Color(255, 255, 255));
            jPanel2.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 102, 204)));
            label.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
            label.setIcon(new javax.swing.ImageIcon("C:\\java\\workspaces\\cambrabcn\\firmasElectronicas\\logo.gif"));
            org.jdesktop.layout.GroupLayout jPanel2Layout = new org.jdesktop.layout.GroupLayout(jPanel2);
            jPanel2.setLayout(jPanel2Layout);
            jPanel2Layout.setHorizontalGroup(
                jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                .add(jPanel2Layout.createSequentialGroup()
                    .addContainerGap()
                    .add(label, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 308, Short.MAX_VALUE)
                    .addContainerGap())
            jPanel2Layout.setVerticalGroup(
                jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                .add(jPanel2Layout.createSequentialGroup()
                    .addContainerGap()
                    .add(label)
                    .addContainerGap(229, Short.MAX_VALUE))
            jPanel3.setBackground(new java.awt.Color(255, 255, 255));
            jPanel3.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 102, 204)));
            //this.jButton1.setVisible(false);
            //this.jButton2.setVisible(false);
            jButton1.setText("Seg\u00fcent");
            jButton1.setAlignmentX(0.5F);
            //Cargamos el primer formulario en el JPanel2
            loadFirstForm();
            //Modificamos el texto del bot�n y el contador de pasos.
            //this.jButton1.setText("Siguiente");
            //this.jButton1.setVisible(true);
            //this.jButton2.setVisible(true);
            jButton1.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    jButton1ActionPerformed(evt);
            jButton2.setText("Cancel\u00b7lar");
            jButton2.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    jButton2ActionPerformed(evt);
            org.jdesktop.layout.GroupLayout jPanel3Layout = new org.jdesktop.layout.GroupLayout(jPanel3);
            jPanel3.setLayout(jPanel3Layout);
            jPanel3Layout.setHorizontalGroup(
                jPanel3Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                .add(org.jdesktop.layout.GroupLayout.TRAILING, jPanel3Layout.createSequentialGroup()
                    .addContainerGap()
                    .add(jButton1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 94, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                    .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED, 112, Short.MAX_VALUE)
                    .add(jButton2, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 102, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                    .addContainerGap())
            jPanel3Layout.setVerticalGroup(
                jPanel3Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                .add(org.jdesktop.layout.GroupLayout.TRAILING, jPanel3Layout.createSequentialGroup()
                    .addContainerGap()
                    .add(jPanel3Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                        .add(jButton2)
                        .add(jButton1))
                    .addContainerGap())
            org.jdesktop.layout.GroupLayout appletPanelLayout = new org.jdesktop.layout.GroupLayout(appletPanel);
            appletPanel.setLayout(appletPanelLayout);
            appletPanelLayout.setHorizontalGroup(
                appletPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                .add(org.jdesktop.layout.GroupLayout.TRAILING, appletPanelLayout.createSequentialGroup()
                    .addContainerGap()
                    .add(appletPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING)
                        .add(org.jdesktop.layout.GroupLayout.LEADING, jPanel2, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .add(org.jdesktop.layout.GroupLayout.LEADING, jPanel1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .add(org.jdesktop.layout.GroupLayout.LEADING, jPanel3, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                    .addContainerGap())
            appletPanelLayout.setVerticalGroup(
                appletPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                .add(org.jdesktop.layout.GroupLayout.TRAILING, appletPanelLayout.createSequentialGroup()
                    .addContainerGap()
                    .add(jPanel1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                    .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                    .add(jPanel2, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                    .add(jPanel3, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                    .addContainerGap())
            add(appletPanel, java.awt.BorderLayout.CENTER);
        }// </editor-fold>
        private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
            this.destroy();
        private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                        
            changeForms(this.paso);
        // Declaraci�n de variables - no modificar
        private javax.swing.JPanel appletPanel;
        private javax.swing.JButton jButton1;
        private javax.swing.JButton jButton2;
        private javax.swing.JPanel jPanel1;
        private javax.swing.JPanel jPanel2;
        private javax.swing.JPanel jPanel3;
        private javax.swing.JLabel jTextField1;
        private javax.swing.JLabel label;
        // Fin de declaraci�n de variables
         * M�todo readParameters
         * M�todo que inicializa los valores de los par�metros internos, recibidos por par�metro.
        private void readParameters() throws FileNotFoundException, IOException {
             ???????????????? deleted for the forum
            addSecurityProviders();
         * M�tode loadFirstForm
         * Aquest m�tode carrega a jPanel2 el formulari que informa sobre la c�rrega dels arxius
        private void loadFirstForm(){
            //Form1 f1 = new Form1(stream, i + 1, fileURL.size(), sender.returnCurrentContentLength(), appletBackground);
            //Form1 f1 = new Form1(fileURL.size(), sender.returnCurrentContentLength());
            Form1 f1 = new Form1();
            //Lo dimensionamos y posicionamos
            f1.setSize(310, 150);
            f1.setLocation(10, 110);
            //A�adimos el formulario al JPanel que lo contendr�
            this.jPanel2.add(f1);
            //Validem i repintem el JPanel
            jPanel2.validate();
            jPanel2.repaint();
            //Descarreguem l'arxiu a signar
            *System.out.println("FormularioApplet Dentro de loadFirstForm(), antes de llamar a getDownloadFile()");*
            *byte obj[] = f1.getDownloadedFile(this.documentToSign);*
            if (obj == null){
                System.out.println("Lo que devuelve f1.getDownloadedFile(this.documentToSign) es NULL");
            else{
                System.out.println("Lo que devuelve f1.getDownloadedFile(this.documentToSign) NO es NULL");
                System.out.println("obj: " + obj.length);
            this.ftbsigned.add(obj);
            System.out.println("FormularioApplet Dentro de loadFirstForm(), despu�s de llamar a getDownloadFile()");
            //Indicamos que el primer paso ya se ha efectuado
            this.paso++;
         * M�tode changeForms
         * Aquest m�tode carrega a jPanel2 un formulari concret segons el valor de la variable global "paso"
        private void changeForms(int paso){
            /*A cada paso se cargar� en el JPanel y formulario diferente
             * Paso previo: Se realiza en la inicializaci�n, carga el formulario, descarga el archivo y muestra la barra de carga.
             * Case 1: Se carga el formulario de selecci�n de tipo de firma.
             * Case 2: Se carga el formulario de datos de la persona que firma.
            this.paso = paso;
            switch(paso){
                case 1:
                    //Creamos un objeto de formulario (seleccion de tipo de firma)
                    Form2 f2 = new Form2();
                    //Lo dimensionamos y posicionamos
                    f2.setSize(310, 185);
                    f2.setLocation(10, 110);
                    //Quitamos el formulario 1 y a�adimos el formulario 2 al JPanel
                    this.jPanel2.remove(1);
                    this.jPanel2.add(f2);
                    //Validem i repintem el JPanel
                    jPanel2.validate();
                    jPanel2.repaint();
                    //Modificamos el contador de pasos.
                    this.paso++;
                    break;
                case 2:
                    //Creamos un objeto de formulario (seleccion de tipo de firma)
                    Form3 f3 = new Form3();
                    //Lo dimensionamos y posicionamos
                    f3.setSize(310, 175);
                    f3.setLocation(15, 130);
                    //Quitamos el formulario 1 y a�adimos el formulario 3 al JPanel
                    this.jPanel2.remove(1);
                    this.jPanel2.add(f3);
                    //Validem i repintem el JPanel
                    jPanel2.validate();
                    jPanel2.repaint();
                    //Modificamos el texto del bot�n y el contador de pasos.
                    this.jButton1.setText("Finalizar");
                    this.paso++;
                    break;
                default:
                    //Finalizar el Applet
                    //C�digo que se encargue de guardar el archivo en el disco duro del usuario
                    break;
        private void addSecurityProviders() throws FileNotFoundException, IOException {
            Security.addProvider(new CryptoAPIProvider());
            if (signatureType == SIGNATURE_PDF) {
                Security.addProvider(new BouncyCastleProvider());
            else {
                Security.addProvider(new Sun());
        private File createOutputFile(String filename, int index) {
            return new File((String)outputFilename.get(index));
        protected Object javascript(String function, String args[]) throws RuntimeException {
            //Remove
            if (true) return null;
            try {
                Vector<String> list = new Vector<String>();
                if(args != null) {
                    for(int i = 0; i < args.length; i++) {
                        list.addElement(args);
    if(list.size() > 0) {
    Object objs[] = new Object[list.size()];
    list.copyInto(objs);
    return JSObject.getWindow(this).call(function, objs);
    } catch(UnsatisfiedLinkError e) {
    e.printStackTrace();
    throw new RuntimeException((new StringBuilder()).append(e).append("\nFunci�: ").append(function).toString());
    } catch(Throwable e) {
    e.printStackTrace();
    throw new RuntimeException((new StringBuilder()).append(e).append("\nFunci�: ").append(function).toString());
    return JSObject.getWindow(this).call(function, new Object[0]);
    Edited by: Kefalegereta on Oct 31, 2007 3:54 AM
    Edited by: Kefalegereta on Oct 31, 2007 4:00 AM                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        

    Look at iOS Troubleshooting Wi-Fi networks and connections  http://support.apple.com/kb/TS1398
    iPad: Issues connecting to Wi-Fi networks  http://support.apple.com/kb/ts3304
    iOS: Recommended settings for Wi-Fi routers and access points  http://support.apple.com/kb/HT4199
    Additional things to try.
    Try this first. Turn Off your iPad. Then turn Off (disconnect power cord) the wireless router & then back On. Now boot your iPad. Hopefully it will see the WiFi.
    Go to Settings>Wi-Fi and turn Off. Then while at Settings>Wi-Fi, turn back On and chose a Network.
    Change the channel on your wireless router. Instructions at http://macintoshhowto.com/advanced/how-to-get-a-good-range-on-your-wireless-netw ork.html
    Another thing to try - Go into your router security settings and change from WEP to WPA with AES.
    How to Quickly Fix iPad 3 Wi-Fi Reception Problems
    http://osxdaily.com/2012/03/21/fix-new-ipad-3-wi-fi-reception-problems/
    If none of the above suggestions work, look at this link.
    iPad Wi-Fi Problems: Comprehensive List of Fixes
    http://appletoolbox.com/2010/04/ipad-wi-fi-problems-comprehensive-list-of-fixes/
    Fix iPad Wifi Connection and Signal Issues  http://www.youtube.com/watch?v=uwWtIG5jUxE
    ~~~~~~~~~~~~~~~
    If any of the above solutions work, please post back what solved your problem. It will help others with the same problem.
     Cheers, Tom

  • Mountain Lion fails to install saying it cannot create the recovery; I had a similar problem with Lion and the Apple Store that helped me resolve it gave me an installable version of Mountain Lion on a flash drive for my inconvenience....

    Mountain Lion fails to install saying it cannot create the recovery; I had a similar problem with Lion and the Apple Store that helped me resolve it gave me an installable version of Mountain Lion on a flash drive for my inconvenience....is there some trick I am missing or do I need to make an appointment with a genius...

    I have the MacIntosh volume and the Boot Camp partition only.  I know that when I installed Lion, I had to go through a whole back-up and recovery of Windows and then re-format the drive. 
    The tech at the Apple Store had a previous life as a MSCE and was very helpful.  I believe he even said that I should not have htis problem with Mountain Lion which is why they gave me the flash with it onboard.  I was in the process of starting a new job when I went to Lion, so I have waited to do this next and probably last upgrade to this old MBP since I doubt Apple will support this MBP in Maverick. 
    I do not have another installation, so that is not an option.  I will try to create an external, I have plenty of hard drives around and see if I can get it done that way.  It might take me a week or two to get back to it, but I will comment back upon completion of that effort.  Thanks for your help....Dave Iverson

  • 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.

  • Problem with installing and running some applications or drivers

    When installing and installing some items, towards the end of the installation I get this message:
    /System/Library/Extensions/comcy_driver_USBDevice.kext
    *was installed improperly and cannot be used. Please try reinstalling it or contact product's vendor for update*
    The end result is that some things do not seem to work properly, such as my HP printer. Would anybody have any ideas on how to fix this problem?

    Thank you for your response. Originally, I had a problem with Airport and ended up reinstalling Snow Leopard. Since then, when downloading upgrades etc, such as HP printer drivers, iTunes etc., towards the end of the download when its running the script, I get this message: /System/Library/Extensions/comcy_driver_USBDevice.kext
    +was installed improperly and cannot be used. Please try reinstalling it or contact product's vendor for update+
    Sometimes, the download hangs and is unable to complete. The main problem I've encountered so far with an application is when I use the printer to scan an image via Preview, it's blank: there's nothing there.

  • Problems with outlook and address book contacts: my outlook contacts had around 3,000 entries. Outlook duplicated by itself and now outlook and address book have each over 340,000. What should I do?

    Problems with outlook and address book contacts: my outlook contacts had around 3,000 entries. Outlook duplicated entries and have now 340,000. I reinstalled microsoft office and, thus, outlook, and reinstalled mac OS X system and applications. While I managed to delete outlook contacts so that I can re-sync with my blackberry, the contacts at Mac Address Book were not deleted and still have over 340,000 entries. I do not mind deleting all contacts since I have back up, but I have not been able to delete them. Also, when I go at Address Book and try to delete or merge duplicated entries, the system takes forever and never ends because of such large amount of entries. Worse, when I do so I run out of RAM memory.
    My Macbook pro is just 2 months old.
    What should I do? Is there a way to delete my Mac Address Book without having the problem above?
    Many thanks
    Regis

    zlatan24 wrote:
    For solving out troubles connected with corrupted or lost address book you may use address book recovery. It owns various features such as restoring wab files, it working under any Windows OS. The utility has modern and easy to use interface due to almost every experienced users.
    If it is a windows problem it's not going to run on the OP's MacBook Pro

  • Problems with Safari and Firefox (HTTP?)

    Problems with Safari and Firefox (HTTP?)
    On a laptop G4, 10.5.8 and Safari 5.02 I experience the following:
    On the account of my oldest daughter everything works fine, i.e. wireless internet works and no problems with mail or safari.
    On the same laptop, on the account of my other daughter, the wireless is OK, she can mail etc. But safari nor firefox works. It says: can’t find server (whatever site) and in the activity window it looks if safari tries to open files (in the safari preferences-folder) in stead of http. Same applies to Firefox, so maybe it has more to do with HTTP in general?
    What goes wrong? What to do? I tried the following on the host terminal (tips from Apple)
    defaults write com.apple.safari WebKitDNSPrefetchingEnabled -boolean false
    and
    defaults delete com.apple.safari WebKitDNSPrefetchingEnabled
    but that did not help,
    Nanne

    I'm still wondering why it happens now at this moment in time...
    PC does seem to be a bit odd & inconsistent, the few times I've tested with it, at least so far as we content filtering goes; and if I remember rightly, you're not the first to report previously ok settings suddenly preventing some or all internet until pc is switched off altogether.
    It may work when re-enabled

  • Haven't been able to use pages for a while.  Keep getting following message.  Have tried reinstalling iWork, but no luck.  Same problems with Keynote and Numbers/Users/scottmcdonald/Desktop/Screen Shot 2012-03-14 at 9.39.52 PM.png

    Haven't been able to use pages for a while.  Keep getting following message.  Have tried reinstalling iWork, but no luck.  Same problems with Keynote and Numbers/

    Have you moved Pages from its installed location? Or just dragged a copy to your current system?
    It can't find some of its resources apparently.
    Peter

  • Problem with DMGs and error: "No Mountable File Systems"

    Problem with DMGs and error: "No Mountable File Systems"
    The files are not corrupt. The problem is occurring with all DMGs that are apparently formatted in MS-DOS FAT16. No the file will not mount with Disk utility or any other disk mounter programs I have found.
    This is now the second time this occurred and now effects my MBP and my iMac. First time i spent days with Apple support and the only solution was ultimately back up the data, reformat the HD, start over from scratch and reload everything. That lasted about a month before the problem resurfaced and is now an issue on both iMac and MBP.
    I tried to identify all the programs I installed immediately before the error, as I am convinced it is the result of a software conflict.
    Recent programs includes:
    1) upgrading from Parallels 5.5 to 6.0 on both machines.
    2) using an HP secure II usb drive and setting up a secure disk.
    3) installing new itunes 10
    4) new update to Flip For Mac.
    The files affected are downloaded dmgs, including personal brain and google earth, both which are formatted in FAT16.
    Any help or thoughts? Apple has now spent hours trying and they say i now have to reformat and wipe and start over. That is unacceptable and based on pasted experience the problem is likely to repeat itself. having to wipe and rebuild a HD ever month is not an solution. i need to fid the root problem.
    In the meantime, anyone got a real solution on how to extract the data for a DMG using a different method?
    Message was edited by: remaia

    Where you able to find the solution, i am having the same problem, all was fine till i install some programs only same one i saw did we both did was flip4mac i uninstalled it but the problem is still there, i also restored and erased the hardrive but im not up to doing that all over again. If you found anything out let me know i would greatly appreciate it

  • Problem with Send and Receive Emal In SAP System

    Hi gurus!
    I have a following quote:
    Dear !
    I have a problem with send and receive email in SAP system following :
    I want to test send and receive email in local network at my company. I
    had two server
    Server 1 : I setup Exchange Mail Server 2007 with domain controller is
    fes.com
    Server 2 : I setup SAP ERP ECC 6.0
    On Server 1 : I created 2 account ( u1Afes.com and u2Afes.com ) and then I tested send and receive email between u1 and u2 in local network through Microsoft Outlook 2007 -> OK
    and then
    On Server 2: I had configured send and receive email on SAP system
    through tcode SBWP, SCOT and SOST as Note 455140 - "Configuration of
    e-mail, fax, paging or SMS using SMTP"
    for example :
    I logged in SAP system with user Basis01 (with email u1Afes.com ) -> then,using tcode SBWP -> new message -> send to u2Afes.com with Internet Mail type and then status message with green light -> sending ok
    and then I have used Microsoft Outlook 2007, I logged with account u2 ->check email -> Ok. I saw message which send from u1
    Finally, My problem is how can receive mail in SAP system without using Microsoft Outlook
    For example:
    Login system SAP with Basis01 account (with  u1Afes.com ) -> tcode SBWP ->New Message -> send to u2Afes.com
    and then
    Login system SAP with Basis02 account (with u2Afes.com ) -> tcode ??? ->
    To receive email from Basis01 (with u1Afes.com )
    Please help me now
    Thanks
    I replace "@" with "A" because of banning email of this forum.
    This quote is about sending email in local network. And we can't receive any email from the outside email address. Addition if I wanna send email to internal email in Internet (we've just tried with email address in local network) What should I config in SAP and Exchange ?
    By the way, Is SAP Server IP added to Relay Agent for sending or receiving mail ?
    Regards
    An NLP
    Edited by: An NLP on Apr 6, 2010 7:03 PM

    Hi,
    This problem is a classic problem of mail routing via Exchange. Exchange like most mail servers use the domain part of the email address as a means to route mails. So I will make an assumption that your main company mail addrss is "User @ fes.com".
    So when you send a mail to the "User @ fes.com mail" address the mail is delivered to your Outlook mail address as this is the default route for company.
    (Q) So how do you get your Exchange server to relay the mail into the sending SAP system?
    (A) The easiest way would be to setup and unique mail domain for your SAP system. I always recommend "user @ client.sid.company.com" which in your case would be "u1 @ 100.PRD.fes.com". You can then instruct Exchange to send any emails addressed to 100.PRD.fes.com domain to your SAP system. Also using this format of address you can configure multiple mail connections into multiple SAP systems.
    (A) Another answer would be to enter the "Full" email address (LOcal and Domain part of address) into the routing rule for Exchange e.g. "U1 @ fes.com" so that all emails addressed to this user will be delivered into SAP. However this method requires a lot of Admin as you will have to update Exchange with ALL email address that need to receive emails. Also if your corporate mail address is "U1 @ fes.com" then all mails will be forwarded to SAP.
    I would definitely NOT recommend this method but the decision is up to you.
    P.S. The IP address of the SAP system is entered into the mail header of the email. This is standard practice in SMTP relay. You can suppress this header in Exchange
    Hope this helps
    Michael

  • Problem with Speaker and Headset in Windows Vista

    Hi, I just got my Macbook Pro 13" and having problem with speaker and headset when working with Windows Vista (I have installed the driver from bootcamp). The sound very weak if I play music from Itunes or youtube even the volume already full and if i put my headset the sound not coming out. Is there anyone can help me to solve this problem?
    Regards,Edwin

    When you post about Windows / Boot Camp, in Mac Pro (workstation) forum where others with a MacBOOK would be more likely to have same hardware configuration, and you won't find Windows drivers on Apple downloads. More like at
    http://www.guru3d.com or other sites, or go to RealTek (if that is the type of audio you have).

Maybe you are looking for

  • @SUN: Sun VirtualBox 3.1 + VM "Teleportation" ... for VDI 3.1 too?

    I just checked my Facebook account and there I got the announcement from Sun that VirtualBox 3.1 was released today and that it has an exciting new feature: VM "Teleportation". So running VM's can be live migrated without interruption between Virtual

  • Multicast works for a day and then stops

    I'm running multicast in unicast mode on our WLC because I can't enable PIM on wired side yet for a couple reasons.  It works consistently on 3 out of 6 WLAN's.  And the weird thing is the other 3 WLAN's will work for a day, and when I come in the ne

  • Pro Res HQ to M2V

    I am trying to compress a 20 minute clip and was wondering if anyone had any data for how long something like this should take. Originally I made a custom setup including deinterlacing and 2 pass encoding. It was going to take like 24 hours! Am I mis

  • Unable to initialize new provider instance

    Hi all, This problem has now been posted a few times since May 27 but remains unresolved. It presents itself after the final step while following the procedure for "registering the provider" as described in "installing.jpdk.html". The error message r

  • How to Change Highlight Color

    One image selected is light grey. Selected images are medium grey. Unselected Images are dark grey. Is there a way to change them to Yellow or something to make it obvious?