Failed to Add Update Source for WUAgent Error = 0x87d00692 - HELP!!

I am having trouble with my clients recieving updates.  I notice alot of my clients where my primary site is are recieving updates but all of my clients in my secondary sites are not.  Below is output from the WUAHandler.log on a client system.
Group policy settings were overwritten by a higher authority (Domain Controller) to: Server HTTPS://SERVER.COMPANY.COM:443 and Policy ENABLED WUAHandler 4/12/2013 8:21:28 AM 4220 (0x107C)
Failed to Add Update Source for WUAgent of type (2) and id ({AA27FC20-A281-46CC-B04F-D0940B5E072F}). Error = 0x87d00692. WUAHandler 4/12/2013 8:21:28 AM 4220 (0x107C)
The server stated above is correct and we have no GPOs applied to our enviornment for an update server.
I did just update to SCCM 2012 SP1 and have applied all the hotfixes for WSUS.  I am at a roadblock.  Would a site reset be advised?  Perhaps WSUS and SUP reinstall?  Any help would be appreciated I am out of ideas.
My enviornment:
1 primary server - roles- sup, dp, mp
3 secondary sites - role - dp and mp - clients under these sites do not get updates
Ryan Ventimiglio

When I have checked this my current SCCM server address thats listed in the WUAHandler log is set in the registry for the client.  So this is the same address so its not like anything is conflicting. 
Whats strange about this is that everything was working fine before the SP1 upgrade.  I just ran a site reset but no change.  Do you think a WSUS/SUP uninstall/reinstall would be the next step?  Is this done typically?  Any other
things I should be checking.  I know we do not have any GPOs set in our enviornment for this so this cant be the problem.
Ryan Ventimiglio

