Problem with getElementById

Hello gurus,
I'm passing an XML file to the DOMParser and
getting the Document back.
When I use Document.getElementById and pass
an id value of an element that existed in
the XML file, I get the element back ok.
But if I create a new element (having an id)
and add it to the existing Document (e.g.,
root.appendChild(e)), then when I do
Document.getElementById to get back this
new element, I get null instead.
So, it seems like the DOM does not know
about this new element just added. However,
if I print the DOM tree, the new element is
there.
Any ideas what's happening?
I'm using the 9i XMl jar.
Thanks,
Nosa

From the API documentation for that method:
"The DOM implementation must have information that says which attributes are of type ID. Attributes with the name "ID" are not of type ID unless so defined. Implementations that do not know whether attributes are of type ID or not are expected to return null."

Similar Messages

  • Help!  problem with getElementById - nullpointer

    I keep getting a nullpointer exception when i use getElementById in attempt to get the text of the element which is contained by the element with a specific ID. help! im going nuts
    String firstAtt = document.getElementById("A100").getElementsByTagName("first_name").item(0).getFirstChild().getNodeValue();
    System.out.println("first_name for A1000 found " + firstAtt);             DTD:
    <!ELEMENT family_tree (family_member)*>
    <!ELEMENT family_member (first_name,last_name,comments,birth_date,birth_location,img_file_name,(spouse)*,(child)*)>
    <!ATTLIST family_member pid ID #REQUIRED>
    <!ELEMENT first_name (#PCDATA)>
    <!ELEMENT last_name (#PCDATA)>
    <!ELEMENT comments (#PCDATA)>
    <!ELEMENT birth_date (#PCDATA)>
    <!ELEMENT birth_location (#PCDATA)>
    <!ELEMENT img_file_name (#PCDATA)>
    <!ELEMENT spouse EMPTY>
    <!ATTLIST spouse pidref IDREF #REQUIRED>
    <!ELEMENT child EMPTY>
    <!ATTLIST child pidref IDREF #REQUIRED>xml:
    <!DOCTYPE family_tree SYSTEM "family.dtd">
    <family_tree>
    <family_member pid="A1000">
    <first_name>fred</first_name>
    <last_name>smith</last_name>
    <comments>here are some comments</comments>
    <birth_date>10-24-1974</birth_date>
    <birth_location>tulsa,ok</birth_location>
    <img_file_name>"fred_smith123.jpg"</img_file_name>
    <spouse pidref="A1004"/>
    <child pidref="A1005"/>
    </family_member>
    <family_member pid="A1005">
    <first_name>john</first_name>
    <last_name>smith</last_name>
    <comments>bla bla</comments>
    <birth_date>10-24-1996</birth_date>
    <birth_location>tulsa,ok</birth_location>
    <img_file_name>"john_smith123.jpg"</img_file_name>
    </family_member>
    <family_member pid="A1004">
    <first_name>suzy</first_name>
    <last_name>smith</last_name>
    <comments>bla bla</comments>
    <birth_date>10-24-1998</birth_date>
    <birth_location>tulsa,ok</birth_location>
    <img_file_name>"suzy_smith123.jpg"</img_file_name>
    </family_member>
    </family_tree>

    sorry for posting this so quick, its obvious now what my problem is...its A1000 not A100, silly mistake

  • Problem with IE and pubblishedIntoWall

    Hi to all,
       i have a problem with InternetExplorer and CallBack
    In my flex code i have :
    flash.external.ExternalInterface.addCallback("pubblishedIntoWall", pubblishedIntoWall);
    The javascript code:
    function pubblishedIntoWallCarrello() {
            document.getElementById("composer").pubblishedIntoWall(1)
    In both Firefox and Chrome the javascript works in the right way.
    In internet explorer the function pubblishedIntoWall is not called.
    Have some one got an idea of this problem?
    Thanks for your time

    First of all, thank for your reply
    This is the code that i use in the HTML, i use   allowScriptAccess = sameDomain
    ----------- CODE -------------------
    <div id="divContainercomposer" style="position:absolute;left:50%;top:0px;width:930;height:100%;margin-left:-465px">
                <script language="JavaScript" type="text/javascript">
                <!--
                // Version check for the Flash Player that has the ability to start Player Product Install (6.0r65)
                var hasProductInstall = DetectFlashVer(6, 0, 65);
                // Version check based upon the values defined in globals
                var hasRequestedVersion = DetectFlashVer(requiredMajorVersion, requiredMinorVersion, requiredRevision);
                if ( hasProductInstall && !hasRequestedVersion ) {
                    // DO NOT MODIFY THE FOLLOWING FOUR LINES
                    // Location visited after installation is complete if installation is required
                    var MMPlayerType = (isIE == true) ? "ActiveX" : "PlugIn";
                    var MMredirectURL = window.location;
                    document.title = document.title.slice(0, 47) + " - Flash Player Installation";
                    var MMdoctitle = document.title;
                    AC_FL_RunContent(
                        "src", "playerProductInstall",
                        "FlashVars", "MMredirectURL="+MMredirectURL+'&MMplayerType='+MMPlayerType+'&MMdoctitle='+MMdoctitle+"" ,
                        "width", "930",
                        "height", "100%",
                        "align", "middle",
                        "id", "composer",
                        "quality", "high",
                        "bgcolor", "#ffffff",
                        "name", "flashContent",
                        "allowScriptAccess","sameDomain",
                        "type", "application/x-shockwave-flash",
                        "pluginspage", "http://www.adobe.com/go/getflashplayer"
                } else if (hasRequestedVersion) {
                    // if we've detected an acceptable version
                    // embed the Flash Content SWF when all tests are passed
                    AC_FL_RunContent(
                            "src", "composer",
                            "width", "930",
                            "height", "100%",
                            "align", "middle",
                            "id", "composer",
                            "quality", "high",
                            "bgcolor", "#ffffff",
                            "name", "composer",
                           "allowScriptAccess","sameDomain",
                            "type", "application/x-shockwave-flash",
                            "pluginspage", "http://www.adobe.com/go/getflashplayer"
                  } else {  // flash is too old or we can't detect the plugin
                    var alternateContent = 'Alternate HTML content should be placed here. '
                      + 'This content requires the Adobe Flash Player. '
                       + '<a href=http://www.adobe.com/go/getflash/>Get Flash</a>';
                    document.write(alternateContent);  // insert non-flash content
                // -->
                </script>
                <noscript>
                      <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
                            id="flashContent" width="930" height="100%"
                            codebase="http://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab">
                            <param name="movie" value="composer.swf" />
                            <param name="quality" value="high" />
                            <param name="bgcolor" value="#ffffff" />
                            <param name="allowScriptAccess" value="sameDomain" />
                            <embed src="composer.swf" quality="high" bgcolor="#ffffff" id="composer"
                                width="930" height="100%" name="composer" align="middle"
                                play="true"
                                loop="false"
                                quality="high"
                               allowScriptAccess="sameDomain"
                                type="application/x-shockwave-flash"
                                pluginspage="http://www.adobe.com/go/getflashplayer">
                            </embed>
                    </object>
                </noscript>
    </div>

  • Having problem with spry menu bar in Internet Explorer.

    I'm having a problem with my spry menu bars in Internet Explorer.
    Here are the pictures:
    Firefox
    Internet Explorer
    HERE ARE THE CODES:
    HTML CODE:
    <style type="text/css">
    <!--
    #apDiv1 {
        position:absolute;
        width:160px;
        height:126px;
        z-index:1;
        left: 205px;
        top: 424px;
        margin: 0 auto;
    -->
    </style>
    <style type="text/css">
    #apDiv3 {
        position:absolute;
        width:254px;
        height:206px;
        z-index:2;
        left: 123px;
        top: 1529px;
    #apDiv4 {
        position:absolute;
        width:250px;
        height:194px;
        z-index:3;
        left: 381px;
        top: 1528px;
    #apDiv5 {
        position:absolute;
        width:256px;
        height:200px;
        z-index:4;
        left: 636px;
        top: 1529px;
    #apDiv6 {
        position:absolute;
        width:349px;
        height:205px;
        z-index:5;
        left: 889px;
        top: 1530px;
    </style>
    <style type="text/css">
    #apDiv7 {
        position:absolute;
        width:887px;
        height:204px;
        z-index:6;
        left: 324px;
        top: 905px;
    #apDiv8 {
        position:absolute;
        width:1295px;
        height:74px;
        z-index:1;
        left: 212px;
        top: 668px;
    </style>
    <script src="SpryAssets/SpryMenuBar.js" type="text/javascript"></script>
    <link href="SpryAssets/SpryMenuBarHorizontal.css" rel="stylesheet" type="text/css" />
    <script type="text/javascript">
    function MM_swapImgRestore() { //v3.0
      var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
    function MM_preloadImages() { //v3.0
      var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
        var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
        if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
    function MM_findObj(n, d) { //v4.01
      var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
        d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
      if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
      for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
      if(!x && d.getElementById) x=d.getElementById(n); return x;
    function MM_swapImage() { //v3.0
      var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
       if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
    </script>
    <style type="text/css">
    #apDiv2 {
        position:absolute;
        width:209px;
        height:197px;
        z-index:2;
        top: 1220px;
        left: 171px;
    #apDiv9 {
        position:absolute;
        width:331px;
        height:97px;
        z-index:3;
        left: 385px;
        top: 1218px;
    #apDiv10 {
        position:absolute;
        width:292px;
        height:199px;
        z-index:4;
        left: 724px;
        top: 1218px;
    #apDiv11 {
        position:absolute;
        width:200px;
        height:115px;
        z-index:1;
    body {
        background-color: #000;
        background-image: url();
        text-align: center;
        color: #F00;
    .none {
        font-size: 80px;
        font-family: "Times New Roman", Times, serif;
        font-weight: bold;
    #apDiv12 {
        position:absolute;
        width:991px;
        height:60px;
        z-index:5;
        left: 198px;
        top: 192px;
    #apDiv13 {
        position:absolute;
        width:200px;
        height:115px;
        z-index:1;
        left: 588px;
        top: 322px;
    </style>
    <body onLoad="MM_preloadImages('images/WebConfroll.png','images/youthfootballroll.png','images/ statefbsweatshirt.png')">
    <p align="center" class="none"><img src="images/footballtitle.png" width="941" height="183"></p>
    <div align="center">
      <ul id="MenuBar2" class="MenuBarHorizontal">
        <li><a class="MenuBarItemSubmenu" href="#">[Placeholder]</a>
          <ul>
            <li><a href="#">[Placeholder]</a></li>
            <li><a href="#">[Placeholder]</a></li>
            <li><a href="#">[Placeholder]</a></li>
          </ul>
        </li>
        <li><a href="#" class="MenuBarItemSubmenu">[Placeholder]</a>
          <ul>
            <li><a href="#">[Placeholder]</a></li>
            <li><a href="#">[Placeholder]</a></li>
            <li><a href="#">[Placeholder]</a></li>
          </ul>
        </li>
        <li><a class="MenuBarItemSubmenu" href="#">Videos</a>
          <ul>
            <li><a class="MenuBarItemSubmenu" href="#">2008 Videos</a>
              <ul>
                <li><a href="videos/2009 videos/Glenbard part one/partone.html">Glenbard South Game</a></li>
                <li><a href="#">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&# 160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;[Placeholder]</a></li>
              </ul>
            </li>
            <li><a href="#" class="MenuBarItemSubmenu">2009 Videos</a>
              <ul>
                <li><a href="#">[Placeholder]</a></li>
                <li><a href="#">[Placeholder]</a></li>
              </ul>
            </li>
            <li><a href="#" class="MenuBarItemSubmenu">2010 Videos</a>
              <ul>
                <li><a href="#">[Placeholder]</a></li>
                <li><a href="#">[Placeholder]</a></li>
              </ul>
            </li>
          </ul>
        </li>
      </ul>
    </div>
    <p align="center"> </p>
    <p align="center"> </p>
    <p align="center"> </p>
    <p align="center"> </p>
    <p align="center"> </p>
    <p align="center"> </p>
    <p align="center"> </p>
    <p align="center"> </p>
    <p align="center"> </p>
    <p align="center"> </p>
    <p align="center"> </p>
    <p align="center"><span class="cent"><img src="images/bulldoghelmit.png" width="150" height="99" /></span></p>
    <p align="center"> </p>
    <p align="center"> </p>
    <p align="center"> </p>
    <p class="cent"> </p>
    <div align="center">
      <ul id="MenuBar1" class="MenuBarHorizontal">
        <li> <a class="MenuBarItemSubmenu" href="#">Football Season 2008</a>
          <ul>
            <li><a href="http://page.bps101.net/web/t1350/Football2009/2008%20Defense%20Stats.pdf">Defense Stats</a></li>
            <li><a href="http://page.bps101.net/web/t1350/Football2009/2008%20Offense%20Stats.pdf">Offense and Records</a></li>
            <li><a href="http://page.bps101.net/web/t1350/BHS%20All%20Time%20Stats.pdf">AllTime Data</a></li>
            <li><a href="http://page.bps101.net/web/t1350/Football2009/Western%20Sun%202009.pdf">Western Sun Final Standings</a></li>
          </ul>
        </li>
        <li> <a href="#" class="MenuBarItemSubmenu">Football Season 2009</a>
          <ul>
            <li><a href="http://page.bps101.net/web/t1350/Football%202010/2009%20Banquet%20Record%20and%20Stats.pdf">Defense Stats</a></li>
            <li><a href="http://page.bps101.net/web/t1350/Football%202010/2009%20Banquet%20Record%20and%20Stats.pdf">Record Book and Offense</a></li>
            <li><a href="http://page.bps101.net/web/t1350/Football%202010/All-Time%20Data%202009.pdf">Alltime Data</a></li>
          </ul>
        </li>
        <li> <a class="MenuBarItemSubmenu" href="#">Football Season 2010</a>
          <ul>
            <li><a href="http://page.bps101.net/web/t1350/Football%202011/2011%20Checklist.pdf">2010-2011 Offseason Checklist</a></li>
            <li><a href="http://page.bps101.net/web/t1350/Football%202011/2010%20Defense%20Stats%20Final.pdf">Defense Stats</a></li>
            <li><a href="http://page.bps101.net/web/t1350/Football%202011/2010%20Stats%20Packet.pdf">Record Book and Offense</a></li>
            <li><a href="http://page.bps101.net/web/t1350/Football%202011/2010%20ALL%20TIME.pdf">Alltime Data</a></li>
          </ul>
        </li>
      </ul>
    </div>
    <p align="center"> </p>
    <p align="center"> </p>
    <p> </p>
    <p> </p>
    <p> </p>
    <p> </p>
    <p align="center"> </p>
    <p align="center"> </p>
    <p align="center"> </p>
    <p align="center"><img src="images/Batavia Youth football.png" alt="" width="869" height="200" /></p>
    <p align="center"> </p>
    <p align="center"> </p>
    <p align="center"> </p>
    <p align="center"><a href="#" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image4','','images/WebConfroll.png',1)"></a></p>
    <div align="center">
      <div align="center"></div>
      <div align="center"><a href="http://www.athletics2000.com/upstate8/" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image7','','images/WebConfroll.png',1)"><img src="images/WebConf.png" name="Image7" width="206" height="194" border="0" id="Image7" /></a><a href="http://www.bataviayouthfootball.org/" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image6','','images/statefbsweatshirt.png',1)"><img src="images/statefbsweatshirt.jpg" name="Image6" width="375" height="199" border="0" id="Image6" /></a><a href="http://www.bataviayouthfootball.org/" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image8','','images/youthfootballroll.png',1)"><img src="images/youth football.png" name="Image8" width="329" height="197" border="0" id="Image8" /></a></div>
    </div>
    <p align="center"> </p>
    <p align="center"> </p>
    <p align="center"><a href="#" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image5','','images/youthfootballroll.png',1)"></a></p>
    <p align="center"> </p>
    <p align="center"> </p>
    <p align="center"> </p>
    <p align="center"> </p>
    <p align="center"> </p>
    <p align="center"> </p>
    <p align="center"> </p>
    <p align="center"> </p>
    <p align="center"> </p>
    <p align="center"> </p>
    <p align="center"> </p>
    <p align="center"> </p>
    <p align="center"> </p>
    <p align="center"><img src="images/Logos.png" width="1167" height="199" /></p>
    <script type="text/javascript">
    var MenuBar2 = new Spry.Widget.MenuBar("MenuBar2", {imgDown:"SpryAssets/SpryMenuBarDownHover.gif", imgRight:"SpryAssets/SpryMenuBarRightHover.gif"});
    var MenuBar1 = new Spry.Widget.MenuBar("MenuBar1", {imgDown:"SpryAssets/SpryMenuBarDownHover.gif", imgRight:"SpryAssets/SpryMenuBarRightHover.gif"});
    </script>
    CSS CODE
    @charset "UTF-8";
    /* SpryMenuBarHorizontal.css - version 0.6 - Spry Pre-Release 1.6.1 */
    /* Copyright (c) 2006. Adobe Systems Incorporated. All rights reserved. */
    LAYOUT INFORMATION: describes box model, positioning, z-order
    /* The outermost container of the Menu Bar, an auto width box with no margin or padding */
    ul.MenuBarHorizontal
        margin: auto 0;
        padding: 0;
        list-style-type: none;
        font-size: 100%;
        cursor: default;
        width: 54em;
        border-top: thick solid #00F;
        border-left: thick solid #00F;
        border-right: thick solid #00F;
        border-bottom: thick solid #00F;
        height: 2.2em;
    /* Set the active Menu Bar with this class, currently setting z-index to accomodate IE rendering bug: http://therealcrisp.xs4all.nl/meuk/IE-zindexbug.html */
    ul.MenuBarActive
        z-index: 1000;
    /* Menu item containers, position children relative to this container and are a fixed width */
    ul.MenuBarHorizontal li
        margin: 0;
        padding: 0;
        list-style-type: none;
        font-size: 100%;
        position: relative;
        cursor: pointer;
        width: 18em;
        float: left;
    /* Submenus should appear below their parent (top: 0) with a higher z-index, but they are initially off the left side of the screen (-1000em) */
    ul.MenuBarHorizontal ul
        margin: 0;
        padding: 0;
        list-style-type: none;
        font-size: 100%;
        z-index: 1020;
        cursor: default;
        width: 18em;
        position: absolute;
        left: -1000em;
    /* Submenu that is showing with class designation MenuBarSubmenuVisible, we set left to auto so it comes onto the screen below its parent menu item */
    ul.MenuBarHorizontal ul.MenuBarSubmenuVisible
        left: auto;
    /* Menu item containers are same fixed width as parent */
    ul.MenuBarHorizontal ul li
        width: 18em;
    /* Submenus should appear slightly overlapping to the right (95%) and up (-5%) */
    ul.MenuBarHorizontal ul ul
        position: absolute;
        margin: -5% 0 0 95%;
    /* Submenu that is showing with class designation MenuBarSubmenuVisible, we set left to 0 so it comes onto the screen */
    ul.MenuBarHorizontal ul.MenuBarSubmenuVisible ul.MenuBarSubmenuVisible
        left: auto;
        top: 0;
    DESIGN INFORMATION: describes color scheme, borders, fonts
    /* Submenu containers have borders on all sides */
    ul.MenuBarHorizontal ul
        border: 1px solid #CCC;
    /* Menu items are a light gray block with padding and no text decoration */
    ul.MenuBarHorizontal a
        display: block;
        cursor: pointer;
        background-color: #000;
        padding: 0.5em 0.75em;
        color: #C96;
        text-decoration: none;
        text-align: center;
        height: 1.2em;
    /* Menu items that have mouse over or focus have a blue background and white text */
    ul.MenuBarHorizontal a:hover, ul.MenuBarHorizontal a:focus
        background-color: #900;
        color: #009;
    /* Menu items that are open with submenus are set to MenuBarItemHover with a blue background and white text */
    ul.MenuBarHorizontal a.MenuBarItemHover, ul.MenuBarHorizontal a.MenuBarItemSubmenuHover, ul.MenuBarHorizontal a.MenuBarSubmenuVisible
        background-color: #900;
        color: #FFF;
        text-decoration: underline;
    SUBMENU INDICATION: styles if there is a submenu under a given menu item
    /* Menu items that have a submenu have the class designation MenuBarItemSubmenu and are set to use a background image positioned on the far left (95%) and centered vertically (50%) */
    ul.MenuBarHorizontal a.MenuBarItemSubmenu
        background-image: url(SpryMenuBarDown.gif);
        background-repeat: no-repeat;
        background-position: 95% 50%;
        color: #FF0;
        font-family: "Lucida Console", Monaco, monospace;
    /* Menu items that have a submenu have the class designation MenuBarItemSubmenu and are set to use a background image positioned on the far left (95%) and centered vertically (50%) */
    ul.MenuBarHorizontal ul a.MenuBarItemSubmenu
        background-image: url(SpryMenuBarRight.gif);
        background-repeat: no-repeat;
        background-position: 95% 50%;
    /* Menu items that are open with submenus have the class designation MenuBarItemSubmenuHover and are set to use a "hover" background image positioned on the far left (95%) and centered vertically (50%) */
    ul.MenuBarHorizontal a.MenuBarItemSubmenuHover
        background-image: url(SpryMenuBarDownHover.gif);
        background-repeat: no-repeat;
        background-position: 95% 50%;
    /* Menu items that are open with submenus have the class designation MenuBarItemSubmenuHover and are set to use a "hover" background image positioned on the far left (95%) and centered vertically (50%) */
    ul.MenuBarHorizontal ul a.MenuBarItemSubmenuHover
        background-image: url(SpryMenuBarRightHover.gif);
        background-repeat: no-repeat;
        background-position: 95% 50%;
    BROWSER HACKS: the hacks below should not be changed unless you are an expert
    /* HACK FOR IE: to make sure the sub menus show above form controls, we underlay each submenu with an iframe */
    ul.MenuBarHorizontal iframe
        position: absolute;
        z-index: 1010;
        filter:alpha(opacity:0.1);
    /* HACK FOR IE: to stabilize appearance of menu items; the slash in float is to keep IE 5.0 from parsing */
    @media screen, projection
        ul.MenuBarHorizontal li.MenuBarItemIE
            display: inline;
            f\loat: left;
            background: #FFF;
    The website is http://wwww.bataviabulldogfootball.tk

    Note that running your page through the W3C Validator gives this list of errors: http://validator.w3.org/check?uri=http%3A%2F%2Fwww.bataviabulldogfootball.tk%2F&charset=%2 8detect+automatically%29&doctype=Inline&group=0
    I see that you have a very thin doctype at the top. I suggest you create a new page in Dreamweaver and copy the bit at the top of the page:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    Then put that code in place of these lines from your current page:
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8" />
    I see that you have two opening <body> tags. Delete one; it is not needed. Add the preload images from the second into the first body tag and delete the second.
    I see code below the closing </html> tag. Re position it before the closing </body> tag.
    Because of these errors mentioned above, it was impossible to see the page. Fix and reply here when you have done so.
    Also, it is not possible for me to divine what difficulty you are having. If you can please also express it in English (LOL), I'll be happy to suggest a correction for you!
    Beth
    p.s. Posting entire blocks of code is NEVER as helpful as giving us a link to the pages in action. I seldom read through code dumps here in the Forum.
    Message was edited by: Zabeth69

  • Problem with listbox

    hi i am having problems with listbox values
    basically there are 2 listboxes, with values populated from 2 different resultsets. i need to move items from one listbox to the other and vice versa and then submit values for the items for the 2nd listbox to the database. How do i specify that i want all the items in the 2nd listbox? If i use a request.getParameterValues() it will only return those that i have selected. But i do not want user to have to select any items in the 2nd listbox, they should be reflecting what the user wanted.

    ok thanks
    does the javascript method works if i need to pass 2 arrays instead of one inside?
    var selectVal = new Array();
    var availableVal=new Array();
    function toArray(){
    var len1 = document.getElementById("selectedOptions").length;
    for(var i = 0;i<len1;i++){
    selectVal=document.getElementById("selectedOptions").options[i].value;
    var len2=document.getElementByID("availableOptions").length
    for(var j=0; j<len2; j++){
    availableVal[j]=document.getElementById("availableOptions").options[j].value;
    document.option.data1.value = selectVal;
    document.option.data2.value = availableVal;
    it works for one array, but i am having problems if i add another listbox availableOptions inside.

  • Javascript problem with "opener" object

    Hello again,
    In my quest to reuse some automatic generated bsp code to my own advantage, i encounter a problem with the javascript "opener" object.
    I open a new window(win2) for a value help, this should return a value to the calling window(win1). It does so by calling a function in win1. My problem is that i get an error, stating that access to win1 is denied.
    opener.focus() works: it sets focus on win1
    so the opener object seems fine, pointing to the richt window
    opener.functionWin1() does not work:
    when i want to call a function from win1 i get the message "access denied", this also happens when i want for instance call a propertie of win1 with for example alert(opener.location);
    Does anybody know if there is a special parameter i should set, before i can call functions on the opener page? Or has anybody encountered the same pronlem?
    Kind regards,
    Martijn de Jong.

    If you want to set a input field value from a value help page you can write a JS function in the value help page itself, which will take of populating the field in the root page.
    See this example script:
    <head>
    <script language="JavaScript" type="text/javascript">
              function fun()
                   s=window.opener;     
                   txt=s.document.getElementById("<input filed id of the parent page>");
                   if ( document.form1.row_sel1.value )
                   txt.value = document.form1.row_sel1.value;
                   window.close();
        </script>
    </head>
    Refer this thread for further details:
    Re: F4 help using javascript
    Regards,
    Ravikiran.

  • Problem with location.href

    hi
    I want to create a widget but got a problem with a link. This is the html code.
    <body>
    <input type="text" id="temporaryinbox_textbox">
    <select id="language">
    <option value="">en</option>
    <option value="de/">de</option>
    <option value="es/">es</option>
    <option value="it/">it</option>
    </select>
    <input type="submit" value="Check" onclick="location.href = 'http://www.temporaryinbox.com/' + document.getElementById('language').value + 'inbox.php?inbox=' + document.getElementById('temporaryinbox_textbox').value;">
    <input type="submit" value="Random email" onclick="createRandomEmail();">
    <input type="text" id="temporaryinbox_textbox2" size="25" onclick="document.getElementById('temporaryinbox_textbox2').select();">
    </body>
    On Windows with Firefox it works but on OS X as a widget it loads the target in to the widget. How can I make load it into a new Safari window? Or set it, that the default browser will be used….
    Thanks for your help
    iMac Intel 17"   Mac OS X (10.4.6)  

    Hi Samira,
    DI has by nature some constraints, one is its memory leaks another one is the time of instanciation... I can keep going with some others like memeory consumption and not thread safe.
    Servers technologhies are, starting by the historical one DI-Server and its companion which is B1WS and finishing by one which is the way to go: B1if (you can call scenario as web services).
    What I meant by implementing a connection's cache mechanism, is to limit the number of connections and deconnections (the main issue with DI-API), but definitively I would try to go outside of this... But this is my personal point.
    Regards,
    Eric

  • Problems with F4 Value Help in NW2004s Portal

    Hello,
    we are having some troubles with the F4 ValueHelp Extension from the Advanced BSP Programming book (and the blogs of course).
    We've implemented the solution on a 4.7 backend and portal 6.0. No problems there, everything was working fine.
    We now moved to erp2005 (WebAS 700) and NW2004s Portal (7.0).
    The popup shows and I can select entries from the list. But when clicking the ok icon a javascript error is thrown stating that 'parent.document.getElementById(...)' is null or no object.
    I think the problem is, that by making a call to 'parent' we are searching in the portal frame and not the BSP. There (in the portal frame) the element is not known so the error is thrown.
    I allready changed from the dialog_ie6.js provided on the BookCD to the one delivered by SAP. Did nothing regarding the error.
    I also tried changing ZCL_BSP_M_INPUT_HELP->BUILD_ACCEPT_SELECTION_SCRIPT. I changed all the "parent.document.get..." "to document.get...". The error message was still the same, 'parent.document.getElementById(...)' is null or no object.
    So now I'm kind of stuck. If I try the example outside the portal everything works as expected. So this clearly seems to be a problem with the portal integration. All involved BSP-Apps are marked as "supports portal integration".
    Any ideas on this topic?
    Thanks and kind regards,
    Alexander Sperling

    I have a working solution to the problem.  It isn't the nicest solution because it will probably require some modifications to the application that hosts the value help, but we will get to that in a second.
    I tried many different ways to come up with a solution that would still work via JavaScript. The portal is now loading the popup javascript in the master frame.  It registers event handlers so that if any application triggers a popup internally it "hi-jacks" the event.  So regardless of what I change in the BSP javascript library, it gets overriden by the portal one. The portal also now even enforeces its theme on the inner page in the popup.  Truly the portal takes complete control over the inner html of the popup.
    To make things worse the popop has not path to reach the source that triggered it.  The source objects are tracked in the javascript, but because the master frame takes over; the popup window only has access and visibility to the master frame and the navigation frame.  In essence in the DOM it is now higher in the stack than the object that actually triggered it. 
    Web Dynpro gets around this because it doesn't use any client side mechanisms to communicate it results back to the source frame. Web Dynpro has the luxury of always being stateful and therefore can make certain assumptions that would never work in BSP.  The hi-jacking is an excellent solution for Web Dynpro.  The portal can then override the functionality of Web Dynpro - providing the new functionality of floating the dialog box over the entire portal - without having to make any changes to the Web Dynpro Framework.  However they never had our little BSP solution in bind obviously.
    It might be possible to completely rewrite the popup_ie.js and popup_ns.js to use all different event, method and variable names.  This separate version could then provide complete separation from the portal script. However this is just a theory. I'm afraid that I wouldn't have the bandwidth to rewrite the entire script right now so I focused on a quicker solution.
    The only approach that I could come up was to follow the Web Dynpro approach and return to the server with the value. To do that I used Portal Eventing.  Portal Eventing allows us to pass a value to the source frame regaurdless of our relative positions in the DOM. 
    In my inner BSP application for the value help (ZES_VALUEHELP), I made the following change in the model method BUILD_ACCEPT_SEL_SCRIPT_V2.  At line 141 I changed the logic.  Instead of using JavaScript to write the selected value back into the source element, we will just trigger a Portal Event:
    ****With an InputField we write the contents directly back into the element
          ELSE.
            CONCATENATE me->js_close1
            `portalFireEvent('com.sap','`
            me->element_id
            `',"`
            key
            `");`
             INTO me->js_close1.
            EXIT.
    The other change is within the Element handler class for inputHelpV2 - ZCL_ES_BSP_ELMNT_INPUT_HELP_V2.  We need to register the listener for the Portal Event. Therefore in DO_AT_BEGINNING we will add the follwing at line 23 (right after we place the Element Id into the URL Parameters Table.
      data: portal_event type ref to cl_portal_event.
      portal_event = cl_portal_event=>factory(
        name = <wa_params>-value
        namespace = 'com.sap' ).
      while m_page_context->element_process( element = portal_event ) = co_element_continue.
      endwhile. "End portalEvent Render
    Overally using the portal eventing actually is an intersting approach.  There is only one drawback, now we have a server side event.  That being the case, our application now needs some event logic to process this event and populate the value. Depending upon if you are using MVC, Data Binding, or Flow Logic this could vary - and would have to handled by each application. The nice thing about the old approach was that it all happened via JavaScript on the Frontend and didn't require the application programmer to do anything - that was obviously its weakness as well.

  • Problem with the MVMapView.print(printMapDiv,) function.

    Hello,
    I have a problem with the MVMapView.print(printMapDiv,) function.
    My FOIs are displayed correct on the screen but on the printed letter
    the stroke(border) color and the labels of a circle are not displayed.
    the fois have a custom style:
    var xmlDef = '<svg width="1in" height="1in">'+
    '<g class="marker" '+
    'style="width:40;height:40;stroke:0xff0000;fill:0x00ff00;stroke-width:1.5">'+
    '<circle r="20"/>'+
    '</g>'+
    '</svg>';
    markerStyle = new MVXMLStyle("my_vector_icon_" + i + '_' + j, xmlDef)
    and are created like this:
    v_result = new MVFOI(p_geofeature.foiId, p_geofeature.foiGeomertyObject, markerStyle, null, 30, 30);
    v_result.setHTMLElement('1',0,0);
    Browser: I can see the map with a green circle, a red border and '1' as a label on
    top of the Circle.
    Printed Letter: I see the map with the green circle but no red border Color and no label.
    The implmentation of the printing function uses the same techique like the "Oracle Maps Tutorial"
    It is a javascript function called through a href link:
    function mapPrint()
    var a=document.getElementById("printmap");
    global_gdi.mapviewer.mapview.print(a);
    Version is Ver11_1_1_5_B110527
    Does anbody know how to print the map properly including the contents of the
    MVFOI class set trough setHTMLElement function?
    Greetings
    Andre

    Thanks for your reply but it is not working and i can prove that.
    I have a small example based on the mapviewer print tutorial. To run it you need a
    mapviewer installation and copy the text into a html file. In the browser you can see
    a green point with a red border and red label text on a map.
    If you use the print button everything except the label text will be printed.
    I think this is a mapviewer css-api bug.
    <html>
    <head>
    <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <style type="text/css">
    @media screen
    .noscreen {display: none;}
    @media print
    .noprint{display: none;}
    </style>
    <script language=&quot;Javascript&quot; src=&quot;/mapviewer/fsmc/jslib/oraclemaps.js&quot;></script>
    <script language=javascript>
    var mapview;
    var baseURL = &quot;http://&quot;+document.location.host+&quot;/mapviewer&quot;;
    function showMap()
    mapview = new MVMapView(document.getElementById(&quot;map&quot;), baseURL);
    mapview.addMapTileLayer(new MVMapTileLayer(&quot;mvdemo.demo_map&quot;));
    mapview.setCenter(MVSdoGeometry.createPoint(-122.45, 37.6706,8307));
    mapview.setZoomLevel(4);
    mapview.display();
    //adds custom foi with label
    var xmlDef = '<svg width=&quot;1in&quot; height=&quot;1in&quot;>'+
    '<g class=&quot;marker&quot; '+
    'style=&quot;width:40;height:40;font-family:sans-serif;font-size:20pt;stroke:0xff0000;fill:0x00ff00;stroke-width:1.5&quot;>'+
    '<circle r=&quot;20&quot;/>'+
    '</g>'+
    '</svg>';
    var markerStyle = new MVXMLStyle(&quot;my_vector_icon_&quot;, xmlDef);
    mpoint = MVSdoGeometry.createPoint(-122.30, 37.73,8307);
    var v_result = new MVFOI(&quot;11&quot;, mpoint, markerStyle, null, 60, 60);
    v_result.setHTMLElement('test label',0,0);
    mapview.addFOI(v_result);
    function mapPrint()
    var a=document.getElementById(&quot;printmap&quot;);
    mapview.print(a);
    </script>
    </head>
    <body onload=javascript:showMap()>
    &lt;div id=&quot;map&quot; style=&quot;position:absolute;top:50px; left:10px; width:600px; height:450px;border:0px&quot;>&lt;/div>
    &lt;div id=&quot;printmap&quot; class=&quot;noscreen&quot;>&lt;/div>
    &lt;p>Please click &lt;a href=&quot;javascript:mapPrint()&quot;>here&lt;/a> to print map&lt;/p>
    </body>
    </html>
    Edited by: user12005064 on 27.02.2012 02:37

  • Problem with Apex hosted SQL Workspace

    Hi,
    I am having trouble with using currval on this site in SQL workshop. I have a demo table and have defined a sequence via sql. I successfully insert a sequence_name.nextval but when I try to add a related child record with current value of the sequence I keep getting this:
    ORA-08002: sequence ORDERS_ORDER#_SEQ.CURRVAL is not yet defined in this session
    I can check on nextval from dual and I can select the currval from dual also but when I try to use the currval in an insert, I get the same error above. Also, sometimes I get the same message even when selecting currval from dual. Seems like a problem with Apex at this hosted site. Or does Apex SQL workshop have issues with currval.
    PM

    Scott, Can you explain a little more about the difference between a hidden item that is set to display never & the other type of item which I am assuming is "display as text saves state" and display never?
    When I viewed the source for both of these I could not see the items in source code.
    Also for an item that is passed into a popup I am exposing hidden item's identity is there a different way to pass values... here is my example:
    <!-- Begin of popup for DNS_NAME -->
    <script language="JavaScript" type="text/javascript">
    <!--
    <!-- window size was 800*600 -->
    <!-- window size was 400*300 -->
    function popupPage(url) {w = open(url,"winDnsName","Scrollbars=1,resizable=1,width=500,height=450"); if (w.opener == null) w.opener = self; w.focus(); }
    //-->
    </script>
    <script language="JavaScript" type="text/javascript">
    function callDnsNamePopup (IPId) {
    var IPId = document.getElementById('P103_IP_ID').value;
    var url;
    url = 'f?p=110:106:2066309280674317::::P106_IP_ID:' + IPId;
    w = open(url,"winDnsName","Scrollbars=1,resizable=1,width=800,height=600");
    if (w.opener == null)
    w.opener = self;
    w.focus();
    </script>
    <!-- END of popup for DNS Name -->
    At the same time if I set an item as hidden and display never I cannot use it with a call to a popup...

  • Struts \ POI \ Javascript Problem with IE 7

    Alright folks, I'm having a problem migrating my application from IE 6 to IE 7. We have search functionality in the app that triggers off of javascript calls when a button is pressed in the search. Once the data is retrieved, an export button becomes enabled that allows the user to export those results to Excel using POI. On the back end, we're using struts running in WAS 6. When the results are exported, the action class manually writes the excel workbook to the output stream as below:
         protected void print(HSSFWorkbook a_wb, HttpServletResponse a_response)
              throws IOException, ServletException {
              // generate output
              a_response.setContentType("application/vnd.ms-excel");
              ServletOutputStream out = a_response.getOutputStream();
              a_wb.write(out);
    Then the action returns null to signify to struts that the response has already been handled manually.
    Everything works perfectly in IE 6. In IE 7, however, everything is not so great. The search works to retrieve the results and I can export them to Excel. The problem is that after I export them to Excel, all the Javascript on my page ceases to work. Basically, what I've been able to determine is that upon receiving the Excel document response something is causing the document Javascript variable to become undefined. This causes all my javascript -- things like:
    document.getElementById('actionIndicator').value ="Clear";
    to completely fail because document is undefined. Mind you, the page is still sitting there rendered in IE, and I can do things like window.frames and programmatically see a list of the frames defined on the page -- but the document variable is completely gone.
    At this point I'm kind of at a loss as to what to check or test next, so I'm open to any suggestions. Thanks!

    Hey Gina
    we have not seen broken images like you did, but have seen dramatic reduction in respose time with IE 7 (~20 times slower than normal). A bunch of IT folks tried various settings and configurations, with no success. Finally, we figured that different versions of IE 7 acd differently. Version 5700 was running fine. Version 5713 (or something like that, the latest one) was slooooow.
    Our Office of Information Resources does not "support" any other browser than IE. So, in addition to problems with Office 2007 I described previously, we may get a double whammy from Microsoft. Don't get me started.
    Vojin

  • A problem with threads

    I am trying to implement some kind of a server listening for requests. The listener part of the app, is a daemon thread that listens for connections and instantiates a handling daemon thread once it gets some. However, my problem is that i must be able to kill the listening thread at the user's will (say via a sto button). I have done this via the Sun's proposed way, by testing a boolean flag in the loop, which is set to false when i wish to kill the thread. The problem with this thing is the following...
    Once the thread starts excecuting, it will test the flag, find it true and enter the loop. At some point it will LOCK on the server socket waiting for connection. Unless some client actually connects, it will keep on listening indefinatelly whithought ever bothering to check for the flag again (no matter how many times you set the damn thing to false).
    My question is this: Is there any real, non-theoretical, applied way to stop thread in java safely?
    Thank you in advance,
    Lefty

    This was one solution from the socket programming forum, have you tried this??
    public Thread MyThread extends Thread{
         boolean active = true;          
         public void run(){
              ss.setSoTimeout(90);               
              while (active){                   
                   try{                       
                        serverSocket = ss.accept();
                   catch (SocketTimeoutException ste){
                   // do nothing                   
         // interrupt thread           
         public void deactivate(){               
              active = false;
              // you gotta sleep for a time longer than the               
              // accept() timeout to make sure that timeout is finished.               
              try{
                   sleep(91);               
              }catch (InterruptedException ie){            
              interrupt();
    }

  • Problem with Threads and a static variable

    I have a problem with the code below. I am yet to make sure that I understand the problem. Correct me if I am wrong please.
    Code functionality:
    A timer calls SetState every second. It sets the state and sets boolean variable "changed" to true. Then notifies a main process thread to check if the state changed to send a message.
    The problem as far I understand is:
    Assume the timer Thread calls SetState twice before the main process Thread runs. As a result, "changed" is set to true twice. However, since the main process is blocked twice during the two calls to SetState, when it runs it would have the two SetState timer threads blocked on its synchronized body. It will pass the first one, send the message and set "changed" to false since it was true. Now, it will pass the second thread, but here is the problem, "changed" is already set to false. As a result, it won't send the message even though it is supposed to.
    Would you please let me know if my understanding is correct? If so, what would you propose to resolve the problem? Should I call wait some other or should I notify in a different way?
    Thanks,
    B.D.
    Code:
    private static volatile boolean bChanged = false;
    private static Thread objMainProcess;
       protected static void Init(){
            objMainProcess = new Thread() {
                public void run() {
                    while( objMainProcess == Thread.currentThread() ) {
                       GetState();
            objMainProcess.setDaemon( true );
            objMainProcess.start();
        public static void initStatusTimer(){
            if(objTimer == null)
                 objTimer = new javax.swing.Timer( 1000, new java.awt.event.ActionListener(){
                    public void actionPerformed( java.awt.event.ActionEvent evt){
                              SetState();
        private static void SetState(){
            if( objMainProcess == null ) return;
            synchronized( objMainProcess ) {
                bChanged = true;
                try{
                    objMainProcess.notify();
                }catch( IllegalMonitorStateException e ) {}
        private static boolean GetState() {
            if( objMainProcess == null ) return false;
            synchronized( objMainProcess ) {
                if( bChanged) {
                    SendMessage();
                    bChanged = false;
                    return true;
                try {
                    objMainProcess.wait();
                }catch( InterruptedException e ) {}
                return false;
        }

    Thanks DrClap for your reply. Everything you said is right. It is not easy to make them alternate since SetState() could be called from different places where the state could be anything else but a status message. Like a GREETING message for example. It is a handshaking message but not a status message.
    Again as you said, There is a reason I can't call sendMessage() inside setState().
    The only way I was able to do it is by having a counter of the number of notifies that have been called. Every time notify() is called a counter is incremented. Now instead of just checking if "changed" flag is true, I also check if notify counter is greater than zero. If both true, I send the message. If "changed" flag is false, I check again if the notify counter is greater than zero, I send the message. This way it works, but it is kind of a patch than a good design fix. I am yet to find a good solution.
    Thanks,
    B.D.

  • Problem with threads running javaw

    Hi,
    Having a problem with multi thread programming using client server sockets. The program works find when starting the the application in a console using java muti.java , but when using javaw multi.java the program doesnt die and have to kill it in the task manager. The program doesnt display any of my gui error messages either when the server disconnect the client. all works find in a console. any advice on this as I havent been able to understand why this is happening? any comment would be appreciated.
    troy.

    troy,
    Try and post a minimum code sample of your app which
    does not work.
    When using javaw, make sure you redirect the standard
    error and standard output streams to file.
    Graeme.Hi Graeme,
    I dont understand what you mean by redirection to file? some of my code below.
    The code works fine under a console, code is supposed to exit when the client (the other server )disconnects. the problem is that but the clientworker side of the code still works. which under console it doesnt.
    public class Server{
    ServerSocket aServerSocket;
    Socket dianosticsSocket;
    Socket nPortExpress;
    ClientListener aClientListener;
    LinkedList queue = new LinkedList();
    int port = 0;
    int clientPort = 0;
    String clientName = null;
    boolean serverAlive = true;
    * Server constructor generates a server
    * Socket and then starts a client threads.
    * @param aPort      socket port of local machine.
    public Server(int aPort, String aClientName, int aClientPort){
    port = aPort;
    clientName = aClientName;
    clientPort = aClientPort;
    try{
    // create a new thread
    aServerSocket = new ServerSocket(port) ;
    // connect to the nPortExpress
    aClientListener = new ClientListener(InetAddress.getByName(clientName), clientPort, queue,this);
    // aClientListener.setDaemon(true);
    aClientListener.start();
    // start a dianostic port
    DiagnosticsServer aDiagnosticsServer = new DiagnosticsServer(port,queue,aClientListener);
    // System.out.println("Server is running on port " + port + "...");
    // System.out.println("Connect to nPort");
    catch(Exception e)
    // System.out.println("ERROR: Server port " + port + " not available");
    JOptionPane.showMessageDialog(null, (e.toString()),"ERROR: Server port " + port + " not available", JOptionPane.ERROR_MESSAGE);
    serverAlive = false;
    System.exit(1);
    while(serverAlive&&aClientListener.hostSocket.isConnected()){
    try{
    // connect the client
    Socket aClient = aServerSocket.accept();
    //System.out.println("open client connection");
    //System.out.println("client local: "+ aClient.getLocalAddress().toString());
    // System.out.println("client localport: "+ aClient.getLocalPort());
    // System.out.println("client : "+ aClient.getInetAddress().toString());
    // System.out.println("client port: "+ aClient.getLocalPort());
    // make a new client thread
    ClientWorker clientThread = new ClientWorker(aClient, queue, aClientListener, false);
    // start thread
    clientThread.start();
    catch(Exception e)
    //System.out.println("ERROR: Client connection failure");
    JOptionPane.showMessageDialog(null, (e.toString()),"ERROR: Client connection failure", JOptionPane.ERROR_MESSAGE);
    }// end while
    } // end constructor Server
    void serverExit(){
         JOptionPane.showMessageDialog(null, "Server ","ERROR: nPort Failure", JOptionPane.ERROR_MESSAGE);
         System.exit(1);
    }// end class Server
    *** connect to another server
    public class ClientListener extends Thread{
    InetAddress hostName;
    int hostPort;
    Socket hostSocket;
    BufferedReader in;
    PrintWriter out;
    boolean loggedIn;
    LinkedList queue;      // reference to Server queue
    Server serverRef; // reference to main server
    * ClientListener connects to the host server.
    * @param aHostName is the name of the host eg server name or IP address.
    * @param aHostPort is a port number of the host.
    * @param aLoginName is the users login name.
    public ClientListener(InetAddress aHostName, int aHostPort,LinkedList aQueue,Server aServer)      // reference to Server queue)
    hostName = aHostName;
    hostPort = aHostPort;
    queue = aQueue;
    serverRef = aServer;      
    // connect to the server
    try{
    hostSocket = new Socket(hostName, hostPort);
    catch(IOException e){
    //System.out.println("ERROR: Connection Host Failed");
    JOptionPane.showMessageDialog(null, (e.toString()),"ERROR: Connection to nPort Failed", JOptionPane.ERROR_MESSAGE);     
    System.exit(0);
    } // end constructor ClientListener
    ** multi client connection server
    ClientWorker(Socket aSocket,LinkedList aQueue, ClientListener aClientListener, boolean diagnostics){
    queue = aQueue;
    addToQueue(this);
    client = aSocket;
    clientRef = aClientListener;
    aDiagnostic = diagnostics;
    } // end constructor ClientWorker
    * run method is the main loop of the server program
    * in change of handle new client connection as well
    * as handle all messages and errors.
    public void run(){
    boolean alive = true;
    String aSubString = "";
    in = null;
    out = null;
    loginName = "";
    loggedIn = false;
    while (alive && client.isConnected()&& clientRef.hostSocket.isConnected()){
    try{
    in = new BufferedReader(new InputStreamReader(client.getInputStream()));
    out = new PrintWriter(new OutputStreamWriter(client.getOutputStream()));
    if(aDiagnostic){
    out.println("WELCOME to diagnostics");
    broadCastDia("Connect : diagnostics "+client.getInetAddress().toString());
    out.flush();
    else {       
    out.println("WELCOME to Troy's Server");
    broadCastDia("Connect : client "+client.getInetAddress().toString());
         out.flush();
    String line;
    while(((line = in.readLine())!= null)){
    StringTokenizer aStringToken = new StringTokenizer(line, " ");
    if(!aDiagnostic){
    broadCastDia(line);
    clientRef.sendMessage(line); // send mesage out to netExpress
    out.println(line);
    out.flush();
    else{
    if(line.equals("GETIPS"))
    getIPs();
    else{
    clientRef.sendMessage(line); // send mesage out to netExpress
    out.println(line);
    out.flush();
    } // end while
    catch(Exception e){
    // System.out.println("ERROR:Client Connection reset");
                             JOptionPane.showMessageDialog(null, (e.toString()),"ERROR:Client Connection reset", JOptionPane.ERROR_MESSAGE);     
    try{
    if(aDiagnostic){
    broadCastDia("Disconnect : diagnostics "+client.getInetAddress().toString());
    out.flush();
    else {       
    broadCastDia("Disconnect : client "+client.getInetAddress().toString());
         out.flush();
    // close the buffers and connection;
    in.close();
    out.close();
    client.close();
    // System.out.println("out");
    // remove from list
    removeThreadQueue(this);
    alive = false;
    catch(Exception e){
    // System.out.println("ERROR: Client Connection reset failure");
    JOptionPane.showMessageDialog(null, (e.toString()),"ERROR: Client Connection reset failure", JOptionPane.ERROR_MESSAGE);     
    }// end while
    } // end method run
    * method run - Generates io stream for communicating with the server and
    * starts the client gui. Run also parses the input commands from the server.
    public void run(){
    boolean alive = true;
    try{
    // begin to life the gui
    // aGuiClient = new ClientGui(hostName.getHostName(), hostPort, loginName, this);
    // aGuiClient.show();
    in = new BufferedReader(new InputStreamReader(hostSocket.getInputStream()));
    out = new PrintWriter(new OutputStreamWriter(hostSocket.getOutputStream()));
    while (alive && hostSocket.isConnected()){
    String line;
    while(((line = in.readLine())!= null)){
    System.out.println(line);
    broadCast(line);
    } // end while
    } // end while
    catch(Exception e){
    //     System.out.println("ERRORa Connection to host reset");
    JOptionPane.showMessageDialog(null, (e.toString()),"ERROR: Connection to nPort reset", JOptionPane.ERROR_MESSAGE);
    try{
    hostSocket.close();
         }catch(Exception a){
         JOptionPane.showMessageDialog(null, (a.toString()),"ERROR: Exception", JOptionPane.ERROR_MESSAGE);
    alive = false;
    System.exit(1);
    } // end method run

  • Problem with threads and camera.

    Hi everybody!
    I've a problem with taking snapshot.
    I would like to display a loading screen after it take snapshot ( sometimes i
    have to wait few seconds after i took snapshot. Propably photo is being taken in time where i have to wait).
    I was trying to use threads but i didn't succeed.
    I made this code:
    display.setCurrent(perform);               
            new Thread(new Runnable(){
                public void run() {               
                    while((!performing.isShown()) && (backgroundCamera.isShown())){
                        Thread.yield();
                    notifyAll();
            }).start();
            new Thread(new Runnable(){
                public void run() {
                    try {
                        this.wait();                   
                    } catch(Exception e) {
                        exceptionHandler(e);
                    photo = camera.snapshot();                               
                    display.setCurrent(displayPhoto);
            }).start();This code is sometimes showing performing screen but sometimes no.
    I don't know why. In my opinion performing.isShown() method isn't working correctly.
    Does anyone have some idea how to use threads here?

    Hi,
    I've finally managed to work this fine.
    The code:
           Object o = new Object();
           display.setCurrent(perform);               
            new Thread(new Runnable(){
                public void run() {               
                    while(!performing.isShown()){
                        Thread.yield();
                   synchronized(o) {
                      o.notify();
            }).start();
            new Thread(new Runnable(){
                public void run() {
                    try {
                        synchronized(o) {
                           o.wait(1);
                    } catch(Exception e) {
                        exceptionHandler(e);
                    photo = camera.snapshot();                               
                    display.setCurrent(displayPhoto);
            }).start();

Maybe you are looking for

  • Multiple Crashes, Gray Thumbnails

    Wow, am I having problems with version 7.01. first, could not import a simple I movie hd project of less than five mins of movie. Second, crashed at least ten times will importing movie files from my hard drive. third, would crash while generating th

  • Content Playar is not working

    Hi All, Here we configured learning solution on Portal and given all permissions to the folder where the SCORM content placed and given SAP_ALL permision to the user . But while testing the content player by the url /lms/mediator/config it is giving

  • Iphone videos files problems

    Hello, I'm having the follows problems: I can't drag and drop the *.m4v files from computer to Iphone usign Itunes. If I add the *.m4v files to Itunes using the add file to library option, and them drag and drop to Iphone it works, but I can't play t

  • ITunes lists TV episodes out of order

    Two parts to this question. The picture above lists episodes for the show "Steven Universe". On the highlighted episode, "Political Power" should be listed before "Full Disclosure" but as you can see it's backwards. Normally I know this would be an i

  • SAX Locator linenumber off when blank lines in XML

    I'm using SAX to parse a valid XML document without a DTD. If the document has extra whitespace as blank lines, the lineNumber reported by the Locator is in correct, by a line or two. Is their some property or something to set to get these numbers to