Skip to Main Content

Java Development Tools

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

FontAwesome integration with JDeveloper 12.2.13 for Icon, hoverIcon, depressedIcon and disabledIcon

BilalSep 18 2020 — edited Sep 24 2020

Hi All,

Oracle Jdeveloper 12.2.13.

I am finding my way around the FontAwesome integration to see if it can fully be utilised for all icons-related needs in the Oracle ADF application.

Thanks to authors of the blogs shared below where I was able to learn its integration.

  1. https://blogs.oracle.com/shay/leveraging-icon-fonts-font-awesome-in-oracle-adf-500-new-icons-for-your-app
  2. http://www.awasthiashish.com/2018/11/use-font-awesome-5-icons-in-oracle-adf-application.html

I am using the approach mentioned in blog 2 for the FontAwesome library integration which uses the af:script tab, instead of downloading it and copying it in the Skins folder. See the code below:

<af:resource type="css" source="https://use.fontawesome.com/releases/v5.14.0/css/all.css"/>

I have the following code snippet for a button that works fine except when mouse hover the icon disappears. Besides, it is quite difficult to align the icon and button text in the middle:

<af:button id="b3" styleClass="fas fa-toggle-off fa-2x"/>

Surprisingly, when I use FontAwesome classes into icon-specific properties of the ADF button but it is not working. The output shows a small rectangle which means no icon is found during page rendering.

<af:button id="b3" icon="fas fa-toggle-off fa-2x"/>

Is there a way to use FontAwesome icons with Icon, hoverIcon, depressedIcon and disabledIcon properties of the ADF components like button, showDetailItem, etc?

I will greatly appreciate your guidance.

Many Thanks and

Kind Regards,

Bilal

This post has been answered by Timo Hahn on Nov 11 2020
Jump to Answer

Comments

Timo Hahn

You get a 'Read time out' error.
What is the service doing?
Have you tried to call the service synchronously?

Timo

kumar santosh

I tried both way its giving same error. I am trying to execute multiple vos(view criteria based ) and at last commiting one Eo based vo(nearly 1100 records) attribute by invoking this service.

Timo Hahn
Answer

Have you tried an easy WS something like a WS that just returns a string?
Timo

Marked as Answer by kumar santosh · Apr 9 2021
kumar santosh

Hi Timo,.

No I have not used any WS , Simply i have called configuration.createRootApplicationModule to get the amipl and then fetched some read only VOs and then done some commit . And exposed this method in service interface and tried invoking this after deploying this ear.

Earlier i was getting timeout exception after 30 seconds so I increased the JTA timeout from weblogic console to 5mins but now this readonlysocket timeout exception is coming. I am not sure if we need to set any parameters for this.

Timo Hahn

Why do you call configuration.createApplicationModule?
When you create a method in the application module and expüost ist as web service you don't need to handle the application module pooling yourself.
Try creating a simple methos in the AM that return a simple string like 'hello' and expose is as soap web service. Then try to call this method as a test. Once you get this working, you add more logic to the method (or create a new one that has more logic).

Timo

kumar santosh

Dear Timo,
I had already tested with for few employess(5) and it was successful and when I am considering for 1200 employees reading data its giving error.

I had created configuration.createApplicationModule because am and view objects was not accessible when I was trying testing with main method in AMPL that is the reason I used configuration.createApplicationModule? in appmodule to access the amimpl and vos.

kumar santosh

I have removed configuration.createApplicationModule and tried in normal way u said and tried again invoking still getting same issues. Its getting SocketTimeoutException exactly after 2 mins.

Timo Hahn

So, you know thth the WS works in principle. Good. The problem seems to be the time needed to get all rows you want to process.
Question: why would you need to transfer 1200 rows at once?
Think about some kind of pagination.
Or try to find out why the query or retriving hte data takes so much time. Sample: if you are only interested in reading data, use a VO in forward only mode. This speeds up reading a lot as no data has to be stored in hte internal cache system.

Timo

kumar santosh

Dear Timo,

Below are the answers for your query :

Question: why would you need to transfer 1200 rows at once?
-I have to update the records for this employees based on some logics calcualtion .

I tried to use setforward in Vo but no luck.

Timo Hahn

Question: why would you need to transfer 1200 rows at once?
-I have to update the records for this employees based on some logics calcualtion .But
But to update these records, you should not need to transfer them via a WS. Pass anything you need to update them to a method that does all the work in the model layer. This method you expose as WS and call it, passing hte right parameters.
Timo

1 - 10

Post Details

Added on Sep 18 2020
20 comments
630 views