Similar Messages

  • Failed to download updates to the WUAgent datastore (error = 0x8009000 / -2146893815)

    We have a central site (SRVSC00) and two primary child sites (SRVSC01/02) in our SCCM structure. All clients (3700) are connected to the child sites and reports to central site. All SU deployments are being deployed from central site. WSUS server (3.0 Sp2) is installed on each site (port 8530).
    I've deployed a patch (for the first time to all workstations) and over 130 clients failes.
    WUAHandler.log:
    "Failed to download updates to the WUAgent datastore (error = 0x8009000)"
    windowsupdate.log:
    2010-02-26 10:19:28:571 2304 b90 COMAPI WARNING: ISusInternal::GetEulaText failed, hr=80240033
    2010-02-26 10:19:28:571 2304 b90 COMAPI WARNING: ISusInternal::GetEulaText failed, hr=80240033
    2010-02-26 10:19:28:571 2304 b90 COMAPI WARNING: ISusInternal::GetEulaText failed, hr=80240033
    2010-02-26 10:19:28:571 2304 b90 COMAPI WARNING: ISusInternal::GetEulaText failed, hr=80240033
    2010-02-26 10:19:28:571 2304 b90 COMAPI WARNING: ISusInternal::GetEulaText failed, hr=80240033
    2010-02-26 10:19:28:571 2304 b90 COMAPI WARNING: ISusInternal::GetEulaText failed, hr=80240033
    2010-02-26 10:19:28:571 2304 b90 COMAPI WARNING: ISusInternal::GetEulaText failed, hr=80240033
    2010-02-26 10:19:28:571 2304 b90 COMAPI WARNING: ISusInternal::GetEulaText failed, hr=80240033
    2010-02-26 10:19:28:571 2304 b90 COMAPI WARNING: ISusInternal::GetEulaText failed, hr=80240033
    2010-02-26 10:19:28:586 2304 b90 COMAPI WARNING: ISusInternal::GetEulaText failed, hr=80240033
    2010-02-26 10:19:28:586 2304 b90 COMAPI WARNING: ISusInternal::GetEulaText failed, hr=80240033
    2010-02-26 10:19:30:086 1816 1494 DnldMgr ***********  DnldMgr: Copy update to cache [UpdateId = {A9E325EF-3002-4D74-9CC4-2CE1967678FB}.104]  ***********
    2010-02-26 10:19:30:086 1816 1494 DnldMgr WARNING: CryptAcquireContext failed with 0x80090009.
    2010-02-26 10:19:30:086 1816 1494 DnldMgr WARNING: GenerateHash failed with 0x80090009.
    2010-02-26 10:19:30:086 1816 1494 DnldMgr WARNING: GenerateDownloadDirName failed with 0x80090009.
    2010-02-26 10:19:30:086 1816 1494 DnldMgr   * WARNING: Copy update to cache failed with exit code = 0x80090009
    2010-02-26 10:19:30:086 2304 45c COMAPI WARNING: ISusInternal::CopyUpdateToCache2 failed, hr=80090009
    2010-02-26 10:19:30:196 2304 45c COMAPI -------------
    2010-02-26 10:19:30:196 2304 45c COMAPI -- START --  COMAPI: Search [ClientId = CcmExec]
    2010-02-26 10:19:30:196 2304 45c COMAPI ---------
    2010-02-26 10:19:30:196 1816 173c Agent *************
    2010-02-26 10:19:30:196 1816 173c Agent ** START **  Agent: Finding updates [CallerId = CcmExec]
    2010-02-26 10:19:30:196 1816 173c Agent *********
    2010-02-26 10:19:30:196 1816 173c Agent   * Include potentially superseded updates
    2010-02-26 10:19:30:196 2304 45c COMAPI <<-- SUBMITTED -- COMAPI: Search [ClientId = CcmExec]
    2010-02-26 10:19:30:196 1816 173c Agent   * Online = No; Ignore download priority = Yes
    2010-02-26 10:19:30:196 1816 173c Agent   * Criteria = "UpdateID = '0848ac63-ce07-4477-bc79-dae121d6bdda' AND DeploymentAction = *"
    2010-02-26 10:19:30:196 1816 173c Agent   * ServiceID = {3DA21691-E39D-4DA6-8A4B-B43877BCB1B7} Managed
    2010-02-26 10:19:30:196 1816 173c Agent   * Search Scope = {Machine}
    2010-02-26 10:19:33:446 1816 173c Agent   * Added update {0848AC63-CE07-4477-BC79-DAE121D6BDDA}.104 to search result
    2010-02-26 10:19:33:446 1816 173c Agent   * Found 1 updates and 48 categories in search; evaluated appl. rules of 167 out of 2088 deployed entities
    2010-02-26 10:19:33:602 1816 173c Agent *********
    I've tried wsusutil reset in case the problem was eula. But this doesn't seem to have resolved the problem - if I did it correct :)
    Can anyone help me?

    Problem solved :D
    This has nothing to do with EULA. The problem is on Windows Update Components on the clients.
    I had to reset the Windeows Update components with Microsoft Microsoft Fix it 50202 2.1.1.1.
    Since we had the problem on 100-200 machines, we deployed the Microsoft Microsoft Fix it 50202 2.1.1.1 with SCCM. Windows Update started to work on each machine after the package had run :)

  • Failed to add the resource due to error in the resource

    Mi problema es el siguiente:
    Tenemos el ORA 10G Release 2 (10.1.2.0.2), versión LITE, y a la hora de hacer ciertas operaciones se produce el siguiente error:
    avax.transaction.SystemException: Failed to add the resource due to error in the resource
    at com.evermind.server.ApplicationServerTransaction.enlistResource(ApplicationServerTransaction.java:260)
    at com.evermind.server.ApplicationServerTransaction.enlistResource(ApplicationServerTransaction.java:183)
    at com.hphis.corp.Transaccion.conectaBD(Transaccion.java:255)
    at com.hphis.corp.Transaccion.iniciarTransaccion(Transaccion.java:141)
    at com.hphis.edoctor.anotaciones.DocAnotacionBean.createNote(DocAnotacionBean.java:211)
    at edoctor.anotaciones._crearAnotacion._jspService(_crearAnotacion.java:211)
    at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:56)
    at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:350)
    at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:509)
    at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:413)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:65)
    at com.hphis.corp.filters.logueo.LogueoFilter.doFilter(LogueoFilter.java:66)
    at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:16)
    at com.hphis.corp.filters.gzip.GZipFilter.doFilter(GZipFilter.java:56)
    at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:659)
    at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:330)
    at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:830)
    at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:285)
    at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:126)
    at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:192)
    at java.lang.Thread.run(Thread.java:534)
    El contenido de mi data-sources.xml es el siguiente:
    <?xml version="1.0"?>
    <!DOCTYPE data-sources PUBLIC "Orion data-sources" "http://www.orionserver.com/dtds/data-sources.dtd">
    <data-sources>
         <data-source
    class="com.evermind.sql.DriverManagerDataSource"
    name="ibasededatos"
    location="jdbc/ibasededatos"
    xa-location="jdbc/xa/ibasededatosXA"
              ejb-location="jdbc/ibasededatos"
    pooled-location="jdbc/ibasededatos"
              connection-driver="com.informix.jdbc.IfxDriver"
    username="informix"
    password="informix"
    url=""
    max-connections="100"
    min-connections="2"
    inactivity-timeout="600"
    schema="database-schemas/informix.xml"
         </data-source>
    </data-sources>
    No pongo la url por motivos justificados, sale la IP de la BD a la que conecto.
    No consigo saber por qué, pero con un servidor Orion no pasa.

    Mi problema es el siguiente:
    Tenemos el ORA 10G Release 2 (10.1.2.0.2), versión LITE, y a la hora de hacer ciertas operaciones se produce el siguiente error:
    avax.transaction.SystemException: Failed to add the resource due to error in the resource
    at com.evermind.server.ApplicationServerTransaction.enlistResource(ApplicationServerTransaction.java:260)
    at com.evermind.server.ApplicationServerTransaction.enlistResource(ApplicationServerTransaction.java:183)
    at com.hphis.corp.Transaccion.conectaBD(Transaccion.java:255)
    at com.hphis.corp.Transaccion.iniciarTransaccion(Transaccion.java:141)
    at com.hphis.edoctor.anotaciones.DocAnotacionBean.createNote(DocAnotacionBean.java:211)
    at edoctor.anotaciones._crearAnotacion._jspService(_crearAnotacion.java:211)
    at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:56)
    at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:350)
    at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:509)
    at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:413)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:65)
    at com.hphis.corp.filters.logueo.LogueoFilter.doFilter(LogueoFilter.java:66)
    at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:16)
    at com.hphis.corp.filters.gzip.GZipFilter.doFilter(GZipFilter.java:56)
    at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:659)
    at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:330)
    at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:830)
    at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:285)
    at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:126)
    at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:192)
    at java.lang.Thread.run(Thread.java:534)
    El contenido de mi data-sources.xml es el siguiente:
    <?xml version="1.0"?>
    <!DOCTYPE data-sources PUBLIC "Orion data-sources" "http://www.orionserver.com/dtds/data-sources.dtd">
    <data-sources>
         <data-source
    class="com.evermind.sql.DriverManagerDataSource"
    name="ibasededatos"
    location="jdbc/ibasededatos"
    xa-location="jdbc/xa/ibasededatosXA"
              ejb-location="jdbc/ibasededatos"
    pooled-location="jdbc/ibasededatos"
              connection-driver="com.informix.jdbc.IfxDriver"
    username="informix"
    password="informix"
    url=""
    max-connections="100"
    min-connections="2"
    inactivity-timeout="600"
    schema="database-schemas/informix.xml"
         </data-source>
    </data-sources>
    No pongo la url por motivos justificados, sale la IP de la BD a la que conecto.
    No consigo saber por qué, pero con un servidor Orion no pasa.

  • Add update rule for new key figure in one info struc

    Hi, everyone
    I would like to know how to add update rule for new key figure in one info struc.
    Thanks ahead.
    Eric

    1)I have created the update rule for one info structure
    2)add one key figure in the info structure due to business requirement
    3)then I use MC25 to add update rule for the new key figure, but I find that there no relevant menu to do such operation.
    Can anybody tell me how to do with it?
    Any answer will be appriciated.

  • HT201210 trying to update my phone and it says cannot update due to unknow error any help

    i was trying to update my iphone 4 and it says cannot update due to unknow error any help ?

    Hey alyreed22,
    Thanks for the question. I understand you are having issues updating to iOS 7. The following articles may help you resolve the error message:
    iOS: Troubleshooting update and restore issues
    http://support.apple.com/kb/TS1275
    iTunes: Specific update-and-restore error messages and advanced troubleshooting
    http://support.apple.com/kb/TS3694
    Thanks,
    Matt M.

  • My imac (osx 10.6.8), apple mail(4.5) has begun to act very odd. It quits out and on occasion I open an email to face "plugin is missing" or I have a spinning wheel and the email won't open. New to do list fails to add to the list. Can anyone help?

    Hi all,
    My imac (osx 10.6.8), apple mail(4.5) has begun to act very odd. It quits out and on occasion I open an email to face "plugin is missing" or I have a spinning wheel and the email won't open. New to do list fails to add to the list. Can anyone help?

    Hi all,
    My imac (osx 10.6.8), apple mail(4.5) has begun to act very odd. It quits out and on occasion I open an email to face "plugin is missing" or I have a spinning wheel and the email won't open. New to do list fails to add to the list. Can anyone help?

  • Windows Server 2012R2 fails to get update from WSUS with error code 80072ee6

    Hi all,
    I've deployed WSUS role on a Windows Server 2012R2 machine. WSUS listen on port 8530. Now I'm trying a test server (this machine runs WIndows Server 2012R2 too). I've configured a GPO but when I try to check for updates I get the errore in the subject.
    I've checked windowsupdate.log and theese are the settings of the client:
    AIR Mode is disabled
    2014-02-05 12:59:00:357
    776 fe0
    AU  # Policy Driven Provider:  http://MyWSUS.MyDomain.local:8530
    2014-02-05 12:59:00:357
    776 fe0
    AU  # Detection frequency: 22
    2014-02-05 12:59:00:357
    776 fe0
    AU  # Target group: CSM Servers
    2014-02-05 12:59:00:357
    776 fe0
    AU  # Approval type: Pre-install notify (Policy)
    2014-02-05 12:59:00:357
    776 fe0
    AU  # Auto-install minor updates: No (User preference)
    2014-02-05 12:59:00:357
    776 fe0
    AU  # Will interact with non-admins (Non-admins are elevated (User preference))
    I confirm that from the test server I can telnet to my wsus server on TCP port 8530

    Hi,
    This issue occurs if the URL under the Group Policy setting 'Specify intranet Microsoft update service location' is invalid.
    You receive a "80072EE6" error code when you download an update from Windows Server Update Services in Windows 7-based or Windows Server 2008 R2-based
    computer
    http://support.microsoft.com/kb/2724184
    Make sure that the URL is correct and the name can be resolved.
    Hope this helps.

  • Update trigger fails with value too large for column error on timestamp

    Hello there,
    I've got a problem with several update triggers. I've several triggers monitoring a set of tables.
    Upon each update the updated data is compared with the current values in the table columns.
    If different values are detected the update timestamp is set with the current_timestamp. That
    way we have a timestamp that reflects real changes in relevant data. I attached an example for
    that kind of trigger below. The triggers on each monitored table only differ in the columns that
    are compared.
    CREATE OR REPLACE TRIGGER T_ava01_obj_cont
    BEFORE UPDATE on ava01_obj_cont
    FOR EACH ROW
    DECLARE
      v_changed  boolean := false;
    BEGIN
      IF NOT v_changed THEN
        v_changed := (:old.cr_adv_id IS NULL AND :new.cr_adv_id IS NOT NULL) OR
                     (:old.cr_adv_id IS NOT NULL AND :new.cr_adv_id IS NULL)OR
                     (:old.cr_adv_id IS NOT NULL AND :new.cr_adv_id IS NOT NULL AND :old.cr_adv_id != :new.cr_adv_id);
      END IF;
      IF NOT v_changed THEN
        v_changed := (:old.is_euzins_relevant IS NULL AND :new.is_euzins_relevant IS NOT NULL) OR
                     (:old.is_euzins_relevant IS NOT NULL AND :new.is_euzins_relevant IS NULL)OR
                     (:old.is_euzins_relevant IS NOT NULL AND :new.is_euzins_relevant IS NOT NULL AND :old.is_euzins_relevant != :new.is_euzins_relevant);
      END IF;
    [.. more values being compared ..]
        IF v_changed THEN
        :new.update_ts := current_timestamp;
      END IF;
    END T_ava01_obj_cont;Really relevant is the statement
    :new.update_ts := current_timestamp;So far so good. The problem is, it works the most of time. Only sometimes it fails with the following error:
    SQL state [72000]; error code [12899]; ORA-12899: value too large for column "LGT_CLASS_AVALOQ"."AVA01_OBJ_CONT"."UPDATE_TS"
    (actual: 28, maximum: 11)
    I can't see how the value systimestamp or current_timestamp (I tried both) should be too large for
    a column defined as TIMESTAMP(6). We've got tables where more updates occur then elsewhere.
    Thats where the most of the errors pop up. Other tables with fewer updates show errors only
    sporadicly or even never. I can't see a kind of error pattern. It's like that every 10.000th update
    or less failes.
    I was desperate enough to try some language dependend transformation like
    IF v_changed THEN
        l_update_date := systimestamp || '';
        select value into l_timestamp_format from nls_database_parameters where parameter = 'NLS_TIMESTAMP_TZ_FORMAT';
        :new.update_ts := to_timestamp_tz(l_update_date, l_timestamp_format);
    END IF;to be sure the format is right. It didn't change a thing.
    We are using Oracle Version 10.2.0.4.0 Production.
    Did anyone encounter that kind of behaviour and solve it? I'm now pretty certain that it has to
    be an oracle bug. What is the forum's opinion on that? Would you suggest to file a bug report?
    Thanks in advance for your help.
    Kind regards
    Jan

    Could you please edit your post and use formatting and tags.  This is pretty much unreadable and the forum boogered up some of your code.
    Instructions are here: http://forums.oracle.com/forums/help.jspa                                                                                                                                                                                                                                                                                                                                                                                                                                       

  • Once repository downloaded, and then I deleted .repo folder. Again trying for building the source. Then it is failing to Build the source with .repo error.

    Hi,
    I have downloaded the repository source (1.4) for nexus-4. Trying to build the source after deleting .repo folder.
    If I delete that folder it is not building at all.
    please suggest me to handle this scenario. due to space issue I have removed the .repo folder.
    Thanks in advance.

    Homebrew helps as well : [http://wilsonpage.co.uk/installing-firefoxos-nexus4/]
    Current instructions for nexus 4 [http://forum.xda-developers.com/showthread.php?t=2513228]
    I am not entirely sure, however there is instructions for the nexua7 [https://wiki.mozilla.org/B2G/Nexus7]
    Added later: [http://forum.xda-developers.com/nexus-4/general/december-29-firefoxos-nexus-4-1-1-1-4-t2388237] though as a fair warning, this is a very buggy build and I would not want you to brick your phone as it is an expensive phone.

  • Help application update - fix for installation error

    Some users are reporting installation errors when updating the Help application update -- if you are experiencing a similar issue, please follow these instructions:
    Uninstall the previous version of Adobe Help
    Windows:  use the Add or remove Programs utitlity
    Macintosh: Remove and trash the application from the Applications > Adobe folder
    Delete the following directory: 
    Windows: %appdata%/chc.4875E02D9FB21EE389F73B8D1702B320485DF8CE.1
    Macintosh:USER NAME (home) > Library > Preferences > chc.4875E02D9FB21EE389F73B8D1702B320485DF8CE.1
    IMPORTANT: Empty the Trash or Recycling Band to ensure proper removal of all files
    Manually update the application at: http://www.adobe.com/support/chc/
    The above solution is also available as Technical Support document here: http://kb2.adobe.com/cps/842/cpsid_84215.html

    Okay so I followed the steps outlined above (and in the tech doc)., and when I go to manually install Air I get the following message:
    "Sorry, an error has occurred.  This application cannot be installed because this installer has been misconfigured. Please contact the application author for assistance."
    Now what?  I'm on a Mac, OS 10.5.8.
    Pete

  • Feb/Mar 2015 Update: OneDrive for Business Error "Incompatible Office products are installed on your machine."

    After Installing the Feb 2015 Updates for Office 2013 ProPlus via ClicktoRun, OneDrive no longer opens with the error message:
    "Sorry, we can’t perform this action. Incompatible Office products are installed on your machine. If you have an administrator, please contact them for help. "
    The eventviewer info is:
    - <System>
      <Provider Name="Microsoft Office 15 Alerts" />
      <EventID Qualifiers="0">300</EventID>
      <Level>4</Level>
      <Task>0</Task>
      <Keywords>0x80000000000000</Keywords>
      <TimeCreated SystemTime="2015-02-11T17:08:53.000000000Z" />
      <EventRecordID>605</EventRecordID>
      <Channel>OAlerts</Channel>
      <Computer>BP-W-7DB824.raydon.com</Computer>
      <Security />
      </System>
    - <EventData>
      <Data>Microsoft OneDrive for Business</Data>
      <Data>Sorry, we can’t perform this action. Incompatible Office products are installed on your machine. If you have an administrator, please contact them for help.</Data>
      <Data>702089</Data>
      <Data>15.0.4693.1000</Data>
      <Data />
      <Data />
      </EventData>
      </Event>
    I have other office products on here including:
    SharePoint Designer 2010
    SharePoint Designer 2013
    Microsoft PowerBI Designer Preview
    and this is installed on Win 8.1 Enterprise
    Kind of stumped what is causing this... I see KB2920798  mentions this error message is now added when cant open a document due to a mix of click-to-run and MSI install for office.  I only have click to run for Office 2013 and the MSIs are only for
    addons in excel (power query) and the additional Microsoft Software...
    Anyone have ideas what is causing this and how to resolve?
    I just finished applying March 2015 C2R updated on Office and the same issue recurred.  This time I simply rebooted and it resolved.  My best guess is it has something to do with a locked file that can't be updated but the Office Update installer
    doesn't prompt to reboot.

    I have the same problem. But I have Czech versions of the Word and OneDrive for Business ("OneDrive pro firmy").
    I do not have the SharePoint Designer nor update KB2020798. I received KB2920746
    on 11th February (plus other updates for Office, but any other for OneDrive for Business). Anyway,
    uninstall of the KB2920746 doesn't help.
    The error in Czech:
    Microsoft Word
    Je nám líto, ale tuhle akci nemůžeme provést. Na počítači máte nainstalované nekompatibilní produkty Office. Pokud máte správce, požádejte ho o pomoc.
    P1: 702089
    P2: 15.0.4693.1000
    P3: 
    P4: 
    It helped me to unistall OneDrive for Business (Onedrive pro firmy) - displeasing solution,
    right?;-(

  • Updated source for HttpUpload Example

    Revised HttpInputStream
    ========================
    // $Header$
    // Copyright (c) 2000 Oracle Corporation
    package ifs.pm.examples.webUI;
    import javax.servlet.ServletInputStream;
    import java.io.InputStream;
    import java.io.IOException;
    import ifs.pm.common.trace.Alert;
    * A Class class.
    * <P>
    * @author Mark D. Drake
    * Please complete these missing tags
    * @rref
    * @copyright
    * @concurrency
    * @see
    public class HttpInputStream extends InputStream
    private static final boolean DUMPBYTECOUNT = true;
    private static final boolean DEBUG = false;
    private static final boolean BYTEBUFFERDEBUG = false;
    private static final boolean BYTELEVELDEBUG = false;
    private byte [] m_ByteBuffer = new byte [ 0 ];
    private byte [] m_PreservedBytes = new byte [ 0 ];
    private int m_AvailableBytesCount = 0;
    private int m_BytesProcessed = 0;
    private long m_BytesRead = 0;
    // Note Combination of ByteBufferDebug and 64K Buffer will cause out-of-memory error
    private int m_ByteBufferSize = 64 * 1024;
    private boolean m_ReadEndOfPart = false;
    private ServletInputStream m_InputStream;
    private String m_EndOfStreamMarker;
    private String m_EndOfPartMarker;
    private boolean m_EndOfStream = false;
    * Please complete the missing tags for HttpInputStream
    * @param
    * @return
    * @throws
    * @pre
    * @post
    public HttpInputStream( ServletInputStream is, String endOfPart, String endOfStream)
    m_InputStream = is;
    m_EndOfStreamMarker = endOfPart;
    m_EndOfPartMarker = endOfStream;
    if( m_EndOfStreamMarker.length() > m_ByteBufferSize )
    // Extremly Unlikely....
    m_ByteBufferSize = m_EndOfStreamMarker.length() * 2;
    m_ByteBuffer = new byte [ m_ByteBufferSize ];
    public boolean readEndOfStream()
    return m_EndOfStream;
    * Reads the next byte of data from the input stream. The value byte is
    * returned as an <code>int</code> in the range <code>0</code> to
    * <code>255</code>. If no byte is available because the end of the stream
    * has been reached, the value <code>-1</code> is returned. This method
    * blocks until input data is available, the end of the stream is detected,
    * or an exception is thrown.
    * <p> A subclass must provide an implementation of this method.
    * @return the next byte of data, or <code>-1</code> if the end of the
    * stream is reached.
    * @exception IOException if an I/O error occurs.
    * Please complete the missing tags for read
    * @param
    * @throws
    * @pre
    * @post
    public int read() throws IOException
    if( readEndOfPart() )
    return - 1;
    if( m_BytesProcessed == m_AvailableBytesCount )
    if( DUMPBYTECOUNT )
    m_BytesRead = m_BytesRead + m_BytesProcessed;
    Alert.log( "HttpInputStream.read(): Total Bytes read " + m_BytesRead );
    m_BytesProcessed = 0;
    m_AvailableBytesCount = 0;
    while( m_AvailableBytesCount == 0 )
    // Refill the Byte Buffer from the Servlet Input Stream
    if( DEBUG )
    Alert.log( "HttpInputStream.read(): Attempting to read " + m_ByteBufferSize + " byes from ServletInputStream." );
    int offset = m_PreservedBytes.length;
    // m_ByteBuffer = new byte[m_ByteBufferSize];
    if( BYTEBUFFERDEBUG )
    Alert.log( "HttpInputStream.read(): Buffer Size = " + m_ByteBuffer.length + ". Offset = " + offset + ". Bytes Count = " + ( m_ByteBuffer.length - offset ) );
    int bytesReadFromStream = readLine( m_ByteBuffer, offset, ( m_ByteBuffer.length - offset ) );
    if( DEBUG )
    Alert.log( "HttpInputStream.read(): Bytes Read = " + bytesReadFromStream );
    if( ( bytesReadFromStream == m_EndOfPartMarker.length() ) &#0124; &#0124; ( bytesReadFromStream == m_EndOfStreamMarker.length() ) )
    // Potentially read the EndOfPart or EndOfStream Marker....
    String lineRead = new String( m_ByteBuffer, offset, bytesReadFromStream );
    if( DEBUG )
    Alert.log( "HttpInputStream.read(): Next Line = " + lineRead );
    m_ReadEndOfPart = endOfPart( lineRead );
    if( readEndOfPart() )
    if( DEBUG )
    Alert.log( "HttpInputStream.read(): Detected EndOfPart." );
    return - 1;
    // Copy the Preserved Bytes into the first Bytes of the new Buffer.
    if( DEBUG )
    Alert.log( "HttpInputStream.read(): Restoring " + offset + " preserved Characters." );
    for( int i = 0; i < offset; i++ )
    m_ByteBuffer [ i ] = m_PreservedBytes [ i ];
    m_AvailableBytesCount = bytesReadFromStream + offset;
    if( DEBUG )
    Alert.log( "HttpInputStream.read(): Bytes Available = " + m_AvailableBytesCount );
    // Check if we need to preserve Bytes at the end of the Input Stream
    if( byteBufferEndsWithCRLF() )
    if( DEBUG )
    Alert.log( "HttpInputStream.read(): Preserving Trailing 2 Bytes." );
    m_PreservedBytes = new byte [ 2 ];
    m_PreservedBytes [ 0 ] = m_ByteBuffer [ m_AvailableBytesCount - 2 ];
    m_PreservedBytes [ 1 ] = m_ByteBuffer [ m_AvailableBytesCount - 1 ];
    m_AvailableBytesCount = m_AvailableBytesCount - 2;
    else
    m_PreservedBytes = new byte [ 0 ];
    if( DEBUG )
    Alert.log( "HttpInputStream.read(): ByteBuffer contains " + m_AvailableBytesCount + " bytes." );
    if( BYTEBUFFERDEBUG )
    String line = new String( m_ByteBuffer, 0, m_AvailableBytesCount );
    Alert.log( "HttpInputStream.read(): Byte Buffer Contents = " + line );
    if( DEBUG )
    Alert.log( "HttpInputStream.read(): Buffer Ready - Size = " + m_ByteBuffer.length + ". Buffer Contains " + m_AvailableBytesCount + " Bytes." );
    // Byte Buffer now Available for Processing.
    if( BYTELEVELDEBUG )
    Alert.log( "Reading Byte " + m_BytesProcessed );
    int retVal = m_ByteBuffer [ m_BytesProcessed ];
    retVal = ( retVal < 0 ) ? 256 + retVal: retVal;
    if( BYTELEVELDEBUG )
    Alert.log( "Byte " + m_BytesProcessed + "=" + retVal );
    m_BytesProcessed++;
    return retVal;
    * Reads some number of bytes from the input stream and stores them into
    * the buffer array <code>b</code>. The number of bytes actually read is
    * returned as an integer. This method blocks until input data is
    * available, end of file is detected, or an exception is thrown.
    * <p> If <code>b</code> is <code>null</code>, a
    * <code>NullPointerException</code> is thrown. If the length of
    * <code>b</code> is zero, then no bytes are read and <code>0</code> is
    * returned; otherwise, there is an attempt to read at least one byte. If
    * no byte is available because the stream is at end of file, the value
    * <code>-1</code> is returned; otherwise, at least one byte is read and
    * stored into <code>b</code>.
    * <p> The first byte read is stored into element <code>b[0]</code>, the
    * next one into <code>b[1]</code>, and so on. The number of bytes read is,
    * at most, equal to the length of <code>b</code>. Let <i>k</i> be the
    * number of bytes actually read; these bytes will be stored in elements
    * <code>b[0]</code> through <code>b[</code><i>k</i><code>-1]</code>,
    * leaving elements <code>b[</code><i>k</i><code>]</code> through
    * <code>b[b.length-1]</code> unaffected.
    * <p> If the first byte cannot be read for any reason other than end of
    * file, then an <code>IOException</code> is thrown. In particular, an
    * <code>IOException</code> is thrown if the input stream has been closed.
    * <p> The <code>read(b)</code> method for class <code>InputStream</code>
    * has the same effect as: <pre><code> read(b, 0, b.length) </code></pre>
    * @param b the buffer into which the data is read.
    * @return the total number of bytes read into the buffer, or
    * <code>-1</code> is there is no more data because the end of
    * the stream has been reached.
    * @exception IOException if an I/O error occurs.
    * @ see java.io.InputStream#read(byte[], int, int)
    * Please complete the missing tags for read
    * @throws
    * @pre
    * @post
    public int read( byte [] b ) throws IOException
    if( DEBUG )
    Alert.log( "HttpInputStream.read(byte[] b)." );
    return super.read( b );
    * Reads up to <code>len</code> bytes of data from the input stream into
    * an array of bytes. An attempt is made to read as many as
    * <code>len</code> bytes, but a smaller number may be read, possibly
    * zero. The number of bytes actually read is returned as an integer.
    * <p> This method blocks until input data is available, end of file is
    * detected, or an exception is thrown.
    * <p> If <code>b</code> is <code>null</code>, a
    * <code>NullPointerException</code> is thrown.
    * <p> If <code>off</code> is negative, or <code>len</code> is negative, or
    * <code>off+len</code> is greater than the length of the array
    * <code>b</code>, then an <code>IndexOutOfBoundsException</code> is
    * thrown.
    * <p> If <code>len</code> is zero, then no bytes are read and
    * <code>0</code> is returned; otherwise, there is an attempt to read at
    * least one byte. If no byte is available because the stream is at end of
    * file, the value <code>-1</code> is returned; otherwise, at least one
    * byte is read and stored into <code>b</code>.
    * <p> The first byte read is stored into element <code>b[off]</code>, the
    * next one into <code>b[off+1]</code>, and so on. The number of bytes read
    * is, at most, equal to <code>len</code>. Let <i>k</i> be the number of
    * bytes actually read; these bytes will be stored in elements
    * <code>b[off]</code> through <code>b[off+</code><i>k</i><code>-1]</code>,
    * leaving elements <code>b[off+</code><i>k</i><code>]</code> through
    * <code>b[off+len-1]</code> unaffected.
    * <p> In every case, elements <code>b[0]</code> through
    * <code>b[off]</code> and elements <code>b[off+len]</code> through
    * <code>b[b.length-1]</code> are unaffected.
    * <p> If the first byte cannot be read for any reason other than end of
    * file, then an <code>IOException</code> is thrown. In particular, an
    * <code>IOException</code> is thrown if the input stream has been closed.
    * <p> The <code>read(b,</code> <code>off,</code> <code>len)</code> method
    * for class <code>InputStream</code> simply calls the method
    * <code>read()</code> repeatedly. If the first such call results in an
    * <code>IOException</code>, that exception is returned from the call to
    * the <code>read(b,</code> <code>off,</code> <code>len)</code> method. If
    * any subsequent call to <code>read()</code> results in a
    * <code>IOException</code>, the exception is caught and treated as if it
    * were end of file; the bytes read up to that point are stored into
    * <code>b</code> and the number of bytes read before the exception
    * occurred is returned. Subclasses are encouraged to provide a more
    * efficient implementation of this method.
    * @param b the buffer into which the data is read. * @param off the start offset in array <code>b</code>
    * at which the data is written.
    * @param len the maximum number of bytes to read.
    * @return the total number of bytes read into the buffer, or
    * <code>-1</code> if there is no more data because the end of
    * the stream has been reached.
    * @exception IOException if an I/O error occurs.
    * @see java.io.InputStream#read()
    * Please complete the mi ssing tags for read
    * @throws
    * @pre
    * @post
    public int read( byte [] b, int off, int len ) throws IOException
    if( DEBUG )
    Alert.log( "HttpInputStream.read(byte[] b,int off,int len): Buffer Size = " + len );
    int byteCount = super.read( b, off, len );
    if( DEBUG )
    Alert.log( "HttpInputStream.read(byte[] b,int off,int len): BytesRead = " + byteCount );
    return byteCount;
    * Skips over and discards <code>n</code> bytes of data from this input
    * stream. The <code>skip</code> method may, for a variety of reasons, end
    * up skipping over some smaller number of bytes, possibly <code>0</code>.
    * This may result from any of a number of conditions; reaching end of file
    * before <code>n</code> bytes have been skipped is only one possibility.
    * The actual number of bytes skipped is returned. If <code>n</code> is
    * negative, no bytes are skipped.
    * <p> The <code>skip</code> method of <code>InputStream</code> creates a
    * byte array and then repeatedly reads into it until <code>n</code> bytes
    * have been read or the end of the stream has been reached. Subclasses are
    * encouraged to provide a more efficient implementation of this method.
    * @param n the number of bytes to be skipped.
    * @return the actual number of bytes skipped.
    * @exception IOException if an I/O error occurs.
    * Please complete the missing tags for skip
    * @throws
    * @pre
    * @post
    public long skip( long n ) throws IOException
    if( DEBUG )
    Alert.log( "HttpInputStream.read(byte[] b,int off,int len)." );
    return super.skip( n );
    * Returns the number of bytes that can be read (or skipped over) from
    * this input stream without blocking by the next caller of a method for
    * this input stream. The next caller might be the same thread or or
    * another thread.
    * <p> The <code>available</code> method for class <code>InputStream</code>
    * always returns <code>0</code>.
    * <p> This method should be overridden by subclasses.
    * @return the number of bytes that can be read from this input stream
    * without blocking.
    * @exception IOException if an I/O error occurs.
    * Please complete the missing tags for available
    * @param
    * @throws
    * @pre
    * @post
    public int available() throws IOException
    if( DEBUG )
    Alert.log( "HttpInputStream.available()." );
    return 0;
    * Closes this input stream and releases any system resources associated
    * with the stream.
    * <p> The <code>close</code> method of <code>InputStream</code> does
    * nothing.
    * @exception IOException if an I/O error occurs.
    * Please complete the missing tags for close
    * @param
    * @return
    * @throws
    * @pre
    * @post
    public void close() throws IOException
    if( DEBUG )
    Alert.log( "HttpInputStream.close()." );
    if( ! readEndOfPart() )
    if( DEBUG )
    Alert.log( "HttpInputStream.close(): Skipping rest of Part." );
    // Read Until the End of Part is Detected.
    readToEndOfPart();
    * Marks the current position in this input stream. A subsequent call to
    * the <code>reset</code> method repositions this stream at the last marked
    * position so that subsequent reads re-read the same bytes.
    * <p> The <code>readlimit</code> arguments tells this input stream to
    * allow that many bytes to be read before the mark position gets
    * invalidated.
    * <p> The general contract of <code>mark</code> is that, if the method
    * <code>markSupported</code> returns <code>true</code>, the stream somehow
    * remembers all the bytes read after the call to <code>mark</code> and
    * stands ready to supply those same bytes again if and whenever the method
    * <code>reset</code> is called. However, the stream is not required to
    * remembe r any data at all if more than <code>readlimit</code> bytes are
    * read from the stream before <code>reset</code> is called.
    * <p> The <code>mark</code> method of <code>InputStream</code> does
    * nothing.
    * @param readlimit the maximum limit of bytes that can be read before
    * the mark position becomes invalid.
    * @see java.io.InputStream#reset()
    * Please complete the missing tags for mark
    * @return
    * @throws
    * @pre
    * @post
    public synchronized void mark( int readlimit )
    if( DEBUG )
    Alert.log( "HttpInputStream.mark(int readlimit)." );
    super.mark( readlimit );
    * Repositions this stream to the position at the time the
    * <code>mark</code> method was last called on this input stream.
    * <p> The general contract of <code>reset</code> is:
    * <p><ul>
    * <li> If the method <code>markSupported</code> returns
    * <code>true</code>, then:
    * <ul><li> If the method <code>mark</code> has not been called since
    * the stream was created, or the number of bytes read from the stream
    * since <code>mark</code> was last called is larger than the argument
    * to <code>mark</code> at that last call, then an
    * <code>IOException</code> might be thrown.
    * <li> If such an <code>IOException</code> is not thrown, then the
    * stream is reset to a state such that all the bytes read since the
    * most recent call to <code>mark</code> (or since the start of the
    * file, if <code>mark</code> has not been called) will be resupplied
    * to subsequent callers of the <code>read</code> method, followed by
    * any bytes that otherwise would have been the next input data as of
    * the time of the call to <code>reset</code>. </ul>
    * <li> If the method <code>markSupported</code> returns
    * <code>false</code>, then:
    * <ul><li> The call to <code>reset</code> may throw an
    * <code>IOException</code>.
    * <li> If an <code>IOException</code> is not thrown, then the stream
    * is reset to a fixed state that depends on the particular type of the
    * input stream and how it was created. The bytes that will be supplied
    * to subsequent callers of the <code>read</code> method depend on the
    * particular type of the input stream. </ul></ul>
    * <p> The method <code>reset</code> for class <code>InputStream</code>
    * does nothing and always throws an <code>IOException</code>.
    * @exception IOException if this stream has not been marked or if the
    * mark has been invalidated.
    * @see java.io.InputStream#mark(int)
    * @see java.io.IOException
    * Please complete the missing tags for reset
    * @param
    * @return
    * @throws
    * @pre
    * @post
    public synchronized void reset() throws IOException
    if( DEBUG )
    Alert.log( "HttpInputStream.reset()." );
    super.reset();
    * Tests if this input stream supports the <code>mark</code> and
    * <code>reset</code> methods. The <code>markSupported</code> method of
    * <code>InputStream</code> returns <code>false</code>.
    * @return <code>true</code> if this true type supports the mark and reset
    * method; <code>false</code> otherwise.
    * @see java.io.InputStream#mark(int)
    * @see java.io.InputStream#reset()
    * Please complete the missing tags for markSupported
    * @param
    * @throws
    * @pre
    * @post
    public boolean markSupported()
    if( DEBUG )
    Alert.log( "HttpInputStream.markSupported()." );
    return false;
    * Please complete the missing tags for readEndOfPart
    * @param
    * @return
    * @throws
    * @pre
    * @post
    private boolean readEndOfPart()
    return m_ReadEnd OfPart;
    * Please complete the missing tags for byteBufferEndsWithCRLF
    * @param
    * @return
    * @throws
    * @pre
    * @post
    private boolean byteBufferEndsWithCRLF()
    if( m_AvailableBytesCount > 1 )
    byte rbyte = m_ByteBuffer [ m_AvailableBytesCount - 2 ];
    byte nbyte = m_ByteBuffer [ m_AvailableBytesCount - 1 ];
    return( ( rbyte == '\r' ) && ( nbyte == '\n' ) );
    else
    return false;
    * Please complete the missing tags for readLine
    * @param
    * @return
    * @throws
    * @pre
    * @post
    private int readLine( byte [] buf, int offset, int len )
    throws IOException
    // Replace Buggy ReadLine in ServletInputStream...
    int nextByte;
    for( nextByte = offset; nextByte < buf.length; nextByte++ )
    int next = m_InputStream.read();
    if( next < 0 )
    // No More Bytes to Read -- Bytes Read is last Byte Filled - 1;
    // Will return -1 if no characters are read.
    nextByte--;
    break;
    buf [ nextByte ] = ( next < 128 ) ? ( byte ) next: ( byte ) ( next - 256 );
    if( buf [ nextByte ] == '\n' )
    // Hit LF -- Bytes Read is last Byte Filled + 1;
    nextByte++;
    break;
    // If we get here without a 'Break' then we filled the Buffer.
    // nextByte was incremented by the 'for' statement prior to exiting the Loop.
    return nextByte - offset;
    * Please complete the missing tags for endOfPart
    * @param
    * @return
    * @throws
    * @pre
    * @post
    protected boolean endOfPart( String line )
    // Check if the Line starts with the defined Multi-Part Boundary
    if( line.equals( m_EndOfPartMarker ) )
    return true;
    else
    if( line.equals( m_EndOfStreamMarker ) )
    m_EndOfStream = true;
    return true;
    return false;
    * Please complete the missing tags for readToEndOfPart
    * @param
    * @return
    * @throws
    * @pre
    * @post
    protected void readToEndOfPart()
    throws IOException
    for( String nextLine = getLineAsString( m_InputStream );
    ! endOfPart( nextLine );
    nextLine = getLineAsString( m_InputStream ) )
    * Please complete the missing tags for getLineAsString
    * @param
    * @return
    * @throws
    * @pre
    * @post
    protected static String getLineAsString( ServletInputStream sis )
    throws IOException
    String line = "";
    byte [] bytes = new byte [ 8 * 1024 ];
    int bytesRead = 0;
    for( bytesRead = sis.readLine( bytes, 0, bytes.length );
    bytesRead == bytes.length;
    bytesRead = sis.readLine( bytes, 0, bytes.length ) )
    line = line + new String( bytes, 0, bytesRead );
    line = line + new String( bytes, 0, bytesRead );
    return line;
    }

    Revised HttpUploadHtml
    =======================
    // $Header$
    // Copyright (c) 2000 Oracle Corporation
    package ifs.pm.examples.webUI;
    import oracle.ifs.common.IfsException;
    import oracle.ifs.utils.common.LocaleUtilities;
    import oracle.ifs.utils.common.CharacterSet;
    import oracle.ifs.utils.common.Language;
    import oracle.ifs.beans.ClassObject;
    import oracle.ifs.beans.AccessControlList;
    import oracle.ifs.beans.SystemAccessControlList;
    import oracle.ifs.beans.ClassAccessControlList;
    import oracle.ifs.common.AttributeValue;
    import oracle.ifs.adk.http.HttpUtils;
    import ifs.pm.common.trace.Alert;
    import ifs.pm.common.renderer.RendererUtilities;
    import oracle.ifs.beans.LibraryObject;
    import oracle.ifs.beans.PublicObject;
    import oracle.ifs.beans.Document;
    import oracle.ifs.beans.ContentObject;
    import javax.servlet.http.HttpServletRequest;
    import oracle.ifs.common.Collection;
    * A Class class.
    * <P>
    * @author Mark D. Drake
    * Please complete these missing tags
    * @rref
    * @copyright
    * @concurrency
    * @see
    public class HttpUploadHtml extends Object
    public static final boolean DEBUG = false;
    public static final String CHECKFILENAME_SCRIPT = "validateFileName";
    public static final String SAVEATTRIBUTES_SCRIPT = "saveAttributeValues";
    public static final String CLOSEUPLOAD_SCRIPT = "closeUploadForm";
    public static final String SELECTCONTENTTYPE_FORM = "SelectClassObject";
    public static final String EDITATTRIBUTES_FORM = "EditAttributes";
    * Please complete the missing tags for getEnterFilenameAlert
    * @param
    * @return
    * @throws
    * @pre
    * @post
    protected String getEnterFilenameAlert()
    return "Please enter / select a File before selecting 'Upload'.";
    * Please complete the missing tags for getEnterPathAlert
    * @param
    * @return
    * @throws
    * @pre
    * @post
    protected String getEnterPathAlert()
    return "Please enter a Path before selecting 'Upload'.";
    * Please complete the missing tags for getSubClassList
    * @param
    * @return
    * @throws
    * @pre
    * @post
    protected String getSubClassList( ClassObject rootClassObject, ClassObject selected )
    throws IfsException
    return generateObjectListEntryHtml( rootClassObject, selected );
    * Constructor
    * Please complete the missing tags for generateFileUploadDialog
    * @param
    * @return
    * @throws
    * @pre
    * @post
    // ------------------- File Upload Dialog --------------------- //
    protected String generateFileUploadDialog( HttpServletRequest request, HttpUploadBean bean )
    throws IfsException
    return generateCheckFilenameAlert( bean ) +
    generateCloseUploadScript( HttpUtils.getURLFromIfsPath( request, bean.getTargetPath() ) ) +
    "<FORM NAME=\"" + bean.UPLOADFILE + "\"" + "\r\n" +
    " ENCTYPE=\"multipart/form-data\"" + "\r\n" +
    " ACTION=\"" + bean.getJspPath() + "\"" + "\r\n" +
    " METHOD=\"Post\">" + "\r\n" +
    "<INPUT NAME=\"" + bean.STAGE + "\"" + "\r\n" +
    " TYPE=\"hidden\"" + "\r\n" +
    " Value=\"" + bean.UPLOADFILE + "\">" + "\r\n" +
    generatePathInputHtml( HttpUtils.PATH_PARAMETER, bean.getTargetPath() ) + "\r\n" +
    generateFileInputHtml( bean.SOURCE ) + "\r\n" +
    generateDescriptionHtml( PublicObject.DESCRIPTION_ATTRIBUTE, bean.getDescription() ) + "\r\n" +
    generateAclSelectorHtml( bean.getTargetAcl() ) + "\r\n" +
    generateLanguageSelectorHtml( bean.getLanguage() ) + "\r\n" +
    generateCharsetSelectorHtml( bean.getCharacterSet() ) + "\r\n" +
    "<BR>" + "\r\n" +
    "<INPUT NAME=\"" + bean.ACTION + "\"" + "\r\n" +
    " VALUE=\"" + bean.UPLOAD + "\"" + "\r\n" +
    " TYPE=\"Button\"" + "\r\n" +
    " onClick=\"" + CHECKFILENAME_SCRIPT + "();\">" + "\r\n" +
    "<INPUT NAME=\"" + bean.ACTION + "\"" + "\r\n" +
    " VALUE=\"" + bean.CANCEL + "\"" + "\r\n" +
    " TYPE=\"Button\"" + "\r\n" +
    " onClick=\"" + CLOSEUPLOAD_SCRIPT + "()\">" + "\r\n" +
    "</FORM>" + "\r\n";
    * Please complete the missing tags for generatePathDialog
    * @param
    * @return
    * @throws
    * @pre
    * @post
    protected String generatePathDialog( HttpServletRequest request, HttpUploadBean bean )
    throws IfsException
    return generateCheckPathAlert( bean ) +
    "<FORM NAME=\"" + bean.UPLOADFILE + "\"" + "\r\n" +
    " ACTION=\"" + bean.getJspPath() + "\"" + "\r\n" +
    " METHOD=\"Post\">" + "\r\n" +
    "<INPUT NAME=\"" + bean.STAGE + "\"" + "\r\n" +
    " TYPE=\"hidden\"" + "\r\n" +
    " Value=\"" + bean.SELECTTARGETFOLDER + "\">" + "\r\n" +
    "<INPUT NAME=\"" + bean.METHOD + "\"" + "\r\n" +
    " TYPE=\"hidden\"" + "\r\n" +
    " Value=\"" + bean.getMethod() + "\">" + "\r\n" +
    "<INPUT NAME=\"" + bean.TEMPORARYOBJECTID + "\"" + "\r\n" +
    " TYPE=\"hidden\"" + "\r\n" +
    " Value=\"" + bean.getTemporaryObjectId() + "\">" + "\r\n" +
    "<INPUT NAME=\"" + bean.SOURCE + "\"" + "\r\n" +
    " TYPE=\"hidden\"" + "\r\n" +
    " Value=\"" + bean.getSourceFileName() + "\">" + "\r\n" +
    generatePathInputHtml( HttpUtils.PATH_PARAMETER, bean.getTargetPath() ) + "\r\n" +
    generateFileDisplayHtml( bean.getSourceFileName() ) + "\r\n" +
    generateDescriptionHtml( PublicObject.DESCRIPTION_ATTRIBUTE, bean.getDescription() ) + "\r\n" +
    generateAclSelectorHtml( bean.getTargetAcl() ) + "\r\n" +
    generateLanguageSelectorHtml( bean.getLanguage() ) + "\r\n" +
    generateCharsetSelectorHtml( bean.getCharacterSet() ) + "\r\n" +
    "<BR>" + "\r\n" +
    "<INPUT NAME=\"" + bean.ACTION + "\"" + "\r\n" +
    " VALUE=\"" + bean.UPLOAD + "\"" + "\r\n" +
    " TYPE=\"Button\"" + "\r\n" +
    " onClick=\"" + CHECKFILENAME_SCRIPT + "();\">" + "\r\n" +
    "<INPUT NAME=\"" + bean.ACTION + "\"" + "\r\n" +
    " VALUE=\"" + bean.CANCEL + "\"" + "\r\n" +
    " TYPE=\"Button\">" + "\r\n" +
    "</FORM>" + "\r\n" +
    "<SCRIPT Language=\"Javascript\">" + "\r\n" +
    " alert(\"" + bean.getErrorMessage() + "\");" + "\r\n" +
    "</SCRIPT>";
    * Please complete the missing tags for generateCheckFilenameAlert
    * @param
    * @return
    * @throws
    * @pre
    * @post
    protected String generateCheckFilenameAlert( HttpUploadBean bean )
    return "<script language=\"javascript\">" + "\r\n" +
    " function " + CHECKFILENAME_SCRIPT + "()" + "\r\n" +
    " {" + "\r\n" +
    " if (document." + bean.UPLOADFILE + "." + bean.SOURCE + ".value == \"\")" + "\r\n" +
    " {" + "\r\n" +
    " alert(\"" + getEnterFilenameAlert() + "\");" + "\r\n" +
    " }" + "\r\n" +
    " else" + "\r\n" +
    " {" + "\r\n" +
    " if (document." + bean.UPLOADFILE + "." + HttpUtils.PATH_PARAMETER + ".value == \"\")" + "\r\n" +
    " {" + "\r\n" +
    " alert(\"" + getEnterPathAlert() + "\");" + "\r\n" +
    " }" + "\r\n" +
    " else" + "\r\n" +
    " {" + "\r\n" +
    " document." + bean.UPLOADFILE + ".submit();" + "\r\n" +
    " }" + "\r\n" +
    " }" + "\r\n" +
    " }" + "\r\n" +
    "</script>" + "\r\n";
    * Please complete the missing tags for generateCheckPathAlert
    * @param
    * @return
    * @throws
    * @pre
    * @post
    protected String generateCheckPathAlert( HttpUploadBean bean )
    return "<script language=\"javascript\">" + "\r\n" +
    " function " + CHECKFILENAME_SCRIPT + "()" + "\r\n" +
    " {" + "\r\n" +
    " if (document." + bean.UPLOADFILE + "." + HttpUtils.PATH_PARAMETER + ".value == \"\")" + "\r\n" +
    " {" + "\r\n" +
    " alert(\"" + getEnterPathAlert() + "\");" + "\r\n" +
    " }" + "\r\n" +
    " else" + "\r\n" +
    " {" + "\r\n" +
    " document." + bean.UPLOADFILE + ".submit();" + "\r\n" +
    " }" + "\r\n" +
    " }" + "\r\n" +
    "</script>" + "\r\n";
    * Please complete the missing tags for generateCloseUploadScript
    * @param
    * @return
    * @throws
    * @pre
    * @post
    protected String generateCloseUploadScript( String path )
    return "<script language=\"javascript\">" + "\r\n" +
    " function " + CLOSEUPLOAD_SCRIPT + "()" + "\r\n" +
    " {" + "\r\n" +
    " parent.frames.body.location=\"../jsps/container.jsp?path=" + path + "\"" + "\r\n" +
    " }" + "\r\n" +
    "</script>" + "\r\n";
    * Please complete the missing tags for generatePathInputHtml
    * @param
    * @return
    * @throws
    * @pre
    * @post
    p rotected String generatePathInputHtml( String name, String value )
    String inputField = "<INPUT NAME=\"" + name + "\"" + "\r\n" +
    " TYPE=\"text\"" + "\r\n" +
    " Value=\"" + value + "\"" + "\r\n" +
    " SIZE=56" + "\r\n" +
    " maxchars = 500>" + "\r\n";
    return generateTableHtml( "Path", inputField );
    * Please complete the missing tags for generateFileInputHtml
    * @param
    * @return
    * @throws
    * @pre
    * @post
    protected String generateFileInputHtml( String name )
    String inputField = "<INPUT NAME=\"" + name + "\"" + "\r\n" +
    " TYPE=\"file\"" + "\r\n" +
    " ENCTYPE=\"multipart/form-data\"" + "\r\n" +
    " SIZE=56" + "\r\n" +
    " maxchars = 500>" + "\r\n";
    return generateTableHtml( "File", inputField );
    * Please complete the missing tags for generateEditAttributesDialog
    * @param
    * @return
    * @throws
    * @pre
    * @post
    // ------------------- Edit Attributes Dialog --------------------- //
    protected String generateEditAttributesDialog( HttpServletRequest request, HttpUploadBean bean )
    throws IfsException
    String html = generatePathDisplayHtml( bean.getTargetPath() ) + "\r\n" +
    generateFileDisplayHtml( bean.getSourceFileName() ) + "\r\n" +
    generateCloseUploadScript( HttpUtils.getURLFromIfsPath( request, bean.getTargetPath() ) );
    if( ! bean.createdViaParser() )
    html = html + generateClassSelectionDialog( bean ) + "\r\n";
    else
    html = html + generateContentTypeDisplayHtml( bean ) + "\r\n";
    html = html + generateAttributesDialog( bean );
    return html;
    * Please complete the missing tags for generatePathDisplayHtml
    * @param
    * @return
    * @throws
    * @pre
    * @post
    protected String generatePathDisplayHtml( String name )
    return generateTableHtml( "Path", "<B>" + name + "</B>" );
    * Please complete the missing tags for generateFileDisplayHtml
    * @param
    * @return
    * @throws
    * @pre
    * @post
    protected String generateFileDisplayHtml( String name )
    return generateTableHtml( "File", "<B>" + name + "</B>" );
    * Please complete the missing tags for generateClassSelectionDialog
    * @param
    * @return
    * @throws
    * @pre
    * @post
    // ------------------------ Class Selection Dialog -------------------------//
    protected String generateClassSelectionDialog( HttpUploadBean bean )
    throws IfsException
    return generateSaveAttributesScript() +
    "<FORM NAME=\"" + SELECTCONTENTTYPE_FORM + "\"" + "\r\n" +
    " ACTION=\"" + bean.getJspPath() + "\"" + "\r\n" +
    " METHOD=\"Post\">" + "\r\n" +
    generateHiddenFieldHtml( bean ) +
    "<INPUT NAME=\"" + PublicObject.DESCRIPTION_ATTRIBUTE + "\"" + "\r\n" +
    " TYPE=\"hidden\"" + "\r\n" +
    " Value=\"" + bean.getDescription() + "\">" + "\r\n" +
    "<INPUT NAME=\"" + Document.ACL_ATTRIBUTE + "\"" + "\r\n" +
    " TYPE=\"hidden\"" + "\r\n" +
    " Value=\"" + bean.getAccessControlListId() + "\">" + "\r\n" +
    "<INPUT NAME=\"" + ContentObject.LANGUAGE_ATTRIBUTE + "\"" + "\r\n" +
    " TYPE=\"hidden\"" + "\r\n" +
    " Value=\"" + bean.getLanguage() + "\">" + "\r\n" +
    "<INPUT NAME=\"" + ContentObject.CHARACTERSET_ATTRIBUTE + "\"" + "\r\n" +
    " TYPE=\"hidden\"" + "\r\n" +
    " Value=\"" + bean.getCharacterSet() + "\">" + "\r\n" +
    "<INPUT NAME=\"" + bean.STAGE + "\"" + "\r\n" +
    " TYPE=\"hidden\"" + "\r\n" +
    " Value=\"" + bean.SELECTCONTENTTYPE + "\">" + "\r\n" +
    "<INPUT NAME=\"" + bean.ACTION + "\"" + "\r\n" +
    " TYPE=\"hidden\"" + "\r\n" +
    " Value=\"" + bean.SELECTCONTENTTYPE + "\">" + "\r\n" +
    "<BR>" + "\r\n" +
    generateContentTypeSelectorHtml( bean.CONTENTTYPELIST, bean.getUploadedObject().getClassObject(), bean.getTargetContentType() ) + "\r\n" +
    "<BR>" + "\r\n" +
    "</FORM>" + "\r\n";
    * Please complete the missing tags for generateSaveAttributesScript
    * @param
    * @return
    * @throws
    * @pre
    * @post
    protected String generateSaveAttributesScript()
    return "<script language=\"javascript\">" + "\r\n" +
    " function " + SAVEATTRIBUTES_SCRIPT + "()" + "\r\n" +
    " {" + "\r\n" +
    " document." + SELECTCONTENTTYPE_FORM + "." + PublicObject.DESCRIPTION_ATTRIBUTE + ".value = document." + EDITATTRIBUTES_FORM + "." + PublicObject.DESCRIPTION_ATTRIBUTE + ".value;" + "\r\n" +
    " document." + SELECTCONTENTTYPE_FORM + "." + PublicObject.ACL_ATTRIBUTE + ".value = document." + EDITATTRIBUTES_FORM + "." + PublicObject.ACL_ATTRIBUTE + ".value;" + "\r\n" +
    " document." + SELECTCONTENTTYPE_FORM + "." + ContentObject.CHARACTERSET_ATTRIBUTE + ".value = document." + EDITATTRIBUTES_FORM + "." + ContentObject.CHARACTERSET_ATTRIBUTE + ".value;" + "\r\n" +
    " document." + SELECTCONTENTTYPE_FORM + "." + ContentObject.LANGUAGE_ATTRIBUTE + ".value = document." + EDITATTRIBUTES_FORM + "." + ContentObject.LANGUAGE_ATTRIBUTE + ".value;" + "\r\n" +
    " document." + SELECTCONTENTTYPE_FORM + ".submit();" + "\r\n" +
    " }" + "\r\n" +
    "</script>" + "\r\n";
    * Please complete the missing tags for generateContentTypeSelectorHtml
    * @param
    * @return
    * @throws
    * @pre
    * @post
    // ------------------- Content Type Selector --------------------- //
    protected String generateContentTypeSelectorHtml( String name, ClassObject rootClassObject, ClassObject selected )
    throws IfsException
    String inputField = "<SELECT NAME=\"" + name + "\"" + "\r\n" +
    " onChange=\"" + SAVEATTRIBUTES_SCRIPT + "()\">" + "\r\n" +
    getSubClassList( rootClassObject, selected ) + "\r\n" +
    "</SELECT>";
    return generateTableHtml( "Content Type", inputField );
    * Please complete the missing tags for generateObjectListEntryHtml
    * @param
    * @return
    * @throws
    * @pre
    * @post
    protected String generateObjectListEntryHtml( ClassObject co, ClassObject selected )
    throws IfsException
    String retVal = null;
    if( co.equals( selected ) )
    retVal = "<option value=\"" + co.getName() + "\" selected>" + co.getName() + "</option>\"";
    else
    retVal = "<option value=\"" + co.getName() + "\">" + co.getName() + "</option>\"";
    ClassObject [] subclasses = co.getDirectSubclasses();
    if( co != null )
    for( int i = 0; i < subclasses.length; i++ )
    retVal = retVal + "\n" + generateObjectListEntryHtml( subclasses [ i ], selected );
    return retVal;
    * Please complete the missing tags for generateContentTypeDisplayHtml
    * @param
    * @return
    * @throws
    * @pre
    * @post
    protected String generateContentTypeDisplayHtml( HttpUploadBean bean )
    throws IfsException
    return generateTableHtml( "Content Type", "<B>" + bean.getTargetContentType() + "</B>" );
    * Please complete the missing tags for generateAttributesDialog
    * @param
    * @return
    * @throws
    * @pre
    * @post
    // ------------------------ Edit Attributes Dialog -----------------------//
    protected String generateAttributesDialog( HttpUploadBean bean )
    throws IfsException
    return "<FORM NAME=\"" + EDITATTRIBUTES_FORM + "\"" + "\r\n" +
    " ACTION=\"" + bean.getJspPath() + "\"" + "\r\n" +
    " METHOD=\"Post\">" + "\r\n" +
    generateHiddenFieldHtml( bean ) +
    "<INPUT NAME=\"" + bean.STAGE + "\"" + "\r\n" +
    " TYPE=\"hidden\"" + "\r\n" +
    " Value=\"" + bean.EDITATTRIBUTES + "\">" + "\r\n" +
    "<INPUT NAME=\"" + bean.CONTENTTYPELIST + "\"" + "\r\n" +
    " TYPE=\"hidden\"" + "\r\n" +
    " Value=\"" + bean.getTargetContentType() + "\">" + "\r\n" +
    generateDescriptionHtml( PublicObject.DESCRIPTION_ATTRIBUTE, bean.getDescription() ) + "\r\n" +
    generateAclSelectorHtml( bean.getTargetAcl() ) + "\r\n" +
    generateLanguageSelectorHtml( bean.getLanguage() ) + "\r\n" +
    generateCharsetSelectorHtml( bean.getCharacterSet() ) + "\r\n" +
    "<BR>" + "\r\n" +
    bean.generateEditableAttributesHtml() + "\r\n" +
    generateActionButtonHtml( bean ) + "\r\n" +
    "</FORM>" + "\r\n";
    * Please complete the missing tags for generateHiddenFieldHtml
    * @param
    * @return
    * @throws
    * @pre
    * @post
    protected String genera teHiddenFieldHtml( HttpUploadBean bean )
    throws IfsException
    return "<INPUT NAME=\"" + bean.TEMPORARYOBJECTID + "\"" + "\r\n" +
    " TYPE=\"hidden\"" + "\r\n" +
    " Value=\"" + bean.getTemporaryObjectId() + "\">" + "\r\n" +
    "<INPUT NAME=\"" + bean.FOLDEREDOBJECTID + "\"" + "\r\n" +
    " TYPE=\"hidden\"" + "\r\n" +
    " Value=\"" + bean.getFolderedObjectId() + "\">" + "\r\n" +
    "<INPUT NAME=\"" + bean.METHOD + "\"" + "\r\n" +
    " TYPE=\"hidden\"" + "\r\n" +
    " Value=\"" + bean.getMethod() + "\">" + "\r\n" +
    "<INPUT NAME=\"" + HttpUtils.PATH_PARAMETER + "\"" + "\r\n" +
    " TYPE=\"hidden\"" + "\r\n" +
    " Value=\"" + bean.getTargetPath() + "\">" + "\r\n" +
    "<INPUT NAME=\"" + bean.SOURCE + "\"" + "\r\n" +
    " TYPE=\"hidden\"" + "\r\n" +
    " Value=\"" + bean.getSourceFileName() + "\">" + "\r\n";
    * Please complete the missing tags for generateDescriptionHtml
    * @param
    * @return
    * @throws
    * @pre
    * @post
    protected String generateDescriptionHtml( String name, String value )
    String inputField = "<INPUT NAME=\"" + name + "\"" + "\r\n" +
    " TYPE=\"text\"" + "\r\n" +
    " Value=\"" + value + "\"" + "\r\n" +
    " SIZE=56" + "\r\n" +
    " maxchars = 500>" + "\r\n";
    return generateTableHtml( "Description", inputField );
    * Please complete the missing tags for generateAclSelectorHtml
    * @param
    * @return
    * @throws
    * @pre
    * @post
    // ------------------------- ACL Selector -------------------------- //
    protected String generateAclSelectorHtml( AccessControlList selected )
    throws IfsException
    String inputField = "<SELECT NAME=\"" + PublicObject.ACL_ATTRIBUTE + "\">" + "\r\n" +
    generateAclListHtml( selected ) + "\r\n" +
    "</SELECT>";
    return generateTableHtml( "Access Control List", inputField );
    * Please complete the missing tags for generateAclListHtml
    * @param
    * @return
    * @throws
    * @pre
    * @post
    protected String generateAclListHtml( AccessControlList selected )
    throws IfsException
    String html = "";
    Collection c = selected.getSession().getSystemAccessControlListCollection();
    for( int i = 0; i < c.getItemCount(); i++ )
    AccessControlList acl = ( AccessControlList ) c.getItems( i );
    html = html + generateAclListEntryHtml( acl, selected ) + "\r\n";
    c = selected.getSession().getClassObjectCollection();
    ClassObject systemAclClassObject = ( ClassObject ) c.getItems( SystemAccessControlList.CLASS_NAME );
    ClassObject classAclClassObject = ( ClassObject ) c.getItems( ClassAccessControlList.CLASS_NAME );
    c = selected.getSession().getSharedAccessControlListCollection();
    for( int i = 0; i < c.getItemCount(); i++ )
    AccessControlList acl = ( AccessControlList ) c.getItems( i );
    if( ( ! acl.isInstanceOf( systemAclClassObject ) ) && ( ! acl.isInstanceOf( classAclClassObject ) ) )
    String ownerName = acl.getOwner().getName();
    html = html + generateAclListEntryHtml( acl, selected ) + "\r\n";
    return html;
    * Please complete the missing tags for generateAclListEntryHtml
    * @param
    * @return
    * @throws
    * @pre
    * @post
    protected String generateAclListEntryHtml( AccessControlList acl, AccessControlList selected )
    throws IfsException
    String retVal = null;
    String ownerName = acl.getOwner().getName();
    String aclName = acl.getName() + " (" + ownerName + ")";
    if( acl.equals( selected ) )
    retVal = "<option value=\"" + acl.getId() + "\" selected>" + aclName + "</option>\"";
    else
    retVal = "<option value=\"" + acl.getId() + "\">" + aclName + "</option>\"";
    return retVal;
    * Please complete the missing tags for generateLanguageSelectorHtml
    * @param
    * @return
    * @throws
    * @pre
    * @post
    // ------------------------- Language Selector -------------------------- //
    protected String generateLanguageSelectorHtml( String selected )
    throws IfsException
    String inputField = "<SELECT NAME=\"" + ContentObject.LANGUAGE_ATTRIBUTE + "\">" + "\r\n" +
    generateLanguageListHtml( selected ) + "\r\n" +
    "</SELECT>";
    return generateTableHtml( "Language", inputField );
    * Please complete the missing tags for generateLanguageListHtml
    * @param
    * @return
    * @throws
    * @pre
    * @post
    protected String generateLanguageListHtml( String selected )
    throws IfsException
    String html = "";
    Language [] langs = LocaleUtilities.getAllLanguages();
    for( int i = 0; i < langs.length; i++ )
    html = html + generateLanguageListEntryHtml( langs [ i ], selected ) + "\r\n";
    return html;
    * Please complete the missing tags for generateLanguageListEntryHtml
    * @param
    * @return
    * @throws
    * @pre
    * @post
    protected String generateLanguageListEntryHtml( Language lang, String selected )
    throws IfsException
    if( lang.getLanguage().equalsIgnoreCase( selected ) )
    return "<option value=\"" + lang.getLanguageCode() + "\" selected>" + lang.getLanguageDisplayName() + "</option>\"";
    else
    return "<option value=\"" + lang.getLanguage() + "\">" + lang.getLanguageDisplayName() + "</option>\"";
    * Please complete the missing tags for generateCharsetSelectorHtml
    * @param
    * @return
    * @throws
    * @pre
    * @post
    // ------------------------- Character Set Selector -------------------------- //
    protected String generateCharsetSelectorHtml( String selected )
    throws IfsException
    String inputField = "<SELECT NAME=\"" + ContentObject.CHARACTERSET_ATTRIBUTE + "\">" + "\r\n" +
    generateCharsetListHtml( selected ) + "\r\n" +
    "</SELECT>";
    return generateTableHtml( "Character Set", inputField );
    * Please complete the missing tags for generateCharsetListHtml
    * @param
    * @return
    * @throws
    * @pre
    * @post
    protected String generateCharsetListHtml( String selected )
    throws IfsException
    String html = "<option value=\"" + HttpUploadBean.NOTSPECIFIED + "\" selected>" + "<Not Specified>" + "</option>\"";
    CharacterSet [] charsets = LocaleUtilities.getAllCharacterSets();
    for( int i = 0; i < charsets.length; i++ )
    html = html + generateCharsetListEntryHtml( charsets [ i ], selected ) + "\r\n";
    return html;
    * Please complete the missing tags for generateCharsetListEntryHtml
    * @param
    * @return
    * @throws
    * @pre
    * @post
    protected String generateCharsetListEntryHtml( CharacterSet charset, String selected )
    throws IfsException
    if( charset.getDisplayName().equalsIgnoreCase( selected ) )
    return "<option value=\"" + charset.getIANACodeName().toUpperCase() + "\" selected>" + charset.getDisplayName() + "</option>\"";
    else
    return "<option value=\"" + charset.getDisplayName().toUpperCase() + "\">" + charset.getDisplayName() + "</option>\"";
    * Please complete the missing tags for generateTableHtml
    * @param
    * @return
    * @throws
    * @pre
    * @post
    // ------------------------ Table Generator --------------------------------//
    protected static String generateTableHtml( String caption, String value )
    return "<table width=\"100%\" border=\"1\">" + "\r\n" +
    generateTableRowHtml( caption, value ) +
    "</table>" + "\r\n";
    * Please complete the missing tags for generateTableRowHtml
    * @param
    * @return
    * @throws
    * @pre
    * @post
    protected static String generateTableRowHtml( String caption, String value )
    return " <tr>" + "\r\n" +
    " <td width=\"30%\"><B>" + caption + "</B></td>" + "\r\n" +
    " <td width=\"70%\">" + "\r\n" +
    value + "\r\n" +
    " </td>" + "\r\n" +
    " </tr>" + "\r\n";
    * Please complete the missing tags for generateCloseWindowDialog
    * @param
    * @return
    * @throws
    * @pre
    * @post
    // ------------------------- Close Window Dialog ------------------------//
    protected String generateCloseWindowDialog( HttpServletRequest request, HttpUploadBean bean )
    return "<script language=\"javascr ipt\">" + "\r\n" +
    " parent.frames.body.location=\"../jsps/container.jsp?path=" + HttpUtils.getURLFromIfsPath( request, bean.getTargetPath() ) + "\"" + "\r\n" +
    "</script>" + "\r\n";
    * Please complete the missing tags for generateExceptionDialog
    * @param
    * @return
    * @throws
    * @pre
    * @post
    // ------------------------- Exception Window Dialog ------------------------//
    protected String generateExceptionDialog( HttpServletRequest request, HttpUploadBean bean )
    throws IfsException
    String html = "<table width=\"100%\" border=\"1\">" + "\r\n" +
    " <tr>" + "\r\n" +
    " <td width=\"100%\">" + "\r\n" +
    " <B>Unexpected Exception encountered while uploading '" + bean.getSourceFileName() + "'.</B>" + "\r\n" +
    " </td>" + "\r\n" +
    " </tr>" + "\r\n" +
    " <tr>" + "\r\n" +
    " <td width=\"100%\">" + "\r\n" +
    bean.getStackTrace() + "\r\n" +
    " </td>" + "\r\n" +
    " </tr>" + "\r\n" +
    "</table>" + "\r\n" +
    "<BR>" + "\r\n" +
    "<FORM NAME = \"" + bean.REPORTEXCEPTION + "\"" + "\r\n" +
    " ACTION =\"" + bean.getJspPath() + "\">" + "\r\n" +
    "<INPUT NAME=\"" + bean.ACTION + "\"" + "\r\n" +
    " VALUE=\"" + bean.CANCEL + "\"" + "\r\n" +
    " TYPE=\"Submit\">" + "\r\n" +
    "<INPUT NAME=\"" + bean.STAGE + "\"" + "\r\n" +
    " TYPE=\"hidden\"" + "\r\n" +
    " Value=\"" + bean.REPORTEXCEPTION + "\">" + "\r\n" +
    "<INPUT NAME=\"" + bean.TEMPORARYOBJECTID + "\"" + "\r\n" +
    " TYPE=\"hidden\"" + "\r\n" +
    " Value=\"" + bean.getTemporaryObjectId() + "\">" + "\r\n" +
    "</FORM>" + "\r\n";
    return html;
    * Please complete the missing tags for generateActionButtonHtml
    * @param
    * @return
    * @throws
    * @pre
    * @post
    // --------------------------- Action Buttons --------------------------//
    protected String generateActionButtonHtml( HttpUploadBean bean )
    throws IfsException
    if( bean.canSaveObjectInFolder() )
    return "<INPUT NAME=\"" + bean.ACTION + "\"" + "\r\n" +
    " VALUE=\"" + bean.SAVECHANGES + "\"" + "\r\n" +
    " TYPE=\"Submit\">" + "\r\n" +
    "<INPUT NAME=\"" + bean.ACTION + "\"" + "\r\n" +
    " VALUE=\"" + bean.CANCEL + "\"" + "\r\n" +
    " TYPE=\"Submit\">" + "\r\n";
    else
    return "<INPUT NAME=\"" + bean.ACTION + "\"" + "\r\n" +
    " VALUE=\"" + bean.VERSION + "\"" + "\r\n" +
    " TYPE=\"Submit\">" + "\r\n" +
    "<INPUT NAME=\"" + bean.ACTION + "\"" + "\r\n" +
    " VALUE=\"" + bean.OVERWRITE + "\"" + "\r\n" +
    " TYPE=\"Submit\">" + "\r\n" +
    "<INPUT NAME=\"" + bean.ACTION + "\"" + "\r\n" +
    " VALUE=\"" + bean.CANCEL + "\"" + "\r\n" +
    " TYPE=\"Submit\">" + "\r\n";
    null

  • Loading failed, Please check your page for Javascript Errors

    Hi I created a page in Adobe Edge. I need to amend it slightly but when I try to open it I get this error. Any ideas why? I haven't changed the folder or altered anything since I opened it last? Any advice would be great - its really frustratring! I have seen the other link, but just wondered if there is any easier way to figure it out. I'm not a programmer so don't really understand what I'm looking for. Thanks

    Hi ,
    You can check this link - http://blogs.adobe.com/edge/2012/01/04/why-cant-it-just-work/
    One helpful post could be - http://forums.adobe.com/thread/1203311
    Thanks and Regards,
    Sudeshna Sarkar

  • Add Data Source for Data Load Rule

    I created an ODBC system data source in both the 32-bit and 64-bit ODBC managers (just to be sure), but they're not showing up as options for data sources in the SQL interface in EAS. Is there some step that I'm missing?
    Thanks.

    Have you created the ODBC on the Essbase server or on the server hosting EAS, it should be on the Essbase server.
    Cheers
    John
    http://john-goodwin.blogspot.com/

  • Hi, i just a got a MacBook Pro .. and i entered the app store and there was an update for iPhoto and when i clicked update and entered my email and password it said " you have updates available for other accounts " plzz help

    hi, i just bought a MacBook pro . and i entered the store and it said that i have to update iphoto so i enter my email and password and it said " you have updates on other accounts, sign in to the account u used to purchase this item" .. and i didnt purchase it it was there when i bought the laptop , plzz help.
    THANK YOU

    Same thing for me it writes "To update this application, sign in to the account you used to purchase it."

Maybe you are looking for

  • .gif not working with gallery

    .GIF animation image works on internet browser but when saving it and view it in gallery it does not play. On Samsung galaxy tab 10.1, .GIF animation pictures works in gallery so how come it does not work on my Sony tablet s when its using the same a

  • Zen vision m - problem with not showing albu

    this is a weird problem i haven't encountered 'till recently, but ... i tried to put some albums onto my player (i use the windows explorer method) and they show up just fine there, and they ARE taking up physical space on the hard disk when i check

  • What is meant by single entry-multiple options in the selection screen

    hi,   please let me know what is the meant by 'single entry-multiple options' in a selection screen. thanks in advance

  • Getting error while creating Customer Invoice Request via Web Service

    Hello, I am trying to create customer invoice request via web service. But I am getting the error message "No scheme configuration found for scheme '&CIRHP&' " continuously. It is working fine in reference tenant. But using the same payload its givin

  • Java.lang.OutOfMemoryError: PermGen space error in weblogic

    I am contionusly getting above error while starting one of my managed server. I had set setDomainEnv.cmd as below. if "%JAVA_VENDOR%"=="Sun" ( set WLS_MEM_ARGS_64BIT=-Xms256m -Xmx512m -XX:MaxPermSize=256m set WLS_MEM_ARGS_32BIT=-Xms256m -Xmx512m -XX: