Problem with BTE and FI-parking- no data from memory ID to ABAP

Hi Experts,
I have a scenario in Business Workflow where I want to catch the data(BKPF & BSEG) after SAP transaction processing - event is to change parked FI-document with FBV2. I´m trying to use BTE to receive the data after processing transaction.
All BTE steps seems to be activated - because I can debug my functions when processing FBV2 - but I cannot reach any data into my coding after processing.
I have created my project in BF24:
ZXXX Testing: WF-memory ID
I have also linked few FI-events to my BTE interface funtion in BF34:
00001130 ZXXX ZXXX_FIPP_CHANGE_BTE
00002213 ZXXX ZXXX_FIPP_CHANGE_BTE
00002217 ZXXX ZXXX_FIPP_CHANGE_BTE
My BTE function ZXXX_FIPP_CHANGE_BTE is as following:
DATA: memid(15) VALUE 'ZXXX_2217'.
*Initialize
CLEAR: t_vbkpf,
t_vbsegs.
FREE MEMORY ID 'ZXXX_2217'.
*Backtracking of BTE
EXPORT t_vbkpf
t_vbsegs
TO MEMORY ID memid.
ENDFUNCTION.
I have also created funtion to call FBV2:
data: memid(15) value 'ZXXX_2217'.
CALL TRANSACTION 'FBV2'.
*Import memory of BTE
IMPORT t_vbkpf
t_vbsegs
FROM MEMORY ID memid.
*Free memory id
FREE MEMORY ID memid.  
When I set a breakpoint to both of the functions and I execute FBV2 I reach the breakpoints. Problem is that the data is not passed from memid 'ZXXX_2217' into function after FBV2(this syntax: IMPORT t_vbkpf t_vbsegs FROM MEMORY ID memid.)
What could be missing. So both functions are called but NO DATA is passed from memory ID to my internal tables? This seems to be a problem with memory ID´s. Also in my BTE function ZXXX_FIPP_CHANGE_BTE I receive a sy-subrc value 4 when executing syntax "FREE MEMORY ID 'ZXXX_2217'. ".
All hints appreciated,
Jani

Hi Ramki,
I must be frustrating You with these stupid questions... You have already supported me hugely to get more famailiar with BTE. For example not to commit in BTE etc. Big thanks for that!
In all cases when I have tested my project in BF24 has been always active; and yes I have changed the pre. posted document always to trigger the BTE.
I still have a problem. I copied all customizing and coding into other system - with same dissapointing results. Let me describe this once more:
<b>My entry in BF24:</b>
<i>Product:                 ZBE
Text:                       Jani testing
RFC destination:
Active:   </i>               X
<b>My entry in BF34:</b>
<i>Event:                   00002214
Product:                    ZBE
Ctr:
Appl:
Function module:            ZBE_BTE</i>
<b>My BTE function:</b>
<i>  DATA: memid(15) VALUE 'ZBE_BTE2214'.
  DATA: t_vbkpf LIKE fvbkpf OCCURS 0 WITH HEADER LINE.
  FREE MEMORY ID memid.
  EXPORT t_vbkpf TO MEMORY ID memid.</i>
<b>And the function ZBE_BTE_EXECUTE where I call FBV2:</b>
<i>  DATA: memid(15) VALUE 'ZBE_BTE2214'.
  DATA: t_vbkpf LIKE fvbkpf OCCURS 0 WITH HEADER LINE.
  CALL TRANSACTION 'FBV2'.
  IMPORT t_vbkpf FROM MEMORY ID memid.
  FREE MEMORY ID memid.</i>
