Problems with custom taglib (PD4ML)

I'm tying to convert html to pdf with PD4ML taglb in a
portal. But I get a NullpointerException when I try to
use the taglib.
I'm running 6.20 SP2
Configuration as follows:
PORTAL-INF/Pagelet/
convert.jsp  (see below)
PORTAL-INF/lib
pd4ml_demo.jar (included in the .classpath)
pd4ml_tl_demo.jar
PORTAL-INF/taglib/
pd4ml.tld
In the portalapp.xml
<application>
  <application-config>
    <property name="SharingReference" value="knowledgemanagement,htmlb,com.sap.km.bs.ui.wdf,com.sap.km.cm.ui.flex,com.sap.portal.usermanagement,com.sap.portal.useragent,com.sap.portal.pagebuilder,org.zefer.pd4ml"/>
    <property name="ServicesReference" value="com.sap.netweaver.coll.appl.room"/>
    <property name="releasable" value="false"/>
    <property name="startup" value="true"/>
    <property name="ClassLoadingPolicy" value="CoreAccessInAPI,transitive"/>
    <property name="DeploymentPolicy" value="5.0"/>
    <property name="SharingReference" value="knowledgemanagement, landscape, htmlb, exportalJCOclient, exportal,pd4ml"/>
</application-config>
<component name="pd4ml">
  <component-config>
   <property name="ComponentType" value="jspnative"/>
   <property name="JSP" value="pagelet/convert.jsp"/>
   <property name="SecurityZone" value="com.tetrapak.neworbis.dist.PORTAL-INF/low_safety"/>
  </component-config>
  <component-profile>
    <property name="pd4ml" value="../taglib/pd4ml.tld"/>
  </component-profile>
</component>
convert.jsp
<%@ taglib uri="../taglib/pd4ml.tld" prefix="pd4ml"%><%@page
contentType="text/html; charset=ISO8859_1"%><pd4ml:transform
      screenWidth="400"
      pageFormat="A5"
      pageOrientation="landscape"
      pageInsets="100,100,100,100,points"
      enableImageSplit="false">
  <html>
      <head>
           <title>pd4ml test</title>
            <style type="text/css">
                  body
            </style>
      </head>
      <body>
           <img src="images/logos.gif" width="125" height="74">
            <p>
            Hello, World!
<pd4ml:page_break/>
            <table width="100%" style="background-color: #f4f4f4; color: #000000">
            <tr>
                 <td>
                  Hello, New Page!
                 </td>
            </tr>
            </table>
      </body>
  </html>
</pd4ml:transform>
Exception from system log (pd4ml in debug mode)
Exception ID:01:04_13/06/05_0003
com.sapportals.portal.prt.component.PortalComponentException: Error in service call of Portal Component
Component : com.tetrapak.neworbis.pd4ml
Component class : pagelet._sapportalsjsp_convert
User : SELOFBERGM
     at com.sapportals.portal.prt.core.PortalRequestManager.handlePortalComponentException(PortalRequestManager.java:853)
     at com.sapportals.portal.prt.core.PortalRequestManager.callPortalComponent(PortalRequestManager.java:311)
     at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:138)
     at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:191)
     at com.sapportals.portal.prt.component.PortalComponentResponse.include(PortalComponentResponse.java:217)
     at com.sapportals.portal.prt.pom.PortalNode.service(PortalNode.java:580)
     at com.sapportals.portal.prt.core.PortalRequestManager.callPortalComponent(PortalRequestManager.java:301)
     at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:138)
     at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:191)
     at com.sapportals.portal.prt.core.PortalRequestManager.runRequestCycle(PortalRequestManager.java:670)
     at com.sapportals.portal.prt.connection.ServletConnection.handleRequest(ServletConnection.java:229)
     at com.sapportals.portal.prt.dispatcher.Dispatcher$doService.run(Dispatcher.java:555)
     at java.security.AccessController.doPrivileged(Native Method)
     at com.sapportals.portal.prt.dispatcher.Dispatcher.service(Dispatcher.java:415)
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
     at com.inqmy.services.servlets_jsp.server.InvokerServlet.service(InvokerServlet.java:126)
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
     at com.inqmy.services.servlets_jsp.server.RunServlet.runSerlvet(RunServlet.java:149)
     at com.inqmy.services.servlets_jsp.server.ServletsAndJspImpl.startServlet(ServletsAndJspImpl.java:833)
     at com.inqmy.services.httpserver.server.RequestAnalizer.checkFilename(RequestAnalizer.java:672)
     at com.inqmy.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:314)
     at com.inqmy.services.httpserver.server.Response.handle(Response.java:173)
     at com.inqmy.services.httpserver.server.HttpServerFrame.request(HttpServerFrame.java:1288)
     at com.inqmy.core.service.context.container.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:36)
     at com.inqmy.core.cluster.impl5.ParserRunner.run(ParserRunner.java:55)
     at com.inqmy.core.thread.impl0.ActionObject.run(ActionObject.java:46)
     at java.security.AccessController.doPrivileged(Native Method)
     at com.inqmy.core.thread.impl0.SingleThread.run(SingleThread.java:148)
