Is there smth like binding layer in another frameworks?

Hello,
Probably not kind of a question to post here.
Is there something like binding layers in another Java web frameworks?
A feature to bind data to an iterator keeping row currency and master/detail management?
Thanks.

I'm not sure there is something like this in the Java world.
There is CDI in Java EE 6 that aims at simplifying the connection of Business Services to JSF UI - but I don't think it takes care of things like row currency.
I think that .Net has some solution for binding too - but then again that's not Java.

Similar Messages

  • How GroupArt remove from one layer to another.

    hi all,
    How GroupArt move from one layer to another.
    Thanks in advance.

    Hi Vijay,
    1) To add new events you have to define a custom action, e.g. under the settings of a button you can choose custom action and define a name for this action
    2) You have to add a custom action, e.g. "next" then you must connect the two layers (drag a line from one layer to the other) and change the event name into "next"
    3) you can pass data from one layer to another like you do it from a form into a rfc/query and so on
    There is also a tutorila available in the help:
    <a href="http://help.sap.com/saphelp_nw2004s/helpdata/en/04/80aab03df044ec995000842e77e1be/frameset.htm">http://help.sap.com/saphelp_nw2004s/helpdata/en/04/80aab03df044ec995000842e77e1be/frameset.htm</a>
    The bank example shows you how to use layers as a wizzard.
    Best Regards,
    Marcel

  • How do I copy text from one layer to  another?

    I have Googled this but not a single answer seems to work.
    I am using Photoshop CS4 on OS X 10.6.7.
    OK, so  I  have a layer that  has some text in it.  I would like to  be able to  simply copy that  text  from one layer  to  another, but this seems to  be impossible as the Edit Paste menu item is grayed out after I have copied it in to the clipboard.  I can paste it into  the SAME layer, but not into another layer.
    This is how I am trying to  do  this.
    In the layer  with the text, click on the "T" icon to  the left.
    Click on the text, in the layer that I  want to  copy. 
    I select the text (either  by  clicking and dragging or pressing Command-A).
    Next I press Command-C.
    Then I  click on the layer In the Layer Panel) where I want to  paste the text.
    Pressing Command-V is impossible because the Edit-Paste menu option is grayed out!!!!
    WHY??????
    Perhaps more importantly, HOW do I copy text  from one layer to  another?

    First thing you can simply right click on the Text Layer and choose Duplicate Layer.  But that will create a new Text Lay
    er identical to the one you have.
    To answer your question in your case....  Create the Text Layer.   Make a New Layer.  Or have the layer you want to paste into visible.
    Highlight the text layer in the Layer Palette and Ctrl+Click (Win) Cmd+Click(Mac) so that you see marching ants walking around your text.
    Edit>Copy.
    Then highlight your Layer you want to paste into and hit Edit>Paste or Cmd+V / Ctrl+V.

  • How do I copy and paste vector art from one layer to another, keeping all of its attributes?

    When I copy a vector shape from one layer to another, the shape picks up the color attributes of an existing shape in the second layer (or sometimes only the outline of the shape appears). What to I do to avoid this from happening (I just just want to paste the shape in its original form and color)?

    OK - I guess this is a little more difficult than I imagined...
    Merge Layers rasterizes all the vector shapes - I want all the shapes to stay as vectors in the second (pasted) layer.
    Merge Shapes changes the color of the copied vector shape - I don't want to change the color
    Shape Layer via Copy [Ctrl] +[J] copies the layer containing the vector shape, but doesn't paste it into the second layer
    Any other ideas? Or, is it possible that PhotoShop doesn't support varied colored vector shapes on the same layer? I am coming from an InDesign background, and there was no issue having many different (colored) vector objects on the same layer.

  • Stretching/translating a layer into another document

    I probably just have my math wrong, but given a selection box boundary (or boundaries), I'm trying to resize it so that it's the size of a target document and then translate it so it's in the top-left corner taking up the whole screen (so what's in square selection takes up whole screen.  Now if I duplicate the layer in the same document and scale it using the document's dimensions and translate, it fills the whole screen.  However, if duplicate the layers into a target document and scale and translate according to its dimensions, the layer is the correct size, but wildly off position (most of the time off the page).  I would think the translation would be independent of the destination doc and based just on the scale and (minX,minY) of the selection box. 
    Is my math off or is there something funny about duplicating a layer into another document?  I'm guessing it's the former, but I keep doing it in my head and the math looks sensible. 
    var layer = app.activeDocument.activeLayer;
    //layer.isBackgroundLayer = false;
    var layers = new Array(thumbnails.length);
    //layers[0] = layer;
    for (var i = 0; i < layers.length; i++) {
        layers[i] = layer.duplicate(documentTarget);
    var srcDocument = app.activeDocument;
    app.activeDocument = documentTarget;
    // for every layer, go through translating and resizing based on the box size
    for (var i = 0; i < layers.length; i++) {
        var selectionBox = thumbnails[i];
        var scaleX = documentTarget.width.as("px") / (selectionBox["maxX"] - selectionBox["minX"]);
        var scaleY = documentTarget.height.as("px") / (selectionBox["maxY"] - selectionBox["minY"]);
        layers[i].resize(scaleX * 100, scaleY * 100, AnchorPosition.TOPLEFT);
        layers[i].translate(new UnitValue(-selectionBox["minX"] * scaleX, "px"),
                                    new UnitValue(-selectionBox["minY"] * scaleY, "px"));

    .. Why would minX,minY be different assuming the layer is duplicated to the topleft of the target document at 0,0?  
    That was the point I was trying to make. That assumption is incorrect. The duplicated layer will not be at 0,0 unless both documents are the same size and resolution. The duped layer is centered in the new doc. Only when the sizes match will the positions match. Otherwise the new top left position could be anywhere including off canvas( negative values ).
    If you don't want to change minX, minY for some reason you could add code to align the layer to the top left before the translate line.
    function align(type){
       var desc = new ActionDescriptor();
         var ref = new ActionReference();
           ref.putEnumerated( charIDToTypeID( "Lyr " ), charIDToTypeID( "Ordn" ), charIDToTypeID( "Lnkd" ));
       desc.putReference( charIDToTypeID( "null" ), ref);
       desc.putEnumerated( charIDToTypeID( "Usng" ),charIDToTypeID( "ADSt" ), charIDToTypeID( type ) );
       executeAction( charIDToTypeID( "Algn" ), desc, DialogModes.NO );;
    function alignTopLeft(){
      align("AdTp");
      align("AdLf");
    app.activeDocument.selection.selectAll();
    alignTopLeft();
    app.activeDocument.selection.deselect();

  • I switch on my mac book pro and all i get is the apple logo and below a loading wheel , but its stuck there for like an hour !!! help??

    i switch on my mac book pro and all i get is the apple logo and below a loading wheel , but its stuck there for like an hour !!! help??

    Take each of these steps that you haven't already tried. Stop when the problem is resolved.
    Step 1
    The first step in dealing with a boot failure is to secure your data. If you want to preserve the contents of the startup drive, and you don't already have at least one current backup, you must try to back up now, before you do anything else. It may or may not be possible. If you don't care about the data that has changed since your last backup, you can skip this step.   
    There are several ways to back up a Mac that is unable to boot. You need an external hard drive to hold the backup data.
         a. Boot into the Recovery partition, or from a local Time Machine backup volume (option key at startup.) When the OS X Utilities screen appears, launch Disk Utility and follow the instructions in this support article, under “Instructions for backing up to an external hard disk via Disk Utility.”
    b. If you have access to a working Mac, and both it and the non-working Mac have FireWire or Thunderbolt ports, boot the non-working Mac in target disk mode. Use the working Mac to copy the data to another drive. This technique won't work with USB, Ethernet, Wi-Fi, or Bluetooth.
    c. If the internal drive of the non-working Mac is user-replaceable, remove it and mount it in an external enclosure or drive dock. Use another Mac to copy the data.
    Step 2
    If the startup process stops at a blank gray screen with no Apple logo or spinning "daisy wheel," then the startup volume may be full. If you had previously seen warnings of low disk space, this is almost certainly the case. The easiest way to deal with the problem is to boot from an external drive, or else to use either of the techniques in Steps 1b and 1c to mount the internal drive and delete some files. According to Apple documentation, you need at least 9 GB of available space on the startup volume (as shown in the Finder Info window) for normal operation.
    Step 3
    Sometimes a boot failure can be resolved by resetting the NVRAM.
    Step 4
    If you use a wireless keyboard, trackpad, or mouse, replace or recharge the batteries. The battery level shown in the Bluetooth menu item may not be accurate.
    Step 5
    If there's a built-in optical drive, a disc may be stuck in it. Follow these instructions to eject it.
    Step 6
    Press and hold the power button until the power shuts off. Disconnect all wired peripherals except those needed to boot, and remove all aftermarket expansion cards. Use a different keyboard and/or mouse, if those devices are wired. If you can boot now, one of the devices you disconnected, or a combination of them, is causing the problem. Finding out which one is a process of elimination.
    Step 7
    If you've booted from an external storage device, make sure that your internal boot volume is selected in the Startup Disk pane of System Preferences.
    Boot in safe mode. Note: If FileVault is enabled, or if a firmware password is set, or if the boot volume is a software RAID, you can’t do this. Post for further instructions.
    Safe mode is much slower to boot and run than normal, and some things won’t work at all, including wireless networking on certain Macs.
    The login screen appears even if you usually log in automatically. You must know your login password in order to log in. If you’ve forgotten the password, you will need to reset it before you begin.
    When you boot in safe mode, it's normal to see a dark gray progress bar on a light gray background. If the progress bar gets stuck for more than a few minutes, or if the system shuts down automatically while the progress bar is displayed, your boot volume is corrupt and the drive is probably malfunctioning. In that case, go to Step 6.
    If you can boot and log in now, empty the Trash, and then open the Finder Info window on your boot volume ("Macintosh HD," unless you gave it a different name.) Check that you have at least 9 GB of available space, as shown in the window. If you don't, copy as many files as necessary to another volume (not another folder on the same volume) and delete the originals. Deletion isn't complete until you empty the Trash again. Do this until the available space is more than 9 GB. Then reboot as usual (i.e., not in safe mode.)
    If the boot process hangs again, the problem is likely caused by a third-party system modification that you installed. Post for further instructions.
    Step 8
    Launch Disk Utility in Recovery mode (see Step 1.) Select your startup volume, then run Repair Disk. If any problems are found, repeat until clear. If Disk Utility reports that the volume can't be repaired, the drive has malfunctioned and should be replaced. You might choose to tolerate one such malfunction in the life of the drive. In that case, erase the volume and restore from a backup. If the same thing ever happens again, replace the drive immediately.
    This is one of the rare situations in which you should also run Repair Permissions, ignoring the false warnings it may produce. Look for the line "Permissions repair complete" at the end of the output. Then reboot as usual.
    Step 9
    Reinstall the OS. If your Mac was upgraded from an older version of OS X, you’ll need the Apple ID and password you used to upgrade.
    Step 10
    Repeat Step 9, but this time erase the boot volume in Disk Utility before installing. The system should automatically reboot into the Setup Assistant. Follow the prompts to transfer your data from a Time Machine or other backup.
    Step 11
    This step applies only to models that have a logic-board ("PRAM") battery: all Mac Pro's and some others (not current models.) Both desktop and portable Macs used to have such a battery. The logic-board battery, if there is one, is separate from the main battery of a portable. A dead logic-board battery can cause a boot failure. Typically the failure will be preceded by loss of the settings for the startup disk and system clock. See the user manual for replacement instructions. You may have to take the machine to a service provider to have the battery replaced.
    Step 12
    If you get this far, you're probably dealing with a hardware fault. Make a "Genius" appointment at an Apple Store, or go to another authorized service provider.

  • Accessing the Binding Layer from Java

    Dear All
    How can i Accessing the Binding Layer from Java code i need details document for it becuase i have complex binding object (object inside object)
    Regards
    Mohd.Weshah

    i know but my case is complicated :
    Dear All
    i have generate a human task based task flow and i create a page with payload object . i have an empiterator whcih include the following attributes :
    - id
    - name
    - telephone
    - department (Complex object) it include another attributes - dept and dept Name
    my question i want to fill the empiterator by java code and fill all attributes including complex object (department ) from java code (my backing bean). \
    you can download a document that describe my problems by images and details :
    [http://www.4shared.com/account/document/fTREP1mv/ADF_Question__2_.html]
    Regards
    Wish79

  • How to transfer (copy/move/paste) group layer to another page or file?

    Hi
    I wanted to transfer a set of group layer to another page in Fireworks CS5, how can I do that?
    When I try to copy paste, it doesnt paste as a group instead paste as layers, then I have to again group it and name it Why Fireworks doesn't understand that I have copied a set of group layer?

    You can share a layer to another page in Fireworks by selecting the layer in the Layers panel, then clicking on the small fly-out menu in the upper-righthand corner of the Layers panel and choosing "Share Layer to Pages". This opens up a two-column dialog, where can select the new page and add it to the right-hand column, "Include layer to page(s)".
    As far as moving a layer into another file, you may need to use a Command like "L - Copy to Next Doc" from John Dunning's Frame and Layer Utilities command set:
    http://johndunning.com/fireworks/about/FrameLayerUtils

  • Move adjustment layer to another file

    In Photoshop, is there a way to move an adjustment layer to another file WITHOUT having to pull the files from the workspace to the side and drag and drop the layer?

    Layer > Duplicate Layers
    Edit: But even in tabs view one should be able to manually drag them over to another file. Could you please post a screenshot to illustrate your issue?

  • Invoke binding layer from servlet

    hi every body,
    how can i invoke binding layer from servlet .
    thanks
    maher

    hi john
    execuseme how to make sure that ADFBindingFilter servlet filter is applied to my getImage servlet??
    the following is my web.xml file :
    <?xml version = '1.0' encoding = 'windows-1256'?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    version="2.5" xmlns="http://java.sun.com/xml/ns/javaee">
    <context-param>
    <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
    <param-value>client</param-value>
    </context-param>
    <context-param>
    <description>If this parameter is true, there will be an automatic check of the modification date of your JSPs, and saved state will be discarded when JSP's change. It will also automatically check if your skinning css files have changed without you having to restart the server. This makes development easier, but adds overhead. For this reason this parameter should be set to false when your application is deployed.</description>
    <param-name>org.apache.myfaces.trinidad.CHECK_FILE_MODIFICATION</param-name>
    <param-value>false</param-value>
    </context-param>
    <context-param>
    <description>Whether the 'Generated by...' comment at the bottom of ADF Faces HTML pages should contain version number information.</description>
    <param-name>oracle.adf.view.rich.versionString.HIDDEN</param-name>
    <param-value>false</param-value>
    </context-param>
    <context-param>
    <param-name>RedirectToLogin</param-name>
    <param-value>login</param-value>
    </context-param>
    <filter>
    <filter-name>JpsFilter</filter-name>
    <filter-class>oracle.security.jps.ee.http.JpsFilter</filter-class>
    <init-param>
    <param-name>enable.anonymous</param-name>
    <param-value>true</param-value>
    </init-param>
    </filter>
    <filter>
    <filter-name>trinidad</filter-name>
    <filter-class>org.apache.myfaces.trinidad.webapp.TrinidadFilter</filter-class>
    </filter>
    <filter>
    <filter-name>adfBindings</filter-name>
    <filter-class>test.DynamicJDBCBindingFilter</filter-class>
    </filter>
    <filter>
    <filter-name>ServletADFFilter</filter-name>
    <filter-class>oracle.adf.share.http.ServletADFFilter</filter-class>
    </filter>
    <filter>
    <filter-name>ADFLibraryFilter</filter-name>
    <filter-class>oracle.adf.library.webapp.LibraryFilter</filter-class>
    </filter>
    <filter-mapping>
    <filter-name>JpsFilter</filter-name>
    <servlet-name>Faces Servlet</servlet-name>
    <dispatcher>FORWARD</dispatcher>
    <dispatcher>REQUEST</dispatcher>
    <dispatcher>INCLUDE</dispatcher>
    </filter-mapping>
    <filter-mapping>
    <filter-name>trinidad</filter-name>
    <servlet-name>Faces Servlet</servlet-name>
    <dispatcher>FORWARD</dispatcher>
    <dispatcher>REQUEST</dispatcher>
    </filter-mapping>
    <filter-mapping>
    <filter-name>adfBindings</filter-name>
    <servlet-name>Faces Servlet</servlet-name>
    <dispatcher>FORWARD</dispatcher>
    <dispatcher>REQUEST</dispatcher>
    </filter-mapping>
    <filter-mapping>
    <filter-name>ServletADFFilter</filter-name>
    <servlet-name>Faces Servlet</servlet-name>
    <dispatcher>FORWARD</dispatcher>
    <dispatcher>REQUEST</dispatcher>
    </filter-mapping>
    <filter-mapping>
    <filter-name>ADFLibraryFilter</filter-name>
    <url-pattern>/*</url-pattern>
    <dispatcher>FORWARD</dispatcher>
    <dispatcher>REQUEST</dispatcher>
    </filter-mapping>
    <listener>
    <listener-class>oracle.adf.mbean.share.connection.ADFConnectionLifeCycleCallBack</listener-class>
    </listener>
    <listener>
    <listener-class>oracle.adf.mbean.share.config.ADFConfigLifeCycleCallBack</listener-class>
    </listener>
    <listener>
    <listener-class>oracle.bc4j.mbean.BC4JConfigLifeCycleCallBack</listener-class>
    </listener>
    <servlet>
    <servlet-name>Faces Servlet</servlet-name>
    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet>
    <servlet-name>resources</servlet-name>
    <servlet-class>org.apache.myfaces.trinidad.webapp.ResourceServlet</servlet-class>
    </servlet>
    <servlet>
    <servlet-name>BIGRAPHSERVLET</servlet-name>
    <servlet-class>oracle.adfinternal.view.faces.bi.renderkit.graph.GraphServlet</servlet-class>
    </servlet>
    <servlet>
    <servlet-name>BIGAUGESERVLET</servlet-name>
    <servlet-class>oracle.adfinternal.view.faces.bi.renderkit.gauge.GaugeServlet</servlet-class>
    </servlet>
    <servlet>
    <servlet-name>MapProxyServlet</servlet-name>
    <servlet-class>oracle.adfinternal.view.faces.bi.renderkit.geoMap.servlet.MapProxyServlet</servlet-class>
    </servlet>
    <servlet>
    <servlet-name>GatewayServlet</servlet-name>
    <servlet-class>oracle.adfinternal.view.faces.bi.renderkit.graph.FlashBridgeServlet</servlet-class>
    </servlet>
    <servlet>
    <servlet-name>adflibResources</servlet-name>
    <servlet-class>oracle.adf.library.webapp.ResourceServlet</servlet-class>
    </servlet>
    <servlet>
    <servlet-name>getImage</servlet-name>
    <servlet-class>Servlet.getImage</servlet-class>
    </servlet>
    <servlet>
    <servlet-name>ordDeliverMedia</servlet-name>
    <servlet-class>oracle.ord.html.OrdPlayMediaServlet</servlet-class>
    <init-param>
    <param-name>releaseMode</param-name>
    <param-value>Stateful</param-value>
    </init-param>
    </servlet>
    <servlet-mapping>
    <servlet-name>ordDeliverMedia</servlet-name>
    <url-pattern>ordDeliverMedia</url-pattern>
    </servlet-mapping>
    <filter-mapping>
    <filter-name>adfBindings</filter-name>
    <servlet-name>ordDeliverMedia</servlet-name>
    </filter-mapping>
    <servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>/faces/*</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
    <servlet-name>resources</servlet-name>
    <url-pattern>/adf/*</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
    <servlet-name>resources</servlet-name>
    <url-pattern>/afr/*</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
    <servlet-name>BIGRAPHSERVLET</servlet-name>
    <url-pattern>/servlet/GraphServlet/*</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
    <servlet-name>BIGAUGESERVLET</servlet-name>
    <url-pattern>/servlet/GaugeServlet/*</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
    <servlet-name>MapProxyServlet</servlet-name>
    <url-pattern>/mapproxy/*</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
    <servlet-name>resources</servlet-name>
    <url-pattern>/bi/*</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
    <servlet-name>GatewayServlet</servlet-name>
    <url-pattern>/flashbridge/*</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
    <servlet-name>adflibResources</servlet-name>
    <url-pattern>/adflib/*</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
    <servlet-name>getImage</servlet-name>
    <url-pattern>/getimage</url-pattern>
    </servlet-mapping>
    <session-config>
    <session-timeout>30</session-timeout>
    </session-config>
    <mime-mapping>
    <extension>html</extension>
    <mime-type>text/html</mime-type>
    </mime-mapping>
    <mime-mapping>
    <extension>txt</extension>
    <mime-type>text/plain</mime-type>
    </mime-mapping>
    <mime-mapping>
    <extension>swf</extension>
    <mime-type>application/x-shockwave-flash</mime-type>
    </mime-mapping>
    <jsp-config>
    <jsp-property-group>
    <url-pattern>*.jsff</url-pattern>
    <is-xml>true</is-xml>
    </jsp-property-group>
    </jsp-config>
    </web-app>
    thanks
    maher

  • Is there a way to automatically add another of the same page while a form is being filled?

    Is there a way to automatically add another of the same page while a form is being filled?
    I have a two-page form of which the second page is essentially a spreadsheet analog.  Often, there is need for for more lines than are available on the page.  Is there a way in which to add another or even multiple copies of the second page? 
    Thanks ahead...
    TG

    You can do that with a dynamic XFA form created in LiveCycle Designer, which comes with Acrobat Pro for Windows. For more information, you can ask over at the LiveCycle Designer forum.

  • I want to open a folder and see how many times theres inside like you could before...

    I want to open a folder and see how many items theres inside like you could before...
    How can you do that on maverick plz ?

    Open it and choose Show Status Bar from the Finder's View menu.
    (112378)

  • Passing value to bind variable of another table from one table

    hi,
    I have a multi select table. When one row is selected from this table (no button is clicked, only selection is done), an attribute from that selected row (say userid) should be passed to the bind variable of another table and the corresponding details of that particular userid should be displayed in the other table. When more than one row is selected, the other table should display no rows.
    My main problem is what code has to be written to pass value to bind variable and where it should be written.
    Please give me a detailed explaination as soon as possible.
    Thank you.

    Sorry, didnot add this. The table is multi select table.

  • As a JSF Developer, I want to understand technically how the JSF View Components are rendered as html and how there events are binded to Server.I want to know each Java Class that is involved in flow.

    As a JSF Developer, I want to understand technically how the JSF View Components are rendered as html and how there events are binded to Server.I want to know how flows goes to the server and server understands the method which is to be called of managed bean. I know it is with annotation @ManagedBean and method name, but how Call is binded with annotation @ManagedBean.
    In short, i want to know the internal implementation of JSF Framework.

    As a JSF Developer, I want to understand technically how the JSF View Components are rendered as html and how there events are binded to Server.I want to know how flows goes to the server and server understands the method which is to be called of managed bean. I know it is with annotation @ManagedBean and method name, but how Call is binded with annotation @ManagedBean.
    In short, i want to know the internal implementation of JSF Framework.

  • I need to access (Ultra) scsi-2 drives but the card is dead. Is there an adapter/converter out there somewhere like my IDE to USB for this? Any other suggestions appreciated.

    I need to access (Ultra) scsi-2 68 pin drives but the card is dead. Is there an adapter/converter out there somewhere like my IDE to USB for this? Any other suggestions appreciated.

    Might be hard to find, but long ago there were a couple of Firewire<->SCSI adapters, if you have USB2 those might be available also...
    http://www.ratocsystems.com/english/products/FR1SX.html
    http://www.ratocsystems.com/english/products/U2SCX.html
    http://www.ebay.com/sch/i.html?_sacat=0&_nkw=scsi+to+firewire&_frs=1
    I think Belkin made one also.
    Might be far cheaper to buy an old Mac or even PC with SCSI.

Maybe you are looking for