How can I make a generic version of this function

Hi,
I have a lot of functions that follow the same general format:
public static List<ProductRecord> listProducts(int category, Connection con)
throws SQLException
     // prepare a statement
     PreparedStatement stmt = con.prepareStatement(SQL_LIST /* sql to list product records */);
     try
          // set some parameters
          stmt.setInt(1, category);
          // execute the query
          ResultSet rs = stmt.executeQuery();
          // create a vector for storing the result
          Vector<ProductRecord> list = new Vector<ProductRecord>();
          // append all records to the list
          while (rs.next()) {
               list.add(new ProductRecord(rs));
          // return the list
          return list;
     finally
          stmt.close();
}Is there a way I can streamline this using generic functions?
It would be great if I could write a generic function that could simplify each function to something like:
public static List<ProductRecord> listProducts(int category, Connection con)
throws SQLException
     return someSpecialFunction<ProductRecord>(SQL_LIST, con, category /* would use a argument list here... */);
public static <T extends DatabaseRecord> T someSpecialFunction(String sql, Connection con, Object ... params)
     // prepare a statement
     PreparedStatement stmt = con.prepareStatement(sql);
     try
          // set some parameters
          for (int i = 0; i < params.length; i++) {
               stmt.setObject(i+1, params);
          // execute the query
          ResultSet rs = stmt.executeQuery();
          // create a vector for storing the result
          Vector<T> list = new Vector<T>();
          // append all records to the list
          while (rs.next()) {
               list.add(new T(rs)); /* dont know how I could achieve this */
          // return the list
          return list;
     finally
          stmt.close();
I dont seem to understand generics engough to be able to complete the function.
Any ideas or suggestions on how I could achieve this would be greatly appreciated.
Thanks in advance!
- Robert

You'll need to pass T.class as well, because you can't do "new T(rs)" but you can do "Tclass.asSubclass(Tclass).getConstructor(ResultSet.class).newInstance (rs)" (I've not tested my code)
public static <T extends DatabaseRecord> T someSpecialFunction(String sql, Connection con, Class<? extends T> Tclass, Object ... params) {
      list.add (Tclass.asSubclass (Tclass). getConstructor(ResultSet.class).newInstance (rs));
}

Similar Messages

  • How can I make an AAC version of a song?

    How can I make an AAC version of a song? All I see is "Create an MP3 Version". I do not want to pay for a shorter version of a song that I already have! Why is APPLE doing this to us?!?!?! GREED, that's why!!  #venting 

    Right-click on the tune and select "Create AAC version..." from the pop-up menu. Quicktime can also convert MP3 to AAC.
    Ringtones need to be AAC (MPEG4 audio, aka .M4A) audio of less than 30 seconds in length. Once converted, find the file and change the suffix of the file name from .M4A to .M4R and drag the file into iTunes and it will be recognized as a ringtone.
    There are a couple of applications that do this for Windows, and OS X provides a mechanism to do this with several tools and even provides means for batch conversion and automation of the process.

  • How can i make the optimiser to skip this full table scan ??

    Hi,
    I am trying to tune the below query, I have checked up all the possibilities to skip the full table scan on vhd_calldesh_archive, But am unable to find the predicate in the where clause, which is letting the optimiser to choose the full table scan on vhd_calldesk_archive table, which is very large one. how can i make the optimiser to skip this full table scan.
    Please check the below sql script and explain plan ,
    SELECT a.call_id, a.entry_date,
    NVL (INITCAP (b.full_name), caller_name) AS caller_name,
    c.description AS org_desc, a.env_id, i.env_desc, a.appl_id,
    d.appl_desc, a.module_id, e.module_desc, a.call_type_id,
    f.call_type_desc, a.priority, a.upduserid,
    INITCAP (g.full_name) AS lastupdated_username, a.call_desc, h.mode_desc,
    a.received_time,a.assignment_team, a.status,
    ROUND (lcc.pkg_com.fn_datediff ('MI',
    a.entry_date,
    a.status_date
    ) AS elapsed_time,
    ROUND (lcc.pkg_com.fn_datediff ('MI',
    a.entry_date,
    a.status_date
    ) AS resolved_min,
    CASE
    WHEN a.orgid in (1,100,200) THEN a.orgid
    ELSE j.regionorgid
    END AS region
    ,(SELECT coalesce(MAX(upddate),a.upddate) FROM lcc.vhd_callstatus stat WHERE stat.call_id = a.call_id
    ) as stat_upddate
    ,(SELECT team_desc from lcc.vhd_teams t where t.team_id = a.assignment_team) as team_desc
    ,a.eta_date
    ,coalesce(a.caller_contact, b.telephone) AS caller_contact
    ,coalesce(a.caller_email, b.email) as email
    ,a.affected_users
    ,a.outage_time
    ,a.QA_DONE
    ,a.LAST_ACTION_TEAM
    ,a.LAST_ACTION_USER
    ,INITCAP (k.full_name) AS last_action_username
    ,a.last_action_date
    ,l.team_desc as last_action_teamdesc
    ,a.refid
    ,INITCAP (lu.full_name) AS logged_name
    ,a.pmreview
    ,a.status as main_status
    FROM lcc.vhd_calldesk_archive a
    LEFT OUTER JOIN lcc.lcc_userinfo_details b ON b.user_name = a.caller_id
    INNER JOIN lcc.com_organization c ON c.code = a.orgid
    INNER JOIN lcc.vhd_applications d ON d.appl_id = a.appl_id
    INNER JOIN lcc.vhd_modules e ON e.appl_id = a.appl_id AND e.module_id = a.module_id
    INNER JOIN lcc.vhd_calltypes f ON f.call_type_id = a.call_type_id
    INNER JOIN lcc.com_rptorganization j ON j.orgid = a.orgid AND j.tree = 'HLPDK'
    LEFT OUTER JOIN lcc.lcc_userinfo_details g ON g.user_name = a.upduserid
    LEFT OUTER JOIN lcc.vhd_callmode h ON h.mode_id = a.mode_id
    LEFT OUTER JOIN lcc.vhd_environment i ON i.appl_id = a.appl_id AND i.env_id = a.env_id
    LEFT OUTER JOIN lcc.lcc_userinfo_details k ON k.user_name = a.last_action_user
    LEFT OUTER JOIN lcc.vhd_teams l ON l.team_id = a.last_action_user
    LEFT OUTER JOIN (select CALL_ID,upduserid FROM lcc.VHD_CALLDESK_HISTORY P where upddate
    in ( select min(upddate) from lcc.VHD_CALLDESK_HISTORY Q WHERE Q.CALL_ID = P.CALL_ID
    group by call_id)) ku
    ON ku.call_id = a.call_id
    LEFT OUTER JOIN lcc.lcc_userinfo_details lu ON NVL(ku.upduserid,A.upduserid) = lu.user_name;
    | Id | Operation | Name | Rows | Bytes | Cost |
    | 0 | SELECT STATEMENT | | 2104 | 3667K| 37696 |
    | 1 | UNION-ALL | | | | |
    | 2 | NESTED LOOPS OUTER | | 2103 | 3665K| 37683 |
    | 3 | VIEW | | 2103 | 3616K| 35580 |
    | 4 | NESTED LOOPS OUTER | | 2103 | 823K| 35580 |
    | 5 | NESTED LOOPS OUTER | | 2103 | 774K| 33477 |
    | 6 | NESTED LOOPS OUTER | | 2103 | 685K| 31374 |
    | 7 | NESTED LOOPS | | 2103 | 636K| 29271 |
    | 8 | NESTED LOOPS | | 2103 | 603K| 27168 |
    | 9 | NESTED LOOPS OUTER | | 2103 | 558K| 25065 |
    | 10 | NESTED LOOPS OUTER | | 2103 | 515K| 22962 |
    | 11 | NESTED LOOPS | | 2103 | 472K| 20859 |
    | 12 | NESTED LOOPS | | 2103 | 429K| 18756 |
    | 13 | NESTED LOOPS OUTER | | 4826 | 890K| 13930 |
    | 14 | NESTED LOOPS OUTER | | 4826 | 848K| 9104 |
    | 15 | NESTED LOOPS | | 4826 | 754K| 4278 |
    |* 16 | TABLE ACCESS FULL | COM_RPTORGANIZATION | 75 | 1050 | 3 |
    | 17 | TABLE ACCESS BY INDEX ROWID | VHD_CALLDESK | 64 | 9344 | 57 |
    |* 18 | INDEX RANGE SCAN | VHD_CALLDSK_ORGID | 2476 | | 7 |
    | 19 | VIEW PUSHED PREDICATE | | 1 | 20 | 1 |
    |* 20 | FILTER | | | | |
    | 21 | TABLE ACCESS BY INDEX ROWID | VHD_CALLDESK_HISTORY | 1 | 20 | 2 |
    |* 22 | INDEX RANGE SCAN | VHD_CALLDSK_HIST_CALLID_IDX | 1 | | 1 |
    |* 23 | FILTER | | | | |
    | 24 | SORT GROUP BY NOSORT | | 1 | 12 | 2 |
    | 25 | TABLE ACCESS BY INDEX ROWID | VHD_CALLDESK_HISTORY | 1 | 12 | 2 |
    |* 26 | INDEX RANGE SCAN | VHD_CALLDSK_HIST_CALLID_IDX | 1 | | 1 |
    | 27 | TABLE ACCESS BY INDEX ROWID | VHD_CALLMODE | 1 | 9 | 1 |
    |* 28 | INDEX UNIQUE SCAN | VHD_CALLMOD_MODID_PK | 1 | | |
    | 29 | TABLE ACCESS BY INDEX ROWID | VHD_APPLICATIONS | 1 | 20 | 1 |
    |* 30 | INDEX UNIQUE SCAN | VHD_APPL_APPLID_PK | 1 | | |
    | 31 | TABLE ACCESS BY INDEX ROWID | VHD_CALLTYPES | 1 | 21 | 1 |
    |* 32 | INDEX UNIQUE SCAN | VHD_CALLTYP_ID_PK | 1 | | |
    | 33 | TABLE ACCESS BY INDEX ROWID | VHD_TEAMS | 1 | 21 | 1 |
    |* 34 | INDEX UNIQUE SCAN | VHD_TEAMID_PK | 1 | | |
    | 35 | TABLE ACCESS BY INDEX ROWID | VHD_ENVIRONMENT | 1 | 21 | 1 |
    |* 36 | INDEX UNIQUE SCAN | VHD_ENV_APLENVID_PK | 1 | | |
    | 37 | TABLE ACCESS BY INDEX ROWID | VHD_MODULES | 1 | 22 | 1 |
    |* 38 | INDEX UNIQUE SCAN | VHD_MOD_APLMOD_ID_PK | 1 | | |
    | 39 | TABLE ACCESS BY INDEX ROWID | COM_ORGANIZATION | 1 | 16 | 1 |
    |* 40 | INDEX UNIQUE SCAN | COM_ORG_PK | 1 | | |
    | 41 | TABLE ACCESS BY INDEX ROWID | LCC_USERINFO_DETAILS | 1 | 24 |
    |* 42 | INDEX UNIQUE SCAN | LCCUSERINFOIND | 1 | | |
    | 43 | TABLE ACCESS BY INDEX ROWID | LCC_USERINFO_DETAILS | 1 | 43 |
    |* 44 | INDEX UNIQUE SCAN | LCCUSERINFOIND | 1 | | |
    | 45 | TABLE ACCESS BY INDEX ROWID | LCC_USERINFO_DETAILS | 1 | 24 | 1
    |* 46 | INDEX UNIQUE SCAN | LCCUSERINFOIND | 1 | | |
    | 47 | TABLE ACCESS BY INDEX ROWID | LCC_USERINFO_DETAILS | 1 | 24 | 1
    |* 48 | INDEX UNIQUE SCAN | LCCUSERINFOIND | 1 | | |
    | 49 | NESTED LOOPS OUTER | | 1 | 1785 | 13 |
    | 50 | VIEW | | 1 | 1761 | 12 |
    | 51 | NESTED LOOPS OUTER | | 1 | 1656 | 12 |
    | 52 | NESTED LOOPS OUTER | | 1 | 1632 | 11 |
    | 53 | NESTED LOOPS OUTER | | 1 | 1608 | 10 |
    | 54 | NESTED LOOPS | | 1 | 1565 | 9 |
    | 55 | NESTED LOOPS | | 1 | 1549 | 9 |
    | 56 | NESTED LOOPS | | 1 | 1535 | 9 |
    | 57 | NESTED LOOPS OUTER | | 1 | 1513 | 8 |
    | 58 | NESTED LOOPS OUTER | | 1 | 1492 | 7 |
    | 59 | NESTED LOOPS | | 1 | 1471 | 6 |
    | 60 | NESTED LOOPS | | 1 | 1450 | 5 |
    | 61 | NESTED LOOPS OUTER | | 1 | 1430 | 4 |
    | 62 | NESTED LOOPS OUTER | | 1 | 1421 | 3 |
    | 63 | TABLE ACCESS FULL | VHD_CALLDESK_ARCHIVE | 1 | 1401 | 2 |
    | 64 | VIEW PUSHED PREDICATE | | 1 | 20 | 1 |
    |* 65 | FILTER | | | | |
    | 66 | TABLE ACCESS BY INDEX ROWID | VHD_CALLDESK_HISTORY | 1 | 20 | 2 |
    |* 67 | INDEX RANGE SCAN | VHD_CALLDSK_HIST_CALLID_IDX | 1 | | 1 |
    |* 68 | FILTER | | | | |
    | 69 | SORT GROUP BY NOSORT | | 1 | 12 | 2 |
    | 70 | TABLE ACCESS BY INDEX ROWID| VHD_CALLDESK_HISTORY | 1 | 12 | 2 |
    |* 71 | INDEX RANGE SCAN | VHD_CALLDSK_HIST_CALLID_IDX | 1 | | 1 |
    | 72 | TABLE ACCESS BY INDEX ROWID | VHD_CALLMODE | 1 | 9 | 1 |
    |* 73 | INDEX UNIQUE SCAN | VHD_CALLMOD_MODID_PK | 1 | | |
    | 74 | TABLE ACCESS BY INDEX ROWID | VHD_APPLICATIONS | 1 | 20 | 1 |
    |* 75 | INDEX UNIQUE SCAN | VHD_APPL_APPLID_PK | 1 | | |
    | 76 | TABLE ACCESS BY INDEX ROWID | VHD_CALLTYPES | 1 | 21 | 1 |
    |* 77 | INDEX UNIQUE SCAN | VHD_CALLTYP_ID_PK | 1 | | |
    | 78 | TABLE ACCESS BY INDEX ROWID | VHD_TEAMS | 1 | 21 | 1 |
    |* 79 | INDEX UNIQUE SCAN | VHD_TEAMID_PK | 1 | | |
    | 80 | TABLE ACCESS BY INDEX ROWID | VHD_ENVIRONMENT | 1 | 21 | 1 |
    |* 81 | INDEX UNIQUE SCAN | VHD_ENV_APLENVID_PK | 1 | | |
    | 82 | TABLE ACCESS BY INDEX ROWID | VHD_MODULES | 1 | 22 | 1 |
    |* 83 | INDEX UNIQUE SCAN | VHD_MOD_APLMOD_ID_PK | 1 | | |
    | 84 | TABLE ACCESS BY INDEX ROWID | COM_RPTORGANIZATION | 1 | 14 | |
    |* 85 | INDEX UNIQUE SCAN | COM_RPTORG_PK | 1 | | |
    | 86 | TABLE ACCESS BY INDEX ROWID | COM_ORGANIZATION | 1 | 16 | |
    |* 87 | INDEX UNIQUE SCAN | COM_ORG_PK | 1 | | |
    | 88 | TABLE ACCESS BY INDEX ROWID | LCC_USERINFO_DETAILS | 1 | 43 |
    |* 89 | INDEX UNIQUE SCAN | LCCUSERINFOIND | 1 | | |
    | 90 | TABLE ACCESS BY INDEX ROWID | LCC_USERINFO_DETAILS | 1 | 24 |
    |* 91 | INDEX UNIQUE SCAN | LCCUSERINFOIND | 1 | | |
    | 92 | TABLE ACCESS BY INDEX ROWID | LCC_USERINFO_DETAILS | 1 | 24 | 1
    |* 93 | INDEX UNIQUE SCAN | LCCUSERINFOIND | 1 | | |
    | 94 | TABLE ACCESS BY INDEX ROWID | LCC_USERINFO_DETAILS | 1 | 24 | 1
    |* 95 | INDEX UNIQUE SCAN | LCCUSERINFOIND | 1 | | |
    Predicate Information (identified by operation id):
    16 - filter("J"."TREE"='HLPDK')
    18 - access("J"."ORGID"="A"."ORGID")
    20 - filter( EXISTS (SELECT /*+ */ 0 FROM "LCC"."VHD_CALLDESK_HISTORY" "Q" WHERE "Q"."CALL_ID"=:B1
    "Q"."CALL_ID" HAVING MIN("Q"."UPDDATE")=:B2))
    22 - access("SYS_ALIAS_2"."CALL_ID"="A"."CALL_ID")
    23 - filter(MIN("Q"."UPDDATE")=:B1)
    26 - access("Q"."CALL_ID"=:B1)
    28 - access("H"."MODE_ID"(+)="A"."MODE_ID")
    30 - access("D"."APPL_ID"="A"."APPL_ID")
    32 - access("F"."CALL_TYPE_ID"="A"."CALL_TYPE_ID")
    34 - access("L"."TEAM_ID"(+)="A"."LAST_ACTION_TEAM")
    36 - access("I"."APPL_ID"(+)="A"."APPL_ID" AND "I"."ENV_ID"(+)="A"."ENV_ID")
    38 - access("E"."APPL_ID"="A"."APPL_ID" AND "E"."MODULE_ID"="A"."MODULE_ID")
    40 - access("C"."CODE"="A"."ORGID")
    42 - access("K"."USER_NAME"(+)="A"."LAST_ACTION_USER")
    44 - access("B"."USER_NAME"(+)="A"."CALLER_ID")
    46 - access("G"."USER_NAME"(+)="A"."UPDUSERID")
    48 - access("LU"."USER_NAME"(+)=NVL("SYS_ALIAS_4"."UPDUSERID_162","SYS_ALIAS_4"."UPDUSERID_25"))
    65 - filter( EXISTS (SELECT /*+ */ 0 FROM "LCC"."VHD_CALLDESK_HISTORY" "Q" WHERE "Q"."CALL_ID"=:B1
    "Q"."CALL_ID" HAVING MIN("Q"."UPDDATE")=:B2))
    67 - access("SYS_ALIAS_2"."CALL_ID"="SYS_ALIAS_1"."CALL_ID")
    68 - filter(MIN("Q"."UPDDATE")=:B1)
    71 - access("Q"."CALL_ID"=:B1)
    73 - access("H"."MODE_ID"(+)="SYS_ALIAS_1"."MODE_ID")
    75 - access("D"."APPL_ID"="SYS_ALIAS_1"."APPL_ID")
    77 - access("F"."CALL_TYPE_ID"="SYS_ALIAS_1"."CALL_TYPE_ID")
    79 - access("L"."TEAM_ID"(+)=TO_NUMBER("SYS_ALIAS_1"."LAST_ACTION_USER"))
    81 - access("I"."APPL_ID"(+)="SYS_ALIAS_1"."APPL_ID" AND "I"."ENV_ID"(+)="SYS_ALIAS_1"."ENV_ID")
    83 - access("E"."APPL_ID"="SYS_ALIAS_1"."APPL_ID" AND "E"."MODULE_ID"="SYS_ALIAS_1"."MODULE_ID")
    85 - access("SYS_ALIAS_1"."ORGID"="J"."ORGID" AND "J"."TREE"='HLPDK')
    87 - access("C"."CODE"="SYS_ALIAS_1"."ORGID")
    89 - access("B"."USER_NAME"(+)="SYS_ALIAS_1"."CALLER_ID")
    91 - access("SYS_ALIAS_1"."UPDUSERID"="G"."USER_NAME"(+))
    93 - access("K"."USER_NAME"(+)="SYS_ALIAS_1"."LAST_ACTION_USER")
    95 - access("LU"."USER_NAME"(+)=NVL("SYS_ALIAS_3"."UPDUSERID_162","SYS_ALIAS_3"."UPDUSERID_25"))
    Note: cpu costing is off

    I've tried to look thru your sql and changed it a bit. Of course not testet :-)
    Your problem isn't the archive table! I tried to remove the 2 selects from the select-clause. Furthermore you have a lot of nested loops in your explain, which is a performance-killer. Try getting rid of them, perhaps use /*+ USE_HASH(?,?) */.
    SELECT a.call_id, a.entry_date,
           NVL (INITCAP (b.full_name), caller_name) AS caller_name, c.description AS org_desc, a.env_id, i.env_desc, a.appl_id,
           d.appl_desc, a.module_id, e.module_desc, a.call_type_id, f.call_type_desc, a.priority, a.upduserid,
           INITCAP (g.full_name) AS lastupdated_username, a.call_desc, h.mode_desc, a.received_time, a.assignment_team, a.status,
           ROUND (lcc.pkg_com.fn_datediff ('MI', a.entry_date, a.status_date)) AS elapsed_time,
           ROUND (lcc.pkg_com.fn_datediff ('MI', a.entry_date, a.status_date)) AS resolved_min,
           CASE
              WHEN a.orgid IN (1, 100, 200)
                 THEN a.orgid
              ELSE j.regionorgid
           END AS region,
           COALESCE (stat.upddate, a.upddate) AS stat_upddate,
           t.team_desc, a.eta_date,
           COALESCE (a.caller_contact, b.telephone) AS caller_contact,
           COALESCE (a.caller_email, b.email) AS email, a.affected_users,
           a.outage_time, a.qa_done, a.last_action_team, a.last_action_user,
           INITCAP (k.full_name) AS last_action_username, a.last_action_date,
           l.team_desc AS last_action_teamdesc, a.refid,
           INITCAP (lu.full_name) AS logged_name, a.pmreview,
           a.status AS main_status
      FROM lcc.vhd_calldesk_archive a, lcc.lcc_userinfo_details b, lcc.com_organization c,
           lcc.vhd_applications d, lcc.vhd_modules e, lcc.vhd_calltypes f, lcc.com_rptorganization j,
           lcc.lcc_userinfo_details g, lcc.vhd_callmode h, lcc.vhd_environment i, lcc.lcc_userinfo_details k,
           lcc.vhd_teams l,
          (SELECT call_id, upduserid
           FROM lcc.vhd_calldesk_history p
           WHERE upddate IN (SELECT   MIN (upddate)
                             FROM lcc.vhd_calldesk_history q
                             WHERE q.call_id = p.call_id
                             GROUP BY call_id)) ku,
           lcc.lcc_userinfo_details lu,
          (SELECT call_id, MAX (upddate)
           FROM lcc.vhd_callstatus
           GROUP BY call_id) stat,
           lcc.vhd_teams t
      WHERE a.caller_id        = b.user_name(+)
        AND a.orgid            = c.code
        AND a.appl_id          = d.appl_id
        AND a.appl_id          = e.appl_id
        AND a.module_id        = e.module_id
        AND a.call_type_id     = f.call_type_id
        AND a.orgid            = j.orgid
        AND j.tree             = 'HLPDK'
        AND a.upduserid        = g.user_name(+)
        AND a.mode_id          = h.mode_id(+)
        AND a.appl_id          = i.appl_id(+)
        AND a.env_id           = i.env_id(+)
        AND a.last_action_user = k.user_name(+)
        AND a.last_action_user = l.team_id(+)
        AND a.call_id          = ku.call_id(+)
        AND NVL (ku.upduserid, a.upduserid) = lu.user_name(+)
        AND a.call_id          = stat.call_id
        AND a.assignment_team  = t.team_id;

  • How can I make the newest version of iTunes for Windows run faster?

    I know I'm not the only one when I say that iTunes is by far one of the slowest programs on my computer.  I'm running Windows 7 and running the most recent version of iTunes for Windows.  Does anyone have some tips to make it run faster and smoother?  I have Genius and Ping disabled, but I'm not quite sure what else I can do.

    The newest version of iTunes should install if you are runnig 10.7.
    Do you get any error messages?
    Allan

  • How can I make sure the engineer comes this time?

    Hi there I noticed at the beginning of last week that my broadband had slowed to a crawl. I checked the phone and could not get a dial tone. Ringing our number made the phone ring but no conversation was possible. Broadband was synced at 640 Kbps I got the automated line checker which found a fault near my property - the telegraph pole in the graphic. I fault was logged on May 1st and I got a repair date for next Wednesday 9th which I wouldn't be able to make so I went to rearrange and was able to pick last Saturday morning 5th May. About 2 hours after i rearranged it I had a call from Mumbai, he said someone was going to be coming on the original date of Wednesday, I assumed that as I had just rearranged this would not now be happening, but couldnt get him to understand that the new dte of saturday 5th wasshoes ing on my fault update page. Sure enough nobody came on the Saturday . I have now rearranged it for the afternoon of Friday 11th May My question is how do I find out if an engineer is still going to come on Wednesday afternoon (I can try to take the afternoon off from work) or has that now been properly rearranged for Friday, given that last time it was irrelevant that Saturday was showing on my fault update page for the engineers visit? Is there any way I can confirm this is logged properly on the BT systems? Sorry about the long paragraphs posting from an iPad doesn't result in correct formatting!

    Haha, the engineer turned up today, on the wednesday, which was the original date allocated! 
    Despite me rearranging for last saturday morning, (showing up on my "track my fault") then, following a non show, rearranging for next friday afternoon, (showing up on my "track my fault") the OR enginner phones me (on my mobile obviously) to tell me he is her at 12.20 on the wednesday.
    Luckily I was at work and could get home in 20 mins, and the chap (really nice) said he would make a start. By the time I got home he told me he had fixed it - the connection was ?corroded (6 yr old house) on the BT side of the fence.
    There is a total disconnect between the "track my fault" page with BT and Openreach
    If my mobile had not been in signal range and I had not been able to get home to meet this really nice OR enginner, and had they not turned up on Friday with an afternoon lost from work I would not have been happy!
    I have an installation date for BT Infinity in 2w time, on price alone, but hope i don't live to regret this
    I would appreciate a reply as to why "rearrange my appointment" has no effect

  • How can I make the text larger in this flashing box from Old Toad?

    I'm trying to use flashing text here: http://web.me.com/phelpssculpture/Site/hands_on.html
    which I copied from OldToad's site here:http://web.me.com/toad.hall/Demo_1/Miscitems.html
    I can't figure out how to make the text larger.
    Any suggestions?
    Thanks, David

    At the end of the code, you can find
    document.write('You can add Blinking Text!');
    insert a "size" attribute to "font" tag (eg. size="10")
    document.write('You can add Blinking Text!');

  • Flash Player 7...How can I get a free version of this application?

    I have an older version of QuickBooks and need to insltall it on our backup lap top.  The installation wizzard is saying that I need Flash Player 7 installed on the computer before it can continue.  I have Flash Player 10 installed now.  How do I get a copy of 7?

    Google flash player 7 download, and you will find hundreds of sites that still offer that version for download.

  • How can I make a smart form like this one ?

    hi
    according to my business requirements I need to create a PDF form which contains a table with variable number of rows (containing numbers) , so the user should be able to add or remove rows to the table as much as he needs to , and there should be a row showing the total at the bottom of that table.
    I'm absolutely sure that this is possible to be implemented in PDF using javascript but I need some help to do it.
    I saw a working example - the same concept I required.
    >> you could have a look here -
    http://www.windjack.com/PDFSamples/ListPrograming_Part1_XFAForm.pdf
    any idea how I can do so ?
    thank you.

    hi George
    thank you for helping.
    I thought about the same idea >> to add fields and hide them and then show them one by one upon to user reuest , but I think that will solve just a part of the problem regarding the functionality ,,, while the formatting issue won't be solved ,,, I mean look at the form I linked to ,,, the table borders and final appearance remains the same even after adding a new row.
    is it possible to do so if I used AcroForm and hide the fields ?
    and how will I get the total of those variable number of rows after user finished adding rows ?
    regarding the other thing you mentioned (pushing items down as new rows are added) ,,, I think I can avoid this by adding the table in a separate page ,,, because according to my business requirements ,,, rows that will be added won't exceed 30 maximum.
    thank you for your time.

  • How can I make a loop similar to this song?

    http://www.youtube.com/watch?v=sdpT3p2831g
    I just want to get the drum beat down but i'm having trouble with this. Can anyone help?

    Add a calendar entry with an alert to your shared calendar. I'm assuming it is shared via iCloud, MS Exchange or Google, so it will update in near real time and not have to wait for a sync.

  • When i try to make icloud account on my iphone this massage show "this device is no longer eligible for creating a free i cloud account" how can i make my icloud

    when i try to make icloud account on my iphone this massage show "this device is no longer eligible for creating a free i cloud account" how can i make my icloud accout on this device

    Can anyone from Apple answer this question?  I want to sell my ipod touch but it shows up as "This device is no longer eligible for creating a free iCloud account".  What do I do?  Can I go to the Apple store and request that they delet all accounts associated with the ipod?  Is that possible?  Help!!! Really frustrated at Apple right now.

  • How can I install an old version of the Adobe PDF Reader plug-in/add-on for Internet Explorer?

    I have installed an old version of Adobe Reader (X or 10.1.4), but my Adobe PDF Reader add-on in Internet Explorer remains version 11+...how can I get an old version of this plug-in?

    The new serial number is to the right of your chosen download.

  • How can i make a the out put in bold letters

    let say that this code output is public String toTitle(){
              return "Title: " + titleBook;
         }Title: Spectacular Chemical Experiments
    Title: Terror
    now how can I make just title bold like this
    Title: Spectacular Chemical Experiments
    Title: Terror
    thanks

    If your job and life depends on it, many consoles support ANSI escape characters; the problem is that they are ignored from System.out.
    It can be done with JNI:
    http://www.rgagnon.com/javadetails/java-0469.html
    on linux, the command would be "echo -e"
    Again, I say this if your job and life depends on it. It ain't pretty. (well, the colors are maybe; the code isn't.)

  • How can I make the annotation box show in the printed word version on the pages app?

    I want to insert annotation box on the side of the text. But I found that i cannot do that, and the annotation box disappear on the printed version of my document. How can I make that appear on my printed verison? Thank you!

    You are referring to Comments and Apple has removed the old method from Pages 5.
    If it is important to you go back to using Pages '09 which should still be in your Applications/iWork folder.
    Peter

  • My bookmark seperators in a newer version of Firefox are too light. I seem to remember in older versions they were much darker. How can I make them dark again. Now I can hardly see the seperator.

    How can I make the bookmark separators dark? They are very light and I can hardly see them. I seem to remember that in older versions of FireFox they were much darker and easier to see.

    On an older 1.5GHz PowerPC G4 mac, and on a
    newer iMac 2.4GHz Intel Core 2 Duo
    both running OSX10.5.8, and using the default FF 3.6.6 theme.
    The separator lines are so faint as to be not there, giving the impression of just a big gap in the menu being displayed.

  • I have Win 7 saved (installation file) in My MacBook Pro Licence version. How can i install it on MacBook Pro. After installation how can i make it to work with Parallel desktop or VMware fusion software.

    I have Win 7 saved (installation file) in My MacBook Pro Licence version. How can i install it on MacBook Pro. After installation how can i make it to work with Parallel desktop or VMware fusion software. I can buy these softwares.

    http://www.simplehelp.net/2009/02/02/how-to-install-windows-7-in-os-x-using-para llels-desktop-a-complete-walkthrough/
    http://blogs.parallels.com/consumertech/2011/10/24/install-windows-right-from-wi thin-parallels-desktop-7-guest.html

Maybe you are looking for

  • Best practice for upgrading task definition in production system

    If I try and update a task definition with task instances running I get the following error: Task definition 'My Task - Add User' may not be modified while there are active task instances Is there a best practice to handle this. I tried to force an u

  • Can't find accidently deleted songs!

    I have accidently deleted all of my i tunes songs which have gone into the recycle bin. I have been able to retrieve most of them but the ones that I manually put there via cds. Just wondering if I know have to put them all back on again?

  • Solaris 10 FTP Server

    Hi. I am an operator hoping soon to become an administrator. I have been asked to setup a secure FTP server in solaris 10. Could somebody possibly outline the basic stages of what needs to take place. I would be grateful for any info offered. Thanks

  • Java compilation using eclipse

    Good greeting to developer Recently i use eclipse to develope java project. How to compile java source file? I cannot find any compile button in toolbar and menu..... This maynot the right forum to ask this question, however, pls help. Thanks in adva

  • Adding a metatag

    Sometimes some websites that let you monitor your activity ask for either an html file or a metatag on your header in your website to verify it's your website. Can this be done with an iWeb webpage? What would be the header in the page and do you do