When I process my function ZBE_BTE_EXECUTE - and I have added a breakpoint into ZBE_BTE - for FBV2 call <b>it does not reach the breakpoint</b> in ZBE_BTE at all! This occurs when using event linkage 00002214! And I do execute a real change to parked document.
But if I change the entry in BF34 to be linked for event 00002217 or 00002218 process reaches my breakpoint in BTE function ZBE_BTE! But in these cases also, it does not import the data after transaction call in function ZBE_BTE_EXECUTE. When I continue debugging the coding in BTE function ZBE_BTE further into SAP-coding, I can see that my internal table t_vbkpf is filled. But when I leave SAP-coding when FBV2 is completed and return to ZBE_BTE_EXECUTE - where t_vbkpf should be filled from memory id - t_vbkpf is empty!
Again as a conclusion in this system:
For BTE event 00002214 this locig does not work at all. For events 00002217 and 00002218 it does get activated, but does not bring any data from memory ID into my abap. Strangest this is that I use absolutely same kind of coding that You.
Can You see if I have to fill those empty fields( Ctr. & Appl.) in my BF34 customizing? Or is some other customizing action missing?
Br,
Jani

Similar Messages

  • Performance problems with XMLTABLE and XMLQUERY involving relational data

    Hello-
    Is anyone out there using XMLTABLE or XMLQUERY with more than a toy set of data? I am running into serious performance problems tyring to do basic things such as:
    * Combine records in 10 relational tables into a single table of XMLTYPE records using XMLTABLE. This hangs indefinitely for any more than 800 records. Oracle has confirmed that this is a problem and is working on a fix.
    * Combine a single XMLTYPE record with several relational code tables into a single XMLTYPE record using XMLQUERY and ora:view() to insert code descriptions after each code. Performance is 10 seconds for 10 records (terrible) passing a batch of records , or 160 seconds for one record (unacceptable!). How can it take 10 times longer to process 1/10th the number of records? Ironically, the query plan says it will do a full table scan of records for the batch, but an index access for the one record passed to the XMLQUERY.
    I am rapidly losing faith in XML DB, and desparately need some hints on how to work around these performance problems, or at least some assurance that others have been able to get this thing to perform.

    <Note>Long post, sorry.</Note>
    First, thanks for the responses above. I'm impressed with the quality of thought put into them. (Do the forum rules allow me to offer rewards? :) One suggestion in particular made a big performance improvement, and I’m encouraged to hear of good performance in pure XML situations. Unfortunately, I think there is a real performance challenge in two use cases that are pertinent to the XML+relational subject of this post and probably increasingly common as XML DB usage increases:
    •     Converting legacy tabular data into XML records; and
    •     Performing code table lookups for coded values in XML records.
    There are three things I want to accomplish with this post:
    •     Clarify what we are trying to accomplish, which might expose completely different approaches than I have tried
    •     Let you know what I tried so far and the rationale for my approach to help expose flaws in my thinking and share what I have learned
    •     Highlight remaining performance issues in hopes that we can solve them
    What we are trying to accomplish:
    •     Receive a monthly feed of 10,000 XML records (batched together in text files), each containing information about an employee, including elements that repeat for every year of service. We may need to process an annual feed of 1,000,000 XML records in the future.
    •     Receive a one-time feed of 500,000 employee records stored in about 10 relational tables, with a maximum join depth of 2 or 3. This is inherently a relational-to-XML process. One record/second is minimally acceptable, but 10 records/sec would be better.
    •     Consolidate a few records (from different providers) for each employee into a single record. Given the data volume, we need to achieve a minimum rate of 10 records per second. This may be an XML-only process, or XML+relational if code lookups are done during consolidation.
    •     Allow the records to be viewed and edited, with codes resolved into user-friendly descriptions. Since a user is sitting there, code lookups done when a record is viewed (vs. during consolidation) should not take more than 3 seconds total. We have about 20 code tables averaging a few hundred rows each, though one has 450,000 rows.
    As requested earlier, I have included code at the end of this post for example tables and queries that accurately (but simply) replicate our real system.
    Why we did and why:
    •     Stored the source XML records as CLOBS: We did this to preserve the records exactly as they were certified and sent from providers. In addition, we always access the entire XML record as a whole (e.g., when viewing a record or consolidating employee records), so this storage model seemed like a good fit. We can copy them into another format if necessary.
    •     Stored the consolidated XML employee records as “binary XML”. We did this because we almost always access a single, entire record as a whole (for view/edit), but might want to create some summary statistics at some point. Binary XML seemed the best fit.
    •     Used ora:view() for both tabular source records and lookup tables. We are not aware of any alternatives at this time. If it made sense, most code tables could be pre-converted into XML documents, but this seemed risky from a performance standpoint because the lookups use both code and date range constraints (the meaning of codes changes over time).
    •     Stored records as XMLTYPE columns in a table with other key columns on the table, plus an XMLTYPE metadata column. We thought this would facilitate pulling a single record (or a few records for a given employee) quickly. We knew this might be unnecessary given XML indexes and virtual columns, but were not experienced with those and wanted the comfort of traditional keys. We did not used XMLTYPE tables or the XML Repository for documents.
    •     Used XMLTABLE to consolidate XML records by looping over each distinct employee ID in the source batch. We also tried XMLQUERY and it seems to perform about the same. We can achieve 10 to 20 records/second if we do not do any code lookups during consolidation, just meeting our performance requirement, but still much slower than expected.
    •     Used PL/SQL with XMLFOREST to convert tabular source records to XML by looping over distinct employee IDs. We tried this outside PL/SQL both with XMLFOREST and XMLTABLE+ora:view(), but it hangs in both cases for more than 800 records (a known/open issue). We were able to get it to work by using an explicit cursor to loop over distinct employee IDs (rather than processing all records at once within the query). The performance is one record/second, which is minimally acceptable and interferes with other database activity.
    •     Used XMLQUERY plus ora:view() plus XPATH constraints to perform code lookups. When passing a single employee record, the response time ranges from 1 sec to 160 sec depending on the length of the record (i.e., number of years of service). We achieved a 5-fold speedup using an XMLINDEX (thank you Marco!!). The result may be minimally acceptable, but I’m baffled why the index would be needed when processing a single XML record. Other things we tried: joining code tables in the FOR...WHERE clauses, joining code tables using LET with XPATH constraints and LET with WHERE clause constraints, and looking up codes individually via JDBC from the application code at presentation time. All those approaches were slower. Note: the difference I mentioned above in equality/inequality constraint performance was due to data record variations not query plan variations.
    What issues remain?
    We have a minimally acceptable solution from a performance standpoint with one very awkward PL/SQL workaround. The performance of a mixed XML+relational data query is still marginal IMHO, until we properly utilize available optimizations, fix known problems, and perhaps get some new query optimizations. On the last point, I think the query plan for tabular lookups of codes in XML records is falling short right now. I’m reminded of data warehousing in the days before hash joins and star join optimization. I would be happy to be wrong, and just as happy for viable workarounds if I am right!
    Here are the details on our code lookup challenge. Additional suggestions would be greatly appreciated. I’ll try to post more detail on the legacy table conversion challenge later.
    -- The main record table:
    create table RECORDS (
    SSN varchar2(20),
    XMLREC sys.xmltype
    xmltype column XMLREC store as binary xml;
    create index records_ssn on records(ssn);
    -- A dozen code tables represented by one like this:
    create table CODES (
    CODE varchar2(4),
    DESCRIPTION varchar2(500)
    create index codes_code on codes(code);
    -- Some XML records with coded values (the real records are much more complex of course):
    -- I think this took about a minute or two
    DECLARE
    ssn varchar2(20);
    xmlrec xmltype;
    i integer;
    BEGIN
    xmlrec := xmltype('<?xml version="1.0"?>
    <Root>
    <Id>123456789</Id>
    <Element>
    <Subelement1><Code>11</Code></Subelement1>
    <Subelement2><Code>21</Code></Subelement2>
    <Subelement3><Code>31</Code></Subelement3>
    </Element>
    <Element>
    <Subelement1><Code>11</Code></Subelement1>
    <Subelement2><Code>21</Code></Subelement2>
    <Subelement3><Code>31</Code></Subelement3>
    </Element>
    <Element>
    <Subelement1><Code>11</Code></Subelement1>
    <Subelement2><Code>21</Code></Subelement2>
    <Subelement3><Code>31</Code></Subelement3>
    </Element>
    </Root>
    for i IN 1..100000 loop
    insert into records(ssn, xmlrec) values (i, xmlrec);
    end loop;
    commit;
    END;
    -- Some code data like this (ignoring date ranges on codes):
    DECLARE
    description varchar2(100);
    i integer;
    BEGIN
    description := 'This is the code description ';
    for i IN 1..3000 loop
    insert into codes(code, description) values (to_char(i), description);
    end loop;
    commit;
    end;
    -- Retrieve one record while performing code lookups. Takes about 5-6 seconds...pretty slow.
    -- Each additional lookup (times 3 repeating elements in the data) adds about 1 second.
    -- A typical real record has 5 Elements and 20 Subelements, meaning more than 20 seconds to display the record
    -- Note we are accessing a single XML record based on SSN
    -- Note also we are reusing the one test code table multiple times for convenience of this test
    select xmlquery('
    for $r in Root
    return
    <Root>
    <Id>123456789</Id>
    {for $e in $r/Element
        return
        <Element>
          <Subelement1>
            {$e/Subelement1/Code}
    <Description>
    {ora:view("disaac","codes")/ROW[CODE=$e/Subelement1/Code]/DESCRIPTION/text() }
    </Description>
    </Subelement1>
    <Subelement2>
    {$e/Subelement2/Code}
    <Description>
    {ora:view("disaac","codes")/ROW[CODE=$e/Subelement2/Code]/DESCRIPTION/text()}
    </Description>
    </Subelement2>
    <Subelement3>
    {$e/Subelement3/Code}
    <Description>
    {ora:view("disaac","codes")/ROW[CODE=$e/Subelement3/Code]/DESCRIPTION/text() }
    </Description>
    </Subelement3>
    </Element>
    </Root>
    ' passing xmlrec returning content)
    from records
    where ssn = '10000';
    The plan shows the nested loop access that slows things down.
    By contrast, a functionally-similar SQL query on relational data will use a hash join and perform 10x to 100x faster, even for a single record. There seems to be no way for the optimizer to see the regularity in the XML structure and perform a corresponding optimization in joining the code tables. Not sure if registering a schema would help. Using structured storage probably would. But should that be necessary given we’re working with a single record?
    Operation Object
    |SELECT STATEMENT ()
    | SORT (AGGREGATE)
    | NESTED LOOPS (SEMI)
    | TABLE ACCESS (FULL) CODES
    | XPATH EVALUATION ()
    | SORT (AGGREGATE)
    | NESTED LOOPS (SEMI)
    | TABLE ACCESS (FULL) CODES
    | XPATH EVALUATION ()
    | SORT (AGGREGATE)
    | NESTED LOOPS (SEMI)
    | TABLE ACCESS (FULL) CODES
    | XPATH EVALUATION ()
    | SORT (AGGREGATE)
    | XPATH EVALUATION ()
    | SORT (AGGREGATE)
    | XPATH EVALUATION ()
    | TABLE ACCESS (BY INDEX ROWID) RECORDS
    | INDEX (RANGE SCAN) RECORDS_SSN
    With an xmlindex, the same query above runs in about 1 second, so is about 5x faster (0.2 sec/lookup), which is almost good enough. Is this the answer? Or is there a better way? I’m not sure why the optimizer wants to scan the code tables and index into the (one) XML record, rather than the other way around, but maybe that makes sense if the optimizer wants to use the same general plan as when the WHERE clause constraint is relaxed to multiple records.
    -- Add an xmlindex. Takes about 2.5 minutes
    create index records_record_xml ON records(xmlrec)
    indextype IS xdb.xmlindex;
    Operation Object
    |SELECT STATEMENT ()
    | SORT (GROUP BY)
    | FILTER ()
    | NESTED LOOPS ()
    | FAST DUAL ()
    | TABLE ACCESS (BY INDEX ROWID) SYS113473_RECORDS_R_PATH_TABLE
    | INDEX (RANGE SCAN) SYS113473_RECORDS_R_PATHID_IX
    | SORT (AGGREGATE)
    | FILTER ()
    | TABLE ACCESS (FULL) CODES
    | FILTER ()
    | NESTED LOOPS ()
    | FAST DUAL ()
    | TABLE ACCESS (BY INDEX ROWID) SYS113473_RECORDS_R_PATH_TABLE
    | INDEX (RANGE SCAN) SYS113473_RECORDS_R_PATHID_IX
    | SORT (GROUP BY)
    | FILTER ()
    | NESTED LOOPS ()
    | FAST DUAL ()
    | TABLE ACCESS (BY INDEX ROWID) SYS113473_RECORDS_R_PATH_TABLE
    | INDEX (RANGE SCAN) SYS113473_RECORDS_R_PATHID_IX
    | SORT (AGGREGATE)
    | FILTER ()
    | TABLE ACCESS (FULL) CODES
    | FILTER ()
    | NESTED LOOPS ()
    | FAST DUAL ()
    | TABLE ACCESS (BY INDEX ROWID) SYS113473_RECORDS_R_PATH_TABLE
    | INDEX (RANGE SCAN) SYS113473_RECORDS_R_PATHID_IX
    | SORT (GROUP BY)
    | FILTER ()
    | NESTED LOOPS ()
    | FAST DUAL ()
    | TABLE ACCESS (BY INDEX ROWID) SYS113473_RECORDS_R_PATH_TABLE
    | INDEX (RANGE SCAN) SYS113473_RECORDS_R_PATHID_IX
    | SORT (AGGREGATE)
    | FILTER ()
    | TABLE ACCESS (FULL) CODES
    | FILTER ()
    | NESTED LOOPS ()
    | FAST DUAL ()
    | TABLE ACCESS (BY INDEX ROWID) SYS113473_RECORDS_R_PATH_TABLE
    | INDEX (RANGE SCAN) SYS113473_RECORDS_R_PATHID_IX
    | SORT (AGGREGATE)
    | FILTER ()
    | NESTED LOOPS ()
    | FAST DUAL ()
    | TABLE ACCESS (BY INDEX ROWID) SYS113473_RECORDS_R_PATH_TABLE
    | INDEX (RANGE SCAN) SYS113473_RECORDS_R_PATHID_IX
    | SORT (AGGREGATE)
    | TABLE ACCESS (BY INDEX ROWID) SYS113473_RECORDS_R_PATH_TABLE
    | INDEX (RANGE SCAN) SYS113473_RECORDS_R_PATHID_IX
    | TABLE ACCESS (BY INDEX ROWID) RECORDS
    | INDEX (RANGE SCAN) RECORDS_SSN
    Am I on the right path, or am I totally using the wrong approach? I thought about using XSLT but was unsure how to reference the code tables.
    I’ve done the best I can constraining the main record to a single row passed to the XMLQUERY. Given Mark’s post (thanks!) should I be joining and constraining the code tables in the SQL WHERE clause too? That’s going to make the query much more complicated, but right now we’re more concerned about performance than complexity.

  • Why FireFox 3.6 has problem with expand and colapsed in sharepoint data view?

    I used an script in this page http://www.sgnec.net/pages/customers/customers.aspx. It worked well. but now I found it doesn't work with Firefox 3.6 . when I clicked plus image it doesn't collapsed.
    thanks
    Leila

    Try the Firefox Portable support forum. <br />
    http://portableapps.com/forums/support/firefox_portable

  • Problem with DNS and/or Virtual Host (works from inside, not from outside)

    I am running several web sites (as virtual hosts) successfully on one Xserve (192.168.200), which are accessible internally and from the Internet (via forwarding port 80 on our firewall).
    Now I am trying to add another web site (newmini.domain.com), which however is running on a Mac mini (also on the same subnet as the Xserve) at 192.168.100. What I did is make an additional entry under the Xserve's DNS for the domain (domain.com) (+ Machine..., pointing to 192.168.0.100). (I also made the necessary changes to the Mac mini's httpd and hosts configuration--no problem there).
    Now, here's the strange thing: All computers on the subnet, whose DNS points to the Xserve, can see and browse newmini.domain.com fine. No problem. The computers ask the Xserve for the IP of the host in question, the Xserve says, "192.168.100", the request goes to the Mac mini, and it serves the web site as expected.
    But this doesn't happen if the request comes from the Internet. Instead of seeing the Mac mini, the client sees the default web site of the Xserve... So it appears that somewhere, the virtual host part of the HTTP request is lost between our firewall and the Xserve.
    Any ideas? Thanks.

    It's not going to.
    You say you've setup port forwarding on the firewall. Port forwarding only cares about the port number (80). It knows nothing about the nature of the request (e.g. the hostname that the web request is for). Therefore all extenal connections on port 80 get sent to the XServe. The newmini doesn't see the traffic at all.
    If you only have a single public IP address you can only forward port 80 traffic to a single machine. Your options are to either use a different port number, or configure the XServe to proxy the connection to the mini (so now the traffic goes router -> XServe -> Mini -> XServe -> router), although that might not do what you want since it still places load and dependencies on the XServe.

  • Problem with KTV3 and PCI USB card extension from QTEC type 13068

    Hello all,
    I have been trying to make work a PCI USB card extension from QTEC type 13068. This card allows to give 4 USB  ports more.
    My problem is that oinly 2 ports are working and WINXP SP1 is saying that there are not enough ressources for all the PCI functions. However there is enough free IRQ. Even using this card alone on the mainboard give the same error.
    I am using a KTV3 (MS-6712 VER:1.0A) and I have no idear why this is happening. Could it be a bad interaction between the BIOS and the card?  wall Or WIN XP? angryfire
    All comments and ideas to try are welcome especially from those who have this QTEC card.
    Regards.

    What operating system are you using?  The card requires SP1 for XP and SP4 for 2000.  If you have these, try to uninstal the cardl and let Windows reinstall the card on start-up.

  • I have a big problem with Lion and PGP. After upgrading from snow leopard to lion I cannot access my PGP drive which was generated under snow leopard. PGP does not start but gives a notion that lion cannot work with my PGP version. Solution?

    After upgrading from Snow Leopard to Lion I cannot access a PGP drive which was generated under snow leopard. PGP does not start. When I try to start I just receive a message that Lion cannot work with PGP. How can I now access important and confifential informatio which I have stored in PGP (snow leopard). Do I have to move back to snow leopard. If so, how can I do this? 

    If you have this product,
    http://www.symantec.com/business/support/index?page=content&id=TECH165159
    you have to go back to Snow Leopard.
    To re-install SL, back up your home directory, format and re-install.

  • A problem with 1CL_OLIS002 and 1CL_OMAT001 extractors - delta extraction

    Hi
    I have a problem with 1CL_OLIS002 and 1CL_OMAT001 extractors - delta extraction.
    Interrelated extractors: 2LIS_11_VAITM and ZMATBATCH_Attr work well.
    For 1CL's extractors I see current data in RSA3 but I don't see LUWs in RSA7.
    Extractors send 0 records to BW.
    There is no entry in "BIREQU* " job logs like this:
    "Call customer enhancement BW_BTE_CALL_BW204010_E (BTE) with xxx records".
    which I find in job logs when all worked well.
    We had some problems with R3. I had to restart job "LIS-BW-VB-APPLICATION_13*".
    May be it has influence on these extractors?
    Any suggestions about how to resolve the problem?
    Regards
    PWnuk

    Hi
    Can you please share the solution of this problem with me,I am also facing same issue of Delta not working but full load is working in 1CL_OBI_001?
    Edited by: Aseem84 on Jan 12, 2011 10:23 AM

  • 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 trigger and entity in JHeadsart, JBO-25019

    Hi to all,
    I am using JDeveloper 10.1.2 and developing an application using ADF Business Components and JheadStart 10.1.2.27
    I have a problem with trigger and entity in JHeadsart
    I have 3 entity and 3 views
    DsitTelephoneView based on DsitTelephone entity based on DSIT_TELEPHONE database table.
    TelUoView based on TelUo entity based on TEL_UO database table.
    NewAnnuaireView based on NewAnnuaire entity based on NEW_ANNUAIRE database view.
    I am using JHS to create :
    A JHS table-form based on DsitTelephoneView
    A JHS table based on TelUoView
    A JHS table based on NewAnnuaireView
    LIB_POSTE is a :
    DSIT_TELEPHONE column
    TEL_UO column
    NEW_ANNUAIRE column
    NEW_ANNUAIRE database view is built from DSIT_TELEPHONE database table.
    Lib_poste is an updatable attribut in TelUo entity, DsitTelephone entity, NewAnnuaire entity.
    Lib_poste is upadated in JHS table based on TelUoView
    I added a trigger on my database shema « IAN » to upadate LIB_POSTE in DSIT_TELEPHONE database table :
    CREATE OR REPLACES TRIGGER “IAN”.TEL_UO_UPDATE_LIB_POSTE
    AFTER INSERT OR UPDATE OFF lib_poste ONE IAN.TEL_UO
    FOR EACH ROW
    BEGIN
    UPDATE DSIT_TELEPHONE T
    SET t.lib_poste = :new.lib_poste
    WHERE t.id_tel = :new.id_tel;
    END;
    When I change the lib_poste with the application :
    - the lib_poste in DSIT_TELEPHONE database table is correctly updated by trigger.
    - but in JHS table-form based on DsitTelephoneView the lib_poste is not updated. If I do a quicksearch it is updated.
    - in JHS table based on NewAnnuaireView the lib_poste is not updated. if I do a quicksearch, I have an error:
    oracle.jbo.RowAlreadyDeletedException: JBO-25019: The row of entity of the key oracle.jbo. Key [null 25588] is not found in NewAnnuaire.
    25588 is the primary key off row in NEW_ANNUAIRE whose lib_poste was updated by the trigger.
    It is as if it had lost the bond with the row in the entity.
    Could you help me please ?
    Regards
    Laurent

    The following example should help.
    SQL> create sequence workorders_seq
      2  start with 1
      3  increment by 1
      4  nocycle
      5  nocache;
    Sequence created.
    SQL> create table workorders(workorder_id number,
      2  description varchar2(30),
      3   created_date date default sysdate);
    Table created.
    SQL> CREATE OR REPLACE TRIGGER TIMESTAMP_CREATED
      2  BEFORE INSERT ON workorders
      3  FOR EACH ROW
      4  BEGIN
      5  SELECT workorders_seq.nextval
      6    INTO :new.workorder_id
      7    FROM dual;
      8  END;
      9  /
    Trigger created.
    SQL> ALTER SESSION SET NLS_DATE_FORMAT = 'DD-MON-YYYY HH24:MI:SS';
    Session altered.
    SQL> insert into workorders(description) values('test1');
    1 row created.
    SQL> insert into workorders(description) values('test2');
    1 row created.
    SQL> select * from workorders;
    WORKORDER_ID DESCRIPTION                    CREATED_DATE
               1 test1                          30-NOV-2004 15:30:34
               2 test2                          30-NOV-2004 15:30:42
    2 rows selected.

  • Problem with Rescue and Recovery after installing Norton Internet Security 2010

    Hi all.
    It's my first time in this forum.
    I have a problem, with Rescue and Recovery, after installing Norton Internet Security 2010 on my T43.
    The message I get it:
    "Rescue and Recovery is unable to back up the file 'C:\Documents and settings\all Users\Application Data\ Norton\ 00000082\00000109\000003c1\cltMLS1.bat' Because the file is either corrupted or being used by another application. Please close any application that could be using the file.
    I tried to close the Norton but I couldn't find how.
    Tanks
    Doron71

    Hi and welcome to the forum,
    the reason for this situation is, that the antivir files are protected from being modified.
    This is the reason, why this file cannot be backed up. I assume, that you would get much more such messages, as there are surelly multiple files files, that are protected like this.
    So the solution is to block folders from being archived. Please start RnR application and in the configuration set this folder as the excluded one.
    This will skip the backup of this file and will fix your situation.
    Please let me know, if you have covered this.
    Cheers

  • Problem with ECS and XSD

    Hi B2B Gurus,
    We are facing the problem with ECS and XSD files from past 2 weeks, Steps we followed
    1. Created a ECS file in document editor version 11g: 6.6.0
    2. ECS files consists only from ST and SE segments
    Ex: ST
    BCH
    CUR
    REF
    PER -- Exclude
    TAX -- Exclude
    SE
    3: Generated a XSD file from ECS file( File --> export---> Oracle B2B) in document ediotr
    4. We imported a ECS and XSD file in B2B console( documents---docdef-transaction set ECS file) and XSD File
    5. We tested one file from manually we face below error:
    Error Code B2B-51507
    Error Description Machine Info: (usmtnz-dinfap19.dev.emrsn.org) Description: Payload validation error.
    Error Level ERROR_LEVEL_COLLABORATION
    Error Severity ERROR
    Error Text
    and some times it shows Guideline load Error or simply Error
    Please help us to resolve this
    Regards

    Anuj,
    We are sending the EDI XML file from backend, then B2B will convert it into EDI file, How can we analyze EDI XML file with ECS file, B2B is not converting to EDI.
    1. Can we use 10g ECS file and XSD file in 11G
    2. I tried to import it, but it showing below error while doing testing
    App Message property     {MSG_ID=90422086, Sequencing=false, DOCTYPE_REVISION=5020, MSG_TYPE=1, FROM_PARTY=EMERSON, DOCTYPE_NAME=850, TO_PARTY=APLL, ATTACHMENT=}
    Direction     OUTBOUND
    State     MSG_ERROR
    Error Code     B2B-51507
    Error Text     Error Brief : The element does not include any significant data.
    Error Description     Error : The Element PER02 does not include any significant data characters. Segment PER is defined in the guideline at position 3600.{br}{br}This error was detected at:{br}{tab}Segment Count: 11{br}{tab}Element Count: 2{br}{tab}Characters: 5395 through 5397
    Created Date     06/20/2011 02:52 PM
    Modified Date     06/20/2011 02:52 PM
    Note: I used the same files in 10G its working fine.
    Regards
    Edited by: Francis on Jun 20, 2011 10:48 AM

  • Problem with JTextPane and StateInvariantError

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

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

  • Problem with writing and reading using serialization

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

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

  • Problem with youtube and other video websites

    I have a problem with youtube and other video websites:
    Everything is up to date (flash, FF, my plug ins..) but i keep getting freezes when the video loads. I can hear sound but i can only see the first frame of the video.
    I've reinstalled flash/firefox or tried updating them again for about 4 times now and my cookies/cache has also been errased which i usually don't do. If i enter FF's safe mode it also freezes.
    I hope someone could help out, i've searched for answer on google before and tried everything i saw but it didn't helped.
    grts,
    agrash

    Hmm, so that person had a conflicting plug in.
    Problem is that whenever i enter firefoxes safe mode which disables every plug in, i still have the youtube freeze/crash

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

Maybe you are looking for

  • A Rough Guide to creating your own theme

    Here is a brief overview of how to create a new theme by editing the Creator default theme: http://blogs.sun.com/roller/page/gjmurphy?entry=quick_guide_editing_themes_for // Gregory

  • CHM buttons are not localized in a French project (shows English Contents, Index, Search, Print, Hide buttons)

    I opened an old WinHelp project into my new RoboHelp 7. When I generate the CHM, even with the Project Settings in RoboHelp set to French and running in a French Windows operating system (MS Windows XP Pro 2002 SP 2), the CHM output is still in Engli

  • Oracle bpm clustering

    Friends I'm completely new to oracle bpm and would like to know how I can setup a bpm cluster.I'm planning to use bpm 10.3.1 for weblogic and weblogic 10.3.0.The deployment topology is planned as follows: 1.weblogic admin server on 1st machine 2.2 ma

  • Seeing web galleries on iphone

    i can not see any of my web galleries on my iphone. safari will not accept the html address. i tried the suggestion of adding my my mobile.me account. but there's conflicts with my .mac account.

  • PS Album 2.0 kompatibel mir PS Elements 3.0 ?

    Habe gut gepflegtes PS Album. Überlege Kauf von PS elements 3.0. Werden die Daten von Album 2.0 übernommen ?