Caused by: com.sapportals.portal.prt.component.PortalComponentException: Original exception:
     at pagelet._sapportalsjsp_convert.doContent(_sapportalsjsp_convert.java:105)
     at com.sapportals.portal.prt.component.AbstractPortalComponent.serviceDeprecated(AbstractPortalComponent.java:209)
     at com.sapportals.portal.prt.component.AbstractPortalComponent.service(AbstractPortalComponent.java:114)
     at com.sapportals.portal.prt.core.PortalRequestManager.callPortalComponent(PortalRequestManager.java:301)
     at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:138)
     at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:191)
     at com.sapportals.portal.prt.component.PortalComponentResponse.include(PortalComponentResponse.java:217)
     at com.sapportals.portal.prt.pom.PortalNode.service(PortalNode.java:580)
     at com.sapportals.portal.prt.core.PortalRequestManager.callPortalComponent(PortalRequestManager.java:301)
     at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:138)
     at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:191)
     at com.sapportals.portal.prt.core.PortalRequestManager.runRequestCycle(PortalRequestManager.java:670)
     at com.sapportals.portal.prt.connection.ServletConnection.handleRequest(ServletConnection.java:229)
     at com.sapportals.portal.prt.dispatcher.Dispatcher$doService.run(Dispatcher.java:555)
     at java.security.AccessController.doPrivileged(Native Method)
     at com.sapportals.portal.prt.dispatcher.Dispatcher.service(Dispatcher.java:415)
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
     at com.inqmy.services.servlets_jsp.server.InvokerServlet.service(InvokerServlet.java:126)
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
     at com.inqmy.services.servlets_jsp.server.RunServlet.runSerlvet(RunServlet.java:149)
     at com.inqmy.services.servlets_jsp.server.ServletsAndJspImpl.startServlet(ServletsAndJspImpl.java:833)
     at com.inqmy.services.httpserver.server.RequestAnalizer.checkFilename(RequestAnalizer.java:672)
     at com.inqmy.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:314)
     at com.inqmy.services.httpserver.server.Response.handle(Response.java:173)
     at com.inqmy.services.httpserver.server.HttpServerFrame.request(HttpServerFrame.java:1288)
     at com.inqmy.core.service.context.container.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:36)
     at com.inqmy.core.cluster.impl5.ParserRunner.run(ParserRunner.java:55)
     at com.inqmy.core.thread.impl0.ActionObject.run(ActionObject.java:46)
     at java.security.AccessController.doPrivileged(Native Method)
     at com.inqmy.core.thread.impl0.SingleThread.run(SingleThread.java:148)
Caused by: java.lang.NullPointerException
     at org.zefer.pd4ml.taglib.PD4MLTransformerTag.doStartTag(PD4MLTransformerTag.java:87)
     at pagelet._sapportalsjsp_convert.doContent(_sapportalsjsp_convert.java:47)
     at com.sapportals.portal.prt.component.AbstractPortalComponent.serviceDeprecated(AbstractPortalComponent.java:209)
     at com.sapportals.portal.prt.component.AbstractPortalComponent.service(AbstractPortalComponent.java:114)
     at com.sapportals.portal.prt.core.PortalRequestManager.callPortalComponent(PortalRequestManager.java:301)
     at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:138)
     at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:191)
     at com.sapportals.portal.prt.component.PortalComponentResponse.include(PortalComponentResponse.java:217)
     at com.sapportals.portal.prt.pom.PortalNode.service(PortalNode.java:580)
     at com.sapportals.portal.prt.core.PortalRequestManager.callPortalComponent(PortalRequestManager.java:301)
     at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:138)
     at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:191)
     at com.sapportals.portal.prt.core.PortalRequestManager.runRequestCycle(PortalRequestManager.java:670)
     at com.sapportals.portal.prt.connection.ServletConnection.handleRequest(ServletConnection.java:229)
     at com.sapportals.portal.prt.dispatcher.Dispatcher$doService.run(Dispatcher.java:555)
     at java.security.AccessController.doPrivileged(Native Method)
     at com.sapportals.portal.prt.dispatcher.Dispatcher.service(Dispatcher.java:415)
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
     at com.inqmy.services.servlets_jsp.server.InvokerServlet.service(InvokerServlet.java:126)
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
     at com.inqmy.services.servlets_jsp.server.RunServlet.runSerlvet(RunServlet.java:149)
     at com.inqmy.services.servlets_jsp.server.ServletsAndJspImpl.startServlet(ServletsAndJspImpl.java:833)
     at com.inqmy.services.httpserver.server.RequestAnalizer.checkFilename(RequestAnalizer.java:672)
     at com.inqmy.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:314)
     at com.inqmy.services.httpserver.server.Response.handle(Response.java:173)
     at com.inqmy.services.httpserver.server.HttpServerFrame.request(HttpServerFrame.java:1288)
     at com.inqmy.core.service.context.container.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:36)
     at com.inqmy.core.cluster.impl5.ParserRunner.run(ParserRunner.java:55)
     at com.inqmy.core.thread.impl0.ActionObject.run(ActionObject.java:46)
     at java.security.AccessController.doPrivileged(Native Method)
     at com.inqmy.core.thread.impl0.SingleThread.run(SingleThread.java:148)
