Non-standard interfaces must be server-side before de-serializing?

Classes which implement non-standard interfaces are a problem for de-serialization? In the below code SomeInterface is the problem. If the "SomeInterface.class" is not server-side when the de-serialization starts then the de-serialization can't happen? Please look at this test code:
client
public class Main {
  public static void main(String[] args) {
    try {
      Socket sok = new Socket("192.168.2.2", 1638);
      MyOOS moos = new MyOOS(sok.getOutputStream());
      moos.writeObject(new ClassA(222));
      try { Thread.sleep(3000); } catch(InterruptedException e) { }
      sok.close();
    } catch(Exception e) { e.printStackTrace() ; }
  private static byte[] getClassImage() throws Exception {
    InputStream in = new FileInputStream(new File("/dev/ClassA.class"));
    List<Byte> objClassImage = new ArrayList<Byte>();
    int b = in.read();
    while(b != -1) {
      objClassImage.add(Byte.valueOf((byte) b));
      b = in.read();
    byte[] classImage = new byte[objClassImage.size()];
    for(int i = 0; i < classImage.length; i++) {
      classImage[i] = ((Byte) objClassImage.get(i)).byteValue();
    in.close();
    return classImage;
        static class MyOOS extends ObjectOutputStream {
          MyOOS() throws Exception { super(); }
          MyOOS(OutputStream out) throws Exception { super(out); }
          protected void annotateClass(Class<?> cl) throws IOException {
            try {
              byte[] classImage = getClassImage();
              writeInt(classImage.length);
              write(classImage);
            } catch(Exception e) { e.printStackTrace(); }
// public class ClassA implements Serializable, SomeInterface  {  // <-- bad
public class ClassA implements Serializable  { // <-- good
  int id;
  ClassA(int i) { id = i; }
  public void foo() {
    System.out.println("ClassA::foo--> id = " + id);
public Interface SomeInterface { public void foo(); }
server
public class Hello {
  static MyClassLoader myLoader = new MyClassLoader();
  public static void main(String[] args) { new Hello().run(); }
  void run() {
    try {
      ServerSocket servSok = new ServerSocket(1638);
      Socket sok = servSok.accept();
      MyOIS mois = new MyOIS(sok.getInputStream());
      Object obj = (Object) mois.readObject();
      Method m = obj.getClass().getMethod("foo", null);
      m.invoke(obj, null);
    } catch (Exception e) { e.printStackTrace(); }
      static class MyClassLoader extends ClassLoader {
        byte[] classImage;
        // is this a normal way to program Java? Because I am unsure about how to handle the byte[] in
        // resolveClass(), I am jamming them in here. Would a good programmer do stuff like this?
        public Class<?> loadClass(String name, byte[] classImage) throws Exception {
          this.classImage = classImage;
          return loadClass(name);
        protected Class<?> findClass(String name) throws ClassNotFoundException {
          return defineClass(name, classImage, 0, classImage.length);
      static class MyOIS extends ObjectInputStream {
        private MyClassLoader myLoader = new MyClassLoader();
        MyOIS() throws IOException { super(); }
        MyOIS(InputStream in) throws IOException { super(in); }
        protected Class<?> resolveClass(ObjectStreamClass desc) throws IOException, ClassNotFoundException {
          try {
            int classImageSize = readInt();
            byte[] classImage = new byte[classImageSize];
            read(classImage);
            return myLoader.loadClass(desc.getName(), classImage);
          } catch (Exception e) { e.printStackTrace(); }
          return null;
}If a serialized object implements an interface that is not already on the de-serializing jvm end, then serialization is not possible? Am I suppose to put the SomeInterface object on the server (somehow) before de-serializing an object that actually implements SomeInterface .
I have heard of object graphs. So, would not the implemented interfaces be part of an object's object graph? Thanks.

ejp wrote:
I have no idea what any of that means, if anything, but RMI comes with a dynamic codebase facility if that's what you're looking for.I successfully moved an object with a non-standard pure abstract class to a remote jvm:
client
public class Main {
  public static void main(String[] args) {
    try {
      Socket sok = new Socket("192.168.2.2", 1638);
      MyOOS moos = new MyOOS(sok.getOutputStream());
      DataOutputStream dos = new DataOutputStream(sok.getOutputStream());
      byte[] classImage = getClassImage("/dev/PureAbstractClass.class");
      dos.writeInt(classImage.length);
      dos.write(classImage, 0, classImage.length);
      moos.writeObject(new ClassA(5));
      try { Thread.sleep(3000); } catch(InterruptedException e) { }
      sok.close();
    } catch(Exception e) { e.printStackTrace() ; }
  private static byte[] getClassImage(String path) throws Exception {
    InputStream in = new FileInputStream(new File(path));
    List<Byte> objClassImage = new ArrayList<Byte>();
    int b = in.read();
    while(b != -1) {
      objClassImage.add(Byte.valueOf((byte) b));
      b = in.read();
    byte[] classImage = new byte[objClassImage.size()];
    for(int i = 0; i < classImage.length; i++) {
      classImage[i] = ((Byte) objClassImage.get(i)).byteValue();
    in.close();
    return classImage;
        static class MyOOS extends ObjectOutputStream {
          MyOOS() throws Exception { super(); }
          MyOOS(OutputStream out) throws Exception { super(out); }
          protected void annotateClass(Class<?> cl) throws IOException {
            try {
              byte[] classImage = getClassImage("/dev/ClassA.class");
              writeInt(classImage.length);
              write(classImage);
            } catch(Exception e) { e.printStackTrace(); }
public abstract class PureAbstractClass {
  public abstract void foo();
  public abstract void bar();
public class ClassA extends PureAbstractClass implements Serializable {
  int id;
  ClassA(int i) { id = i; }
  public void foo() { System.out.println("PureAbstractClass::ClassA::foo id = " + id); }
  public void bar() { System.out.println("PureAbstractClass::ClassA::bar id = " + id); }
server
public class Hello {
  static MyClassLoader myLoader = new MyClassLoader();
  public static void main(String[] args) { new Hello().run(); }
  void run() {
    try {
      ServerSocket servSok = new ServerSocket(1638);
      Socket sok = servSok.accept();
      MyOIS mois = new MyOIS(sok.getInputStream());
      DataInputStream dis = new DataInputStream(sok.getInputStream());
      int classImageSize = dis.readInt();
      byte[] classImage = new byte[classImageSize];
      dis.read(classImage, 0, classImageSize);
      myLoader.myDefineClass("PureAbstractClass", classImage, 0, classImage.length);
      Object obj = (Object) mois.readObject();
      Method m = obj.getClass().getMethod("bar", null);
      m.invoke(obj, null);
    } catch (Exception e) { e.printStackTrace(); }
        static class MyClassLoader extends ClassLoader {
          byte[] classImage;
          public Class<?> loadClass(String name, byte[] classImage) throws Exception {
            this.classImage = classImage;
            return loadClass(name);
          protected Class<?> findClass(String name) throws ClassNotFoundException {
            return defineClass(name, classImage, 0, classImage.length);
          public Class<?> myDefineClass(String name, byte[] classImage, int x, int y) {
            return defineClass(name, classImage, x, y);
        static class MyOIS extends ObjectInputStream {
          MyOIS() throws IOException { super(); }
          MyOIS(InputStream in) throws IOException { super(in); }
          protected Class<?> resolveClass(ObjectStreamClass desc) throws IOException, ClassNotFoundException {
            try {
              int classImageSize = readInt();
              byte[] classImage = new byte[classImageSize];
              read(classImage);
              return myLoader.loadClass(desc.getName(), classImage);
            } catch (Exception e) { e.printStackTrace(); }
            return null;
}I hope this relates to understanding RMI. Moving objects that extend non-standard classes and implementing non-standard interfaces is not easy. Or, maybe there is an easier way. Anyway, thanks ejp. Yesterday I was extremely confused. Now, I am just a little confused but think I have basic understanding. I feel big progress was made.

Similar Messages

  • ICustomRouter interface CSOM or Server Side Object model

    Hi!
    We are looking into a custom document route, and I know about the ICustomRouter interface.
    Can it be used in CSOM?
    The ICustomeRouter example here:
    http://msdn.microsoft.com/en-us/library/microsoft.office.recordsmanagement.recordsrepository.icustomrouter.aspx
    references:
    using Microsoft.SharePoint;
    ...which leans towards the Server Side Object model.
    I don't see anything for "routing" or "records" here for the 2013 API:
    http://msdn.microsoft.com/en-us/library/office/dn268594(v=office.15).aspx
    Thank you!

    The only thing available from CSOM is the following namespace:
    Microsoft.Office.RecordsManagement.InformationPolicy.ProjectPolicy
    Some of the methods available are below:
    IsProjectClosed
    PostPoneProject
    GetProjectPolicies
    Blog | SharePoint Field Notes Dev Tools |
    SPFastDeploy | SPRemoteAPIExplorer

  • Is it possible to downsize a large image on the server side (before serving it to the user)?

    One of the banes of my existence is resizing the same image several times because of the various contexts it appears in. For example, the main image in an article will appear bigger than it will on the index page, where many article teasers are placed. Then there's the image that goes in the Facebook "share" og. Then there's... you get the idea.
    Same image, different contexts, lots of Photoshop resizing, lots of files to keep track of... but I save on bandwidth.
    On the flip side, I can target the same (large) image and simply downsize via traditional HTML (width/height) on the browser end, but that will mean downloading a file that is 50-75% larger than what is actually needed. If the front page teaser displays a 1280px image at 500px, that's a huge (and potentially costly) waste of bandwidth.
    HOWEVER...
    If I could do the same thing on the SERVER side... in other words, tell the server to take only the pixels it needs from the (large) image and serve only THOSE to the end user... then the same image could be used in each and every context, and only the necessary bandwidth is used.
    Is this do-able? If so, what is the process formally called, and where would I begin to learn how to do it?
    Thanks!

    That's amazing. I didn't think it was possible without saving files on the server first.
    This will suit my needs just fine, but allow me to push my luck even further with the following "hail mary" question : would it be possible for the server to serve the PNG with a width of 100% of the container? In other words, the behavior would mimic width=100% but the server would still only serve as many bytes as are needed to fill that space.
    Not only would I not have to create separate files for every resize (we fixed that problem with your suggestion) but I wouldn't even have to customize every link to a specific size.
    I'm not expecting an affirmative on this one, but it was worth asking. =)

  • Non standard baudrate

    Dear All,
    I want to access the device with non standard baudrate. Everytime I set the baudrate, serial port always return a default baudrate which is 9600.
    (Always failed)
    Is there anybody knows how to set a non standard baudrate in Java?
    Currently I'm using Linux as a platform.
    Regards

    Those standard baud rates don't just exist for the fun of it. Devices,
    especially simple devices, use a clock crystal to derive their baud rates.
    Even 'baud rate friendly clock crystals' exist for this very purpose.
    If you have to deal with a device that uses a non-standard baud rate,
    return it to the shop, complain and demand a 100% refund.
    kind regards,
    Jos

  • CSS 11501 ftp server setup problem using non-standard port

    Dear Expert,
    we would like to setup FTP server over CSS where our member sever use non-std-port to open both control/data channel (i.e. 6370 as ctrl and 6369 as data this case.) but seems we only get Passive mode FTP mode work only but not for Active mode FTP case for data channel establishement for server back to client...is there any professional advise can help on this case...? here is our setup info FYI
    #  sh ver
    Version:               sg0820501 (08.20.5.01)
    Flash (Locked):        08.10.1.06
    Flash (Operational):   08.20.5.01
    Type:                  PRIMARY
    Licensed Cmd Set(s):   Standard Feature Set
                           Secure Management
    CVDM Version:          cvdm-css-1.0_K9
    !*************** Global
    ftp data-channel-timeout 10
      ftp non-standard-ports
    !************************** SERVICE **************************
    service ftp_ftpgtw
      keepalive maxfailure 2
      keepalive frequency 15
      keepalive retryperiod 2
      keepalive type tcp
      ip address 192.168.52.170
      protocol tcp
      keepalive port 6370
      port 6370
      active
    # sh run group drfusegtwftp_grp 
    !*************************** GROUP ***************************
    group gtwftp_grp
      vip address 192.168.52.28
      add service ftp_ftpgtw
      active
      content ftp_gtwpkg-ftpgtw
        add service ftp_ftpgtw
        vip address 192.168.52.28
        port 21
        protocol tcp
        application ftp-control
        active

    Thanks for your confirmation on no prob found in config level 1st..:P..as to save us a lot of time in isolating problem at this level.
    What we can notice is seems the data port connection is fail to open  for server back to client....for our general sense..... the flow expected should be:
    TCP session A -- Client:1234 --> VIP:21 --> member svr:6370
    TCP session B -- Client: 5678 <--> VIP:20 <--> member Svr: 6379 [on demand generated between server/client]
    but we can only see session B fail  to setup when client side access VIP site on CSS..even we try to put the most standard case as below
    TCP session A -- Client:1234 --> VIP:21 --> member svr:21
    TCP session B -- Client: 5678 <--> VIP:20 <--> member Svr: 20
    we still unable to make the Active mode FTP access work either...hence we got no idea on how CSS handle FTP access when it involve services over multiple tcp ports..
    and from CSS xlate view...the problem is we can only see what NAT IP that used in CSS connect to client...but no way to confirm for which port for VIP using outgoing to client. neither it is dropped by CSS..nor it is never setup from VIP to Client side.

  • Cisco Secure ACS 5.6 Backup to FTP server listening on non-standard ports

    When defining a software repository from CLI or GUI, I have not been able to define the custom port that our FTP server is listening on.  Does ACS support the use of custom ports for FTP?

    Hi Anthony,
    I don't thing so it will support non-standard ports as the options are only Disk,FTP,SFTP,TFTP and NFS.
    Regards,
    Chris

  • Server side tracking on non-OSX server

    Does anyone aware of attempts of reproducing server side tracking on non-MacOSX server platform?
    Our primary storage is based on opensolaris + zfs, giving us a lot of advantages. But synchronization of mobile users always takes some serious amount of time.
    Obviously re-exporting home directories through OSX server doesn't change something, because server side tracking requires filesystem to be local on server.
    I can guess that protocol should be relatively simple and doable on other unixes (as soon you get some way to track filesystem changes).

    while part of it may be technically feasible, i've never seen or heard anything about implementing server side tracking on a non-os x server. at the very least, the server runs sshd on an alternate port for client communication. beyond that, i don't know what magic is involved.
    in practice, i haven't seen it work reliably on os x server, though i haven't done any testing with this enabled on 10.6 server yet. it may not be worth pursuing.

  • Can Adobe CS 6 Design Standard run side by side with CS5 Design standard, or must I un-install CS5?

    Can CS6 Design Standard run side by side on a PC (Win 7) with CS5 Design Standard, or must CS5 be un-installed first?

    All versions of Adobe apps install into their own separate folder.
    You can run CS5 and CS6 side by side.

  • Using non-standard sshd port after 10.8 upgrade

    After spending hours tracking down this solution as a result of losing my ssh settings after the upgrade to Mountain Lion, I thought it might be useful to post the steps taken to restore the configuration I used with Snow Leopard.
    Changing the sshd default listening port
    Disclaimer: This tutorial is specific to Mountain Lion (OS X 10.8). I was able to accomplish this using Snow Leopard (OS X 10.6) in fewer steps, but upgrading required this more involved solution. 
    Steps:
    1.) You must first enable the root user account in order to change the relevant files. This can be done from the terminal, or by going to System Preferences --> Users & Groups. Once there, click on 'Login Options' at the bottom of the Current User list, and 'Join' where it says 'Network Account Server'.
    This will bring up a smaller window. Click on 'Open Directory Utility' at the bottom. You will be prompted for your admin password. Now go to the 'Edit' tab at the top of the screen and toggle down to 'Enable Root User'.  You will be prompted to enter your admin password twice.
    2.) Log out of your regular user account. At the log in screen you will now see an additional entry for 'other'. Click on that and log in with the username 'root' and your admin password. If are inexperienced as a root-level user, be careful as you can cause problems to your system can be difficult to undo.
    Once in your root account, the first step is to create a new 'service definition' in the etc/services file. Open the file with text editor of choice and scroll to the current entry for sshd listening port, which will look like this:
    ssh    22/udp    # SSH Remote Login Protocol
    ssh    22/tcp     # SSH Remote Login Protocol
    Overwrite the '22' with the port number you would like sshd to listen on:
    ssh    12345/udp   # SSH Remote Login Protocol
    ssh    12345/tcp    # SSH Remote Login Protocol
    *12345 being our hypothetical, non-standard port.
    It is important to note that the new port number will not take by simply adding a new uncommented line to the file (I tried), unless of course you comment the original ssh entries. Easiest way is just to overwrite what is there already. Save changes.
    3.) You now need to edit the ssh.plist file, which is located at /System/Library/LaunchDaemons/ssh.plist. A word to those familiar with Linux/BSD environments: changing the default port in the sshd_config file, which exists in OS X, does NOT change the listening port. Simply changing the default port, saving the config file, and restarting the server (the sensible way) won't work. The OS X sshd server (openssh) is configured to get launch instructions from the ssh.plist file, as opposed to sshd_config. If you are more interested in this aspect of OS X, read up on LaunchDaemons (e.g. launchd).
    Before altering the ssh.plist file, you should save a backup copy in case of mistakes, or if you need to revert back to it in the future. Name your backup file something like original.ssh.plist, etc.
    In the ssh.plist file, locate the SocksServiceName entry and change it from the default:
    <key>SockServiceName</key>
    <string>ssh</string>
    To the following:
    <key>SockServiceName</key>
    <string>$alternate port number</string>
    In our example from above this value would be 12345.
    4.) Save your changes, and exit ssh.plist. You now need to move the backup file you created (original.ssh.plist) out of the System/Library/LaunchDaemons path.
    The updated sshd port will not take until you have only one ssh.plist file in the LaunchDaemons directory - this has to do with how launchd is configured to load files which is outside the scope of the current discussion.  (*If you've found a way around this, please share.) 
    5.) Restart the sshd server. Easiest way to accomplish this is going to System Preferences --> Sharing and clicking off 'Remote Login', then clicking back on it. 
    6.) Test the configuration by logging into the machine running the sshd server from another host using:
    ssh username@ipaddress -p 12345
    There are a few good tutorials out there that capture some of these steps, but many are dated and/or incomplete. If you are running a standard setup of OS X 10.8, this should work for you.
    Of course, don't be fooled into thinking that changing the default listening port from the ubiquitously-probed 22 equates to actual security. At best, it will cut down on the number of dubious connection attempts and probing.

    Hi all, above helped me change the sshd port number, thank you very much.
    Just upgraded to OS X 10.9.3 on my macbook pro.
    My findings were:
    Step 1(become a root user or sudo)
    Step 2 (/etc/services)
    This may not be required unless you want ssh to work without the "-p XXXX" option to connect to other ssh hosts.  I favor such as "ssh -p 2222 user@hostname" just to be sure I know what I am doing and also to leave ssh known port as its default "22".
    Step 3 (/System/Library/LaunchDaemons/ssh.plist)
    This is required if you want to change the sshd port number, I changed both "ssh" to "2222" in this file.
    Step 4 (launchctl)
    Below is a must as I understood:
    launchctl unload /System/Library/LaunchDaemons/ssh.plist
    launchctl load /System/Library/LaunchDaemons/ssh.plist
    it should be already working with the new port number.
    You can "ssh -p 2222 user@localhost" in the console terminal and see if its working.
    Since I am no expert on MacOS X, and it is a macbook pro that I am using, I also rebooted the system and changes were reflected permanantly.
    Thank you guys!

  • Error getting the server-side naming service functionality

    Hi all,
    we are currently setting up the CTS+ activity based transport scenario. Everything seems to be working fine, however, we have to import each transport twice...
    Before I go into detail in the error we get I will first describe our landscape. All the configuration we did was done in debate with SAP.
    We use the SAP Solution manager (ehp1 SP 4) as the CTS+ server as recommended by SAP and have an NWDI system of which we only use the components DTR and CBS (since CMS is not used anymore in the activity based transport). We have defined three logical ports/RFCs. CTSCONFIG points to the NWDI system. CTSDEPLOY is running on the java stack of the solution manager and is only used for portal content (=epa) transports. CTSDEPLOY_DI is pointing to the NWDI system and is used for all NWDI (=dip) changes. The NWDI is running ehp1 SP3.
    In STMS I defined all the non-abap systems (and configured them to use CTSDEPLOY_DI) and created the following transport route:
    upload system (IMP) -> DEV -> ACC -> QAS -> PRD
    I first attached the used dependencies in a transport request (SAP_BUILDT, EP_BUILDT, etc) these imported just fine. Then I did the SCA files which contain our custom code. I extracted these from the assemble step on our current NWDI system which will be removed as soon as we switch to the new CTS+ environment.
    When we import the transport into the runtime systems then we see the DTR and CBS be filled sucesfully for this specific system. However, the transport request itself always fails with errorcode 12 and the error is:
    Error during export service registration: Error getting the server-side naming service functionality during getInitialContext opera
    tion. com.sap.engine.services.jndi.persistent.exceptions.NamingException: Error getting the server-side naming service functionality during getInitialContext operation.
    Error in execution of Web services CTSDEPLOY_DI , exception is cx_cts_file_import_failed
    File import canceled
    When we then reimport the same transport it will go the second time fine. This is no problem during the setup but will not be workable when we go live ofcourse. Is there anyone who had this issue before as well and have a solution for it?
    Kind Regards,
    Nico van der Linden...

    Hello Nico,
    I would need the java trace files to get more info on this issue, but you can start troubleshooting this error with these notes:
    #1172252: CTS+, 'attach file': Troubleshooting Guide;
    #1003674: Enhancement for non-ABAP systems in CTS;
    #1155884: CTS+, configuration 'close coupling': Troubleshooting guide;
    Pay special attention to parameter  NON_ABAP_WBO_CLIENT, whether it's correctly set on your CTS+ system(s).
    Note #1003674 is a must for any CTS+ systems to work properly, as well as having an updated version of the transport programs (tp and R3trans).
    Lastly, note #1155884 goes through some JCoException exceptions that commonly take place during CTS+ transports. But again, you need to check the underlying trace files to find the root cause of your issue.
    I hope this information helps.
    Best regards,
    Tomas Black

  • Displaying server-side include in DW8

    Sorry if this has been asked before? I did search and
    couldn't find it (this site is painfully slow and searching is
    worse)
    I am trying to figure out how to make DW8 show my server-side
    include files in the design view. My site uses SSI for all headers
    and footers, so every page has at least 2 SSI's. They show up as
    the SSI mark on the page, but not the code or graphical
    representation of what is in the SSI. I need to have that code
    snipet show up in my design view. The only way I have been able to
    figure out how to do it, is to reinsert the SSI again from the
    menu, and then delete it. Doing it that way, the original ssi that
    is listed on the page will display graphicly in the design view.
    I do have the option in the preferences - Invisible Elements
    - Server-Side includes: and the check box is checked / enabled.
    If I could, while I'm here, one other question. I have DW
    code rewriting turned on, and it shows me each time I open a file,
    what corrections it has made. But if I save the file, and then open
    it again, it shows me the exact same corrections being done again.
    Is there a trick to make DW8 save the corrections it automatically
    makes to the files?
    many thanks in advance.

    > I know that there were major changes between 4 and 8.
    One of which was tightening the tolerance for bad code. CS3
    is very strict
    about displaying proper code.
    However, your fragments below look OK.
    Murray --- ICQ 71997575
    Adobe Community Expert
    (If you *MUST* email me, don't LAUGH when you do so!)
    ==================
    http://www.dreamweavermx-templates.com
    - Template Triage!
    http://www.projectseven.com/go
    - DW FAQs, Tutorials & Resources
    http://www.dwfaq.com - DW FAQs,
    Tutorials & Resources
    http://www.macromedia.com/support/search/
    - Macromedia (MM) Technotes
    ==================
    "mmdlcab" <[email protected]> wrote in
    message
    news:[email protected]...
    >
    quote:
    Originally posted by:
    bregent
    > Do any of your included files include html, head or body
    tags? If so,
    > that's
    > the problem. Having those creates invalid html which DW
    will not
    > render.
    >
    > Thats a great thought, but I just checked, and no, none
    of those tags are
    > in
    > the files. I'll see if I can attach the code for the 2
    files and see if
    > that
    > helps any. The header file does have my menu system
    pasted into the text
    > of
    > the include file, but that has not caused problems
    previously. FWIW, this
    > worked fine in DW4 which is what I upgraded from. In
    version 4, the
    > headers
    > and footers showed up fine in desgin view. I know that
    there were major
    > changes between 4 and 8.
    >
    > Header include file:
    > ----------------------------
    > <table border="0" align="center" width="750"
    height="110">
    > <tr>
    > <td><a href="/index2.html"><img
    src="/images/color_logo.gif"
    > width="110"
    > height="107" alt="MMDL Logo" border="0"
    /></a></td>
    > <td align="center" valign="middle"><a
    href="/index2.html"><img
    > src="/images/header4.gif" width="450" height="110"
    border="0" alt="MMDL -
    > The
    > worlds largest steel tip dart league"
    /></a></td>
    > <td align="center" valign="middle"><a
    href="testpage.html"></a><a
    > href="
    http://www.dmisports.com/darts_main.html"><img
    > src="/images/dmilogo_small.gif" alt="DMI Sports"
    width="110" height="77"
    > border="0" longdesc="
    http://www.dmisports.com"
    /><br />
    > <!-- <a href="
    http://www.mmdl.org/dmi_flyer.pdf"
    > target="_blank">League Board
    </a></td>-->
    > </a><a href="
    http://www.mmdl.org/dmi_flyer.pdf">League
    Board </a></td>
    > </tr>
    > </table>
    > <!-- DHTML Menu Builder Loader Code START
    --><script language="JavaScript"
    > type="text/javascript">
    > var navVer = navigator.appVersion;
    > if(navVer.substr(0,3) >= 4)
    > if((navigator.appName=="Netscape") &&
    (parseInt(navigator.appVersion)==4))
    > {
    > document.write('<' + 'script language="JavaScript"
    type="text/javascript"
    > src="
    http://www.mmdl.org/dmbmenu/nsmenu.js"><\/script\>');
    > } else {
    > document.write('<' + 'script language="JavaScript"
    type="text/javascript"
    > src="
    http://www.mmdl.org/dmbmenu/iemenu.js"><\/script\>');
    > }</script>
    > <!-- DHTML Menu Builder Loader Code END
    --><table border="0" width="550"
    > height="110">
    > -------------------------------------
    > footer include file
    > --------------------
    > <table border="0" align="center">
    > <tr>
    > <td width="20" valign="top"
    align="center"> </td>
    > <td align="center" valign="middle" width="194">
    > <div align="left"><a
    href="mailto:[email protected]?subject=MMDL
    > Darts.*..
    > ">Comments? Email us</a></div>
    > </td>
    > <td align="center" valign="middle"
    width="128"><a
    > href="
    http://www.mmdl.org/dmbmenu/textmenu.html">Text
    > based menu</a></td>
    > <td align="center" valign="middle"
    width="223">&copy; <SUP>SM</SUP>
    > 2007
    > Minute Man Dart League. All rights reserved.</td>
    > </tr>
    > </table>
    > -----------------------
    >
    >
    >
    >

  • [Announcement: Java server-side web controls] - TICL 1.0 Final Released

    Hello JSP developers,
    We are pleased to announce the immediate availability of TICL (Tag Interface
    Component Library) 1.0 Final Release. TICL is library of server-side user
    interface components accessible through JSP tags. Like a conventional
    desktop toolkit, the components maintain state and manage interaction logic
    with the end-user with little or no assistance from the programmer.
    Read more about TICL at http://www.kobrix.com/ticl/ticlmain.jsp.
    If you are already a TICL user, check out the release notes at
    http://www.kobrix.com/ticl/releasenotes.jsp for the latest changes.
    More info
    One of the major goals of TICL is to bring RAD-like development to the WEB
    platform. Programmers can concentrate on logical functionality and build JSP
    pages by placing TICL components through tags and responding to user events.
    Every component is self-contained and manages interaction with the end-user.
    Visual appearance of components is abstracted into a high-level styles
    framework. In fact, TICL is probably the only server-side Java toolkit that
    rivals Microsoft ASP.NET's web controls.
    The library is tailored more towards WEB application development, rather
    than content only oriented sites. It is designed to quickly build clean,
    robust, well-structured and therefore highly maintainable code. It
    integrates seemlessly into existing JSP applications and it will work on any
    standard compliant JSP 1.1 container (e.g. Tomcat 3.2.1 and above, Resin
    etc.) and with fairly recent versions of the popular browsers.
    Core features are:
    - A powerful and extensible server-side event model. Component-end user
    interaction is encapsulated into a well defined set of server-side events.
    You can of course define event listeners, develop custom events, event
    filters etc.
    - Predefined components like panels, tabbed panels, tree views, DHTML menus,
    table views. Most can perform their interaction with the end-user at the
    browser through DHTML or by making a trip back to server on every user
    action (like expanding a tree node or minimizing a panel) - that is
    components are either "client" or "server" managed.
    - Smart browser handling. A complete framework for dealing with browser
    (user agent) capabilities, including detection of dynamic properties like
    connection speed, screen resolution, available plugins etc.; supporting JSP
    tags; on the fly selection of component rendering based on the current user
    agent.
    - A high-level styles framework for complete customization of the look&feel
    of components. Styles can be organized into themes. An inheritence mechanism
    of style objects provides for a powerful high-level structuring. The
    framework allows for a clean separation between look&feel and functional
    behaviour of GUI elements. No more copy&paste, no more code cluttering with
    tedious, browser-specific HTML details - consistency of look&feel can be
    easily achieved by maintaining a single TICL style sheet, a simple XML file,
    that is applied to all pages in your WEB application.
    - Full encapsulation of HTML forms, including a file upload component,
    augmented with things such as server-side command handlers, labels and DHTML
    tooltips. Form fields are typed, true server-side components. Not limited to
    the standard HTML form fields, they operate on a high level and custom ones
    can be developed and plugged into the framework.
    - A very powerful and easy to use declarative form validation mechanism
    (both client and server-side). You define validation rules and handlers for
    invalid forms in a clean, declarative way. The same rules you define can be
    applied at the client (through automatic generation of the necessary
    JavaScript) or at the server. Special purpose syntax allows you to easily
    handle interdependencies between field values.
    - A Data Objects framework integrated with TICL forms. Allows you to
    manipulate complex aggregate structures and associate them with forms for
    automatic mapping to/from form field values and data object fields (e.g.
    Java beans). A type mapping framework allows you to map any form field type
    to any Java type.
    - An integration module for the popular Struts framework is provided also.
    For example, it is possible to use the powerful TICL form tags with Struts'
    ActionForms.
    TICL is FREE for non-commercial and non-govermental use, and for an
    unlimited evaluation period. It comes with an extensive, over 200 pages,
    Reference Manual. To download it, please goto http://www.kobrix.com and
    select Downloads from the TICL pulldown menu. If you are not already a TICL
    user, you may need to register first.
    We sincerely hope you will enjoy TICL and are looking forward to your
    feedback!
    Best Regards,
    Borislav Iordanov
    [email protected]
    Kobrix Software Inc.
    http://www.kobrix.com

    This looks quite nice. I'm going to evaluate it now, but I wish it was open-source....
    Judging from the release notes, it's been around for a while. Has anybody had any experience with this product? Is it reliable? Does it scale well?

  • Keyboard shipped with Pavilion non-standard number keypad

    Hello, I advised a friend to buy an HP Pavilion 550 desktop for use at her office. She is a bookkeeper and relies heavily on the number pad on the right side of the keyboard. The keyboard that shipped has a non-standard numeric keypad where the "0" key has a right facing arrow instead of the "0" key. Financial people cannot function with this type of keyboard. I had never seen a keyboard like this before and cannot imaging why HP shipped something that is not standard. I asked her to contact HP support, since there must have been a mistake. HP support offered to SELL her a new keyboard, but would not replace the keyboard shipped with the PC. The PC is brand new and just came out of the box! This is an embarrassing display of our support for our products.  Please help.

    i suppose you could do that - but that seems like a royal pain, and certainly not the graceful experience that apple is known for.
    Alternatively - i have found you can just type CHA CHA in text with the keyboard and it translates it into numbers accordingly.
    Still - a jarring experience, i prefer the other way. Oh well.

  • Contribute changing relative path for server-side include

    I am using Contribute CS3, version 4.1, and my pages crash
    every time a send a draft for review, because Contribute is
    rewriting a relative URL in a server-side include.
    The server-side include (before I send for review) reads:
    <!--#include file="../foo/bar.fileextention"-->
    After I edit other portions of the page and send the draft
    for review, it reads:
    <!--#include file="http:
    //www.servername.com/foo/bar.fileextension"-->
    Which results in the draft being unreadable.
    Is there any way to tell Contribute not to monkey with this
    URL? I have hunted, read the forums, checked the knowledge base,
    and coming up empy.
    Thanks in advance for any help you can provide!! I really
    appreciate it!
    -Nicholas

    Answering my own question.
    I researched this complete forum and with taking ideas from
    different posts, I was able to figure this out. I thought I would
    post it for anyone else needing to know the answer in one place:
    Include tags must read:
    <!--#include virtual="includes/fileName.html"-->
    (Include file is NOT a real HTML doc -- no tags in file
    except for CSS, as it would be used if not using Contribute.)
    No reference to .dwt needed nor Template created.
    No Edit instance tags needed anywhere.
    Contribute user navigates to page:
    [Upper right corner] Click Choose...
    [In my structure] User opens includes folder (double clicks)
    User selects THE file (clicks OK)
    User clicks on Edit Page button
    (Text is now editable.)
    User edits text.
    User clicks on Publish button.
    Worked for me several times trying.
    - Janet

  • Problem with skin for server side buttons.

    Hi,
    I have a problem with the skin for server side renderd buttons.
    In my CSS file I have :
    .AFButtonStartIcon:alias
    content:url(/skins/images/btns.JPG);
    .AFButtonEndIcon:alias
    content:url(/skins/images/btne.JPG);
    .AFButtonTopBackgroundIcon:alias
    content:url(/skins/images/btntb.JPG);
    .AFButtonBottomBackgroundIcon:alias
    content:url(/skins/images/btnbb.JPG);
    JPG files in project are in dir "public_html/skins/images".
    In WAR file,the JPG files are in "/skins/images" directory.
    Skin configuration is correct because other settings from CSS
    file are functioning fine after deploying.
    But buttons are standard browser buttons and are not taking the images i have used.
    In document provided by Oracle it says:
    (Note: These icons must be specified using either context-image or
    resource-image icons. Text-based icons are not allowed.)
    I am nt able to understand what this means?

    Perhaps this thread will help.
    JSF Skining Button Images
    The doc should say whether or not the width/height is a requirement. But since it doesn't mention it, try adding a width and height.
    - Jeanne

Maybe you are looking for

  • Window Update 8.0 to 8.1

    Sir, There are window 8 is installed in my G6 Notebook now i want to update my window 8 to window 8.1. i have completed download the updatioin of window 8.1 but after completed download system required to restart to b configure the laptop. but after

  • My MacBook Pro randomly disconnects from Safari and can only access it after I restart my computer...What is wrong? and how do I fix it?

    I restored my MBP to factory thinking that would help...NOPE! I spend a great portion of my day on the web, networking for my writing, what can I do...getting desparate.

  • Copying Accounts to multiple iMacs possible?

    I preside over our computer lab at my school which has 14 iMacs and 12 Gateways. Do I have to program the accounts individually on each iMac or can I do one and copy the preferences to the others? Each one has 3 accounts with Admin, Student , and Dig

  • Why can't I read a .docx file?

    I have an iPad running iOS 5.0.1 and I just received an email with a .docx attached.  Whan I tap on it, it tries to open only to get a message that it can not read this kind of file.  It can however read a .doc.  What's up with that?

  • Need help on TRacking Jobs history of an ETL package

    Hello there, Kindly Elaborate me the way to track Job history of my ETL package. For Sample I am running that package on my local Server. i need a SQL Server tAble, Which Gives me following information -Name of the package -TYpe of job.: Etl or TSql