[email protected]a4 #
Any ideas or suggestions to solve this problem would be much appreciated.
Tanks
M.Lofberg

Hi Karsten,
as I have just written in detail within the OSS message mentioned in this thread earlier, I'm really estonished about SAP's perception of what role specifications and standards play within the J2EE world. And as is seen within this thread as well as in many others (or what you can learn when talking to J2EE developers, getting in touch with SAP), this perception is not something which raises SAP's standing among these (in my opinion: important, also for SAP) people.
> it's not a bug but intended
Being generous, I would call it an "intended bug"...
> (for whatever reason)
If at least there would be someone giving a real reason, one could start discussing if this reason is so unalterable that we developers can say "OK, it's not nice, but that's a reason I can acknowledge".
The problem arises when someone states "it's intended - for whatever reason". It's not personally, Karsten. But that's the same attitude I got yesterday with the OSS message. Someone closes the message, saying "it works that way". Period. No reason. Nothing. And that's really poor! (I don't expect you to give me the reasons, and it's not your task to do, especially not within some nonsignificant SDN thread. But people closing an OSS message, which reports a violation of the JSP specification should! Anyhow, this combination "not a bug ... intended ... for whatever reason" stands for a special SAP attitude I experience the whole two years I'm working now in this area, and I can say: This is no fun.)
To be not only criticising: On a first glance
public ServletResponse getResponse() {
  return componentRequest.getServletResponse(false);
could do it, maybe. <i>Maybe</i> there is some possible problem arising, but nobody told so far...
For the reponse object, it seems that this parameter <i>answering</i> (and the logic behind it) could be considered as a problem. Looking at the exampe given - why shouldn't the taglib write something into the (original) response (without the runtime skipping all further content processing)? Maybe this could be the point where the discussion could start (mainly, among SAP development!).
Best regards,
and no hard feelings
Detlev

Similar Messages

  • Problem with custom paper size on dot matrix printer

    Hi All,
    I'm using CR2008 with updated to SP2. I have a problem with custom paper size (W=21; H=14), the CR Viewer show report with custom paper size correctly but when I print it to a dot matrix printer (Epson LQ 300+) the content was rotated to landscape. If print to a laser printer the content was printed correctly. My report was printed correctly by CR10 or previous versions I got this issue when upgraded to CR2008. I aslo tested my computer and printer with orther application like MS Word the printing have no problem with custom paper size.
    Thanks for any advice for me.
    Han

    Looking at the Epson LQ 300+ driver, I see that the latest update is from 2002. In my experience, most matrix printer drivers are not unicode. Crystal Reports is designed to only work with unicode printer drivers. See the [How Printer Driver Options Affect a Report|https://www.sdn.sap.com/irj/boc/index?rid=/library/uuid/a09051e9-721e-2b10-11b6-f9c65c64ef29&overridelayout=true] article, page 6 for details. Also, see [this|https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/oss_notes_boj/sdn_oss_boj_dev/sap(bD1lbiZjPTAwMQ==)/bc/bsp/spn/scn_bosap/notes.do] note.
    Finally, see if you can print from the CR designer to this printer and if you get the correct results here.
    Ludek

  • Problems with Custom Paper Size and Address Book

    I'm having some trouble printing from Address Book onto a custom paper size. I'm attempting to set up a notecard, and only print one at a time, rather than multiple columns as in the Labels option. The trouble is that when creating this small size, Address Book doesn't recognize it as anything other than a regular sheet of US Letter, and thus prints the address in the middle of the page.
    I have no problem printing envelopes, though, which seems odd because they too go in the manual feed for my printer. The notecards are similar width to the envelopes, but only about half the length.
    Has anyone else experienced problems with custom paper sizes printing improperly? I'm using an HP 4515 LaserJet, but have access to a few other laser printers. Thanks for any insight

    I have had the same problem, and with the same result; Adobe Tech Support can't help or fix, after 15 hours on phone, Level 2 support. It is a software bug Adobe has, and can't seem to fix.  I just upgraded to Lightroom CC, and my problem migrated with the upgrade.  I print in Photoshop fine.
    If you found an answer, I would appreciate  knowing how to do it!
    Thanks

  • Problems with custom buttons

    I have problems with custom buttons in Captivate 5. The button is not switching from the _up stage to _over stage, but when I click on it the _down stage works fine. It is not a problem with the naming of the buttons. They are all with the same name and in lower case. I have tried with various custom buttons and the problem is the same. There is no problems with the standard buttons from the Adobe Gallery, so it is a bit strange, also strange that it is only the _over stage that causes problems.
    The buttons I have made in Adobe Illustrator. Have tried both exporting in png and bmp format. It is the same problem.
    Hope someone has some idea as to what can be wrong.

    Hi Manish,
    I have uploaded the zip file with the button files to Acrobat and mailed you the link.
    Look forward to hear if you find a reason or more importantly a solution :-)
    Kind regards
    Rene

  • Problem with custom tag

    I have written a custom tag that I am having problems with. It works on some machines, but not on others. I have a page that uses many 'standard' tags. I have correctly set the URI etc, because all of my other tags work. However, on some machines, my custom tag gives me an error:
    attribute does not support request time values
    I'm assuming that I have the correct versions of standard.jar etc because all of the regular jstl 1.1 tags work. It is just my custom tag that throws an error.
    here is the .tld for my tag:
    <?xml version="1.0" encoding="ISO-8859-1" ?>
    <!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN" "http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">
    <taglib>
         <tlib-version>1.1.2</tlib-version>
         <jsp-version>1.2</jsp-version>
         <short-name>My custom tag</short-name>
         <uri>http://my.custom/tags</uri>
         <tag>
              <name>breadcrumb</name>
              <tag-class>tag.BreadcrumbTag</tag-class>
              <body-content>JSP</body-content>
              <attribute>
                   <name>breadcrumbs</name>
                   <required>true</required>
                   <rtexprvalue>false</rtexprvalue>
                   <description>Pass in the list of Breadcrumbs containing the actual information
    about what tags need to be rendered on the page.</description>
              </attribute>
         </tag>
    </taglib>
    Any thoughts/help greatly appreciated...

    I encountered the same problem in our environment. I did the same thing as
              James. Simply re-initialize all variables in the do end tag.
              Also, with the nested tags you use you may also need to implement cloneable
              in the inner tag if the outer tag keeps references to all the inner tag
              instances.
              For instance if the outer tag kept a vector of references to the inner tag,
              then you would need to use clone() on the inner tag before adding it to the
              vector.
              "James Lynn" <[email protected]> wrote in message
              news:3af05d29$[email protected]..
              > > But
              > > with WL 6.0, the cell tag handler reuse the same instance each time the
              > cell tag
              > > is called and the member field is not reset
              >
              > I had the same problem. As a work around, I reinitialize everything in my
              > doEndTag() method and it works.
              >
              >
              > --
              > James Lynn - Lead Software Architect
              > Oakscape - Java Powered eBusiness Solutions <http://www.oakscape.com/>
              >
              >
              

  • Problems with Customer Service AND unexplained charges!

    I've been with Verizon for I-don't-know-how-many years, and through the years you are bound to have a few problems here and there but some of the problems are just ridiculous! It's also the same reocurring problem!!!!!!!!!!!!!!!! I was with Alltel first, before it was bought out by Verizon. The years I was with Alltel, I didn't have near as many problems. It seems EVERY time I do the smallest change or something to my phone or bill, I get a ridiculous amount of charges that I was NOT aware of, nor told about... EVEN IF I ask "So this isn't going to change my bill, or there will not be any unexpected/unexplained charges that I don't know about?"... BUT not matter how many times I ask... and NO matter how many times I am told "no"... there always is. For example.... last year, I updated and signed a new 2 year contract and purchased the first Driod. Before, my 30 day warranty was up, I was having problems with my Driod, and decided to send it in and get a new one. Before I did this.. I called customer service to make sure there would be no interuption in my bill, and there wouldn't be any unexpect charges, and there would be no difference in anything. I was told there was not, and once I recieved my new phone, just send it in and nothing would be changed. Of course, when I get my bill.. I see I was charged $500 for the new phone. It was explained to me that my credit card was reimbursed (which I never check that card, because I never used it expect to purchase the phone) and that I was recharged for the new phone, since it was a new phone. So I had to fork out the $500 (on top of my bill) and then wait months to get the $100 rebate card. Months after that, I "assumed liablity of my line" because I was on a plan with my family. I decided to have my own line, so I "assumed liability." I was not told that when I did that, I "renewed" my contract date. So I just added 6 more months to my 2 year contract. Was NOT told about that! Then again...... I was recently having problems with my Driod (the screen went black and would not come back on.) I had to turn on an OLD motorola razor, so I would not be without a phone for two days while I was waiting on my phone to come in. As soon as my phone came in, I had my Droid turned back on. I recieved my bill recently, and my bill was $200 over what it normally should be.... so I called in... apparently, when I had my phone replaced, they dropped off my data package and when I recieved my replacement driod, they never put it back on. So I was being charged for alllll my data usage... again I was NOT told about this. I wasn't even aware that they had dropped off my data package, and when/where did they get the authority to do that??? These are just a FEW of the problems that I have had.................................
    Does anyone have these reoccuring problems!?

    I understand that my bill can be viewed online, and I do view it fairly regularly, so if there are any unexplained charges, I can call Verizon asap. The problem does not come from me not understanding my bill, but from customer service. I have been with Verizon for a very long time, and it is a continuing problem. Where did Verizon get the 'OK' to drop my data package off my plan? Who authorized that?
    After calling Verizon and trying to find out the problem, the gentleman told me that when I activated on old phone while I was waiting on my new Droid to arrive, my data package was dropped off and I "should" have been told about that. When I reactiviated my new Droid, I "should" have called and had them restart my data package. I was not aware that when you activate an old phone that data plan is taken off your plan. In all my years of having cell phones, I never make two years with one phone. I have always, at one point, had to turn on an old phone, and my data package has NEVER changed. Why would I have my data package dropped and why would I have to call Verizon to have it restarted. I would never know to do that unless I was TOLD that my data packaged HAD to be re-added when I recieved my new phone, but I was never told of that.
    All of that is beside the point, the point is, Verizon was never given the authorization to change my plan. Never. My bill was taken care of and readjusted, and I am thankful for that. It does not change the fact it is always a hassle with Verizon Customer Service and I am always the one having to PROVE that I am not at fault, or that I was NEVER told of certian things. EVERY TIME I HAVE CALLED CUSTOMER SERVICE, I AM TOLD "I'M SORRY, THEY SHOULD HAVE TOLD YOU THAT."
    "they should" does not help my bill with the extra armount of charges.

  • Problem with custom form

    Hey All,
    Has anyone ever experience a problem with maximizing or resizing their custom form? I have a rather large form that every time I try to maximize or resize causes Business One to hang and crash.
    Any ideas what might be causing this?

    Hi Curtis,
    Thanks for posting the solution... will keep it in mind!
    Thanks,
    Adele

  • Problem with customer open items. Transaction FBL5N and F-30

    Hi all,
    I have a little problem with a customer.
    When I see transaction FBL5N, I can see 3 open items, but, when I go to clear then in F-30, no appears.
    Anybody can help me.
    Thanks in advance

    Hi all,
    I have solved the problem
    The problem was that exits a proposal where these open items were.
    I have  deleted this proposal, and then, I could create a post with clearing.
    Thanks everybody

  • Problem with custom control and focus

    I've a problem with the focus in a custom control that contains a TextField and some custom nodes.
    If i create a form with some of these custom controls i'm not able to navigate through these fields by using the TAB key.
    I've implemented a KeyEvent listener on the custom control and was able to grab the focus and forward it to the embedded TextField by calling requestFocus() on the TextField but the problem is that the TextField won't get rid of the focus anymore. Means if i press TAB the first embedded TextField will get the focus, after pressing TAB again the embedded TextField in the next custom control will get the focus AND the former focused TextField still got the focus!?
    So i'm not able to remove the focus from an embeded TextField.
    Any idea how to do this ?

    Here you go, it contains the control, skin and behavior of the custom control, the css file and a test file that shows the problem...
    control:
    import javafx.scene.control.Control;
    import javafx.scene.control.TextField;
    public class TestInput extends Control {
        private static final String DEFAULT_STYLE_CLASS = "test-input";
        private TextField           textField;
        private int                 id;
        public TestInput(final int ID) {
            super();
            id = ID;
            textField = new TextField();
            init();
        private void init() {
            getStyleClass().add(DEFAULT_STYLE_CLASS);
        public TextField getTextField() {
            return textField;
        @Override protected String getUserAgentStylesheet() {
                return getClass().getResource("testinput.css").toExternalForm();
        @Override public String toString() {
            return "TestInput" + id + ": " + super.toString();
    }skin:
    import com.sun.javafx.scene.control.skin.SkinBase;
    import javafx.beans.value.ChangeListener;
    import javafx.beans.value.ObservableValue;
    import javafx.event.EventHandler;
    import javafx.scene.control.TextField;
    import javafx.scene.input.KeyCode;
    import javafx.scene.input.KeyEvent;
    public class TestInputSkin extends SkinBase<TestInput, TestInputBehavior> {
        private TestInput control;
        private TextField textField;
        private boolean   initialized;
        public TestInputSkin(final TestInput CONTROL) {
            super(CONTROL, new TestInputBehavior(CONTROL));
            control     = CONTROL;
            textField   = control.getTextField();
            initialized = false;
            init();
        private void init() {
            initialized = true;
            paint();
        public final void paint() {
            if (!initialized) {
                init();
            getChildren().clear();
            getChildren().addAll(textField);
        @Override public final TestInput getSkinnable() {
            return control;
        @Override public final void dispose() {
            control = null;
    }behavior:
    import com.sun.javafx.scene.control.behavior.BehaviorBase;
    import javafx.beans.value.ChangeListener;
    import javafx.beans.value.ObservableValue;
    import javafx.event.EventHandler;
    import javafx.scene.input.KeyCode;
    import javafx.scene.input.KeyEvent;
    public class TestInputBehavior extends BehaviorBase<TestInput> {
        private TestInput control;
        public TestInputBehavior(final TestInput CONTROL) {
            super(CONTROL);
            control = CONTROL;
            control.getTextField().addEventFilter(KeyEvent.KEY_PRESSED, new EventHandler<KeyEvent>() {
                @Override public void handle(final KeyEvent EVENT) {
                    if (KeyEvent.KEY_PRESSED.equals(EVENT.getEventType())) {
                        keyPressed(EVENT);
            control.focusedProperty().addListener(new ChangeListener<Boolean>() {
                @Override public void changed(ObservableValue<? extends Boolean> ov, Boolean wasFocused, Boolean isFocused) {
                    if (isFocused) { isFocused(); } else { lostFocus(); }
        public void isFocused() {
            System.out.println(control.toString() + " got focus");
            control.getTextField().requestFocus();
        public void lostFocus() {
            System.out.println(control.toString() + " lost focus");
        public void keyPressed(KeyEvent EVENT) {
            if (KeyCode.TAB.equals(EVENT.getCode())) {
                control.getScene().getFocusOwner().requestFocus();
    }the css file:
    .test-input {
        -fx-skin: "TestInputSkin";
    }and finally the test app:
    import javafx.application.Application;
    import javafx.scene.Scene;
    import javafx.scene.control.TextField;
    import javafx.scene.layout.GridPane;
    import javafx.stage.Stage;
    public class Test extends Application {
        TestInput input1;
        TestInput input2;
        TestInput input3;
        TextField input4;
        TextField input5;
        TextField input6;
        Scene     scene;
        @Override public void start(final Stage STAGE) {
            setupStage(STAGE, setupScene());
        private Scene setupScene() {
            input1 = new TestInput(1);
            input2 = new TestInput(2);
            input3 = new TestInput(3);
            input4 = new TextField();
            input5 = new TextField();
            input6 = new TextField();
            GridPane pane = new GridPane();
            pane.add(input1, 1, 1);
            pane.add(input2, 1, 2);
            pane.add(input3, 1, 3);
            pane.add(input4, 2, 1);
            pane.add(input5, 2, 2);
            pane.add(input6, 2, 3);
            scene = new Scene(pane);
            return scene;
        private void setupStage(final Stage STAGE, final Scene SCENE) {
            STAGE.setTitle("Test");
            STAGE.setScene(SCENE);
            STAGE.show();
        public static void main(String[] args) {
            launch(args);
    The test app shows three custom controls on the left column and three standard textfields on the right column. If you press TAB you will see what i mean...

  • Printing Problem with custom size paper in Illustrator

    Hi having problems with my custom sized paper print using my canon printers it's the same on both the ip100 and the pro-100s,  it was printing fine until i've updated my illustrator and mac os Yosemite, it prints the image at a reduced size on the paper to what it should be does anyone have any understanding of this? I've tried everything i know, is this a driver or system problem?

    Hi there wasn't an option to set the default printer to pdf where would I do this?
    I've done a bit of a work around that seems to be working. I've put the page set up as A4 and then clicked on the printer utility custom settings and then unticked detect paper width, so I can put through the paper I want just got to tweak the x and y to get it right, its not the best but sitting here for four hours trying to figure it out, it will have to do for now. Thanks Jacob for your help, no doubt I'll be back in the morning, I'm burnt out now!

  • Problem with custom Reports and forms in R12

    Hi All,
    we are upgrading from 1103 to R12. In R12 we are facing a peculiar problem with Reports. All seeded reports are running perfectly. But no data is coming while running the custom reports. The operating unit field in the SRS window is getting populated automatically while running the seeded reports but getting greyed off while running custom reports.
    We are facing the same problem with forms even, data is not getting retrieved in custom forms. Can any one suggest wether there is any profile option which is being missed out by us. ..
    Thank you,
    Regards
    Raj

    Add SRW.USER_EXIT('FND SRWINIT') in the afterPForm trigger.
    This will set the org context for reports.
    ~Sukalyan Ghatak

  • Problems with Custom File Info Panel and Dublin Core

    I'm creating a custom file info panel that uses the values of the dublin core description and keywords (subject) for two of it's own fields.  I'm having problems with the panel saving if they enter the description on the custom panel first, and with the keywords not echoing each other, or reappearing after a save.<br /><br />Here is the code for the panel<br /><br /><?xml version="1.0"><br /><!DOCTYPE panel SYSTEM "http://ns.adobe.com/custompanels/1.0"><br /><panel title="$$$/matthew/FBPanelName=Testing for Matthew" version="1" type="custom_panel"><br />     group(placement: place_column, spacing:gSpace, horizontal: align_fill, vertical: align_top)<br />     {<br />          group(placement: place_row, spacing: gSpace, horizontal: align_fill, vertical: align_top)<br />          {<br />               static_text(name: '$$$/matthew/keywords = Keywords', font: font_big_right, vertical: align_center);<br />               edit_text(fbname: '$$$/matthew/keywordsFB = Keywords', locked: false, height: 60, v_scroller: true, horizontal: align_fill, xmp_ns_prefix: 'dc', xmp_namespace: <br />'http://purl.org/dc/elements/1.1/', xmp_path: 'subject');<br />          }<br />          group(placement: place_row, spacing: gSpace, horizontal: align_fill, vertical: align_top)<br />          {<br />               static_text(name: '$$$/matthew/description = Description', font: font_big_right, vertical: align_center);<br />               edit_text(fbname: '$$$/matthew/descriptionFB = Description', locked: false, height: 60, v_scroller: true, horizontal: align_fill, xmp_ns_prefix: 'dc', xmp_namespace: <br />'http://purl.org/dc/elements/1.1/', xmp_path: 'description');<br />          }<br />          group(placement: place_row, spacing: gSpace, horizontal: align_fill, vertical: align_top)<br />          {<br />               static_text(name: '$$$/matthew/season = Season', font: font_big_right, vertical: align_center);<br />               popup(fbname: '$$$/matthew/seasonFB = Season', items: '$$$/matthew/Season/Items={};option 3{option 3};option 2{option 2};option 1{option 1}', xmp_namespace:'http://monkeys.com/demo/testingmatthew/namespace/', xmp_ns_prefix:'matthew', xmp_path:'season');<br />          }<br />          group(placement: place_row, spacing: gSpace, horizontal: align_fill, vertical: align_top)<br />          {<br />               static_text(name: '$$$/matthew/ltf = Limited Text Field', font: font_big_right, vertical: align_center);<br />               edit_text(fbname: '$$$/matthew/ltf = Limited Text Field', locked: false, horizontal: align_fill, xmp_namespace:'http://monkeys.com/demo/testingmatthew/namespace/ ', <br />xmp_ns_prefix:'matthew', xmp_path:'ltf');<br />          }<br />     }<br /></panel><br /><br />Thanks for the help

    To answer my own question:
    The documentation really sucks.
    I found this reply from Adobe <http://forums.adobe.com/message/2540890#2540890>
    usually we recommend to install custom panels into the "user" location at:
    WINDOWS XP: C:\Documents and Settings\username\Application Data\Adobe\XMP\Custom File Info Panels\2.0\panels\
    WINDOWS VISTA: C\Users\username\AppData\Roaming\Adobe\XMP\Custom File Info Panels\2.0\panels\
    MAC OS: /user/username/Application Data/Adobe/XMP/Custom File Info Panels/2.0/panels/
    The reason why your panels did not work properly was a missing Flash trust file for that user location. Without such a trust file the embedded flash player refuses to "play" your custom panel.
    Please see section "Trust files for custom panels" in the XMPFileInfo SDK Programmer's Guide on page 50 for all details on how to create such trust files.
    After many wasted hours I have now the simple panels running.
    Cheers,
    H.Sup

  • Problem with Customer Interaction Module in Web Channel Builder

    Hello Everyone,
    Facing an issue with Web Channel Builder Customer Interaction Module.
    In Web channel builder we have done all the required configuration changes, but still we are not able to get the reviews and rating part in the product detail page.
    We have created a new application and all the other module are working fine ,but the only module that is causing problem is Customer Interaction module. Every time we are activating this module rest modules stops working.
    Can anyone please let us know what could be the root cause of this problem.
    Are  there any setting that has to be done ...that we are missing in?
    I have studied that Product Catalogue is integrated with this module. Are there any setting that are to be done in the Product Catalogue module in Web channel builder?
    Thanks in advance!
    Regards,
    PB

    Hi PB,
    Did you please get any proper error / exception in log file? Did you please check the web.xml as well that there is no same application name defined.
    Can you please also copy paste the log please.
    Thanks,
    Hamendra

  • Problems with customer text objects in ZDEBMAS definition

    Hi
       We have a Z* version ( ZDEBMAS ) of std customer chg pointer msg type DEBMAS - this ZDEBMAS is a shortened version of DEBMAS
    We notice that whenever customer related texts are changed in customer master, change pointer objects with CD class - CUSTTEXT, TABLE-STXH get generated for the DEBMAS msg type. No such change pointer data gets generated for my ZDEBMAS.
    I do not see any CD class with 'CUSSTEXT' entry in the definition of DEBMAS message type -bd52.  
    I basically want to replicate the customer text data change pointer generation functionality for my 'ZDEBMAS' msg type too ? Any pointers so to what I am missing ?
    We are at a very critical stage of implementing the Z* solution - any pointers will be rewarded right away ....

    Hi Abdul
             Thanks for the quick response. Yes the change pointers are activated globally ( bd61 ) and the change pointer is activated for ZDEBMAS ( bd50 ). The problem here is that - change pointer data gets generated in ZDEBMAS for other customer related fields - the problem is with customer text fields - the change pointer data does not get generated for customer text fields in ZDEBMAS - whereas it gets generated for DEBMAS - I am wondering why and how ?? ( since DEBMAS does not have an explicity CUSTTEXT - object class in its definition ) . Also, when I try to add this object class as a part of ZDEBMAS , I get an error message that this object class does not exist

  • Two problems with custom kernel

    I get two problems with my custom kernel that is not using initrd and otherwise working fine:
    1) initscripts does not print anything, i.e., I see the kernel messages and after a short while the login prompt. It seems to start the daemons, however, since my network is working. During shutdown the printout is working as usual.
    2) the machine does not power off properly (just hangs/stops after saying that is now powers off).
    I am missing some kernel options? Or do I have to configure something differently for not having an initrd?
    Thanks,  CC

    ccom wrote:I now re-compiled with Arch Linux's default settings (except for SCSI, SATA, and filesystem drivers built in) and noinitrd in GRUB. I get the same two problems. What is initrd doing that I missed?
    how about display drivers? are you compiling them in the kernel or as external modules?

Maybe you are looking for

  • [SOLVED] Pacman hangs at sync

    Any idea why? I got my rt73 wireless working, and was able to go on the internet with links, but synchronizing with pacman is stuck at 'Synchronizing Package Databases'. Is it because pacman is too old and I need to upgrade it first or what? Last edi

  • Friend can't see my emoji's?

    My friend has a galaxy s4 and can see everyone else's emoji's except when I send them? He can see them from every other iPhone except mine.  I have an Iphone 4.

  • How to perform a self-join in WebI?

    Post Author: willgreenland CA Forum: WebIntelligence Reporting I want to perform a self-join on a table in WebI, in order to achieve the following result (of course, if there is another way of doing this I'd be glad to hear it): I have a table that l

  • Why does addressbook not sync to server?

    I'm running Mac OS X Server 3.0.2 on my iMac (Mavericks 10.9.1). All my other computers (MacBook, PC, iPhones, iPad) sync the contacts to the MacOS X-Server-Account on this iMac without problems. But when I work on this iMac, I cannot access the cont

  • WRT54GL v1.1 Firmware 4.30.7

    I've seen it mentioned that the firmware for the WRT54GL v1.1 which is 4.30.7 is only available at the UK site. The UK Readme saysroduct:WRT54GL (European version, English firmware) Is there any difference in firmwares between the US & UK versions, o