Skip to content

Instantly share code, notes, and snippets.

View CedricL46's full-sized avatar

Cedric L CedricL46

View GitHub Profile
/*** In YOURJSF.jsf button, or other component that need to execute a javascript on action, add : ****/
<af:commandButton text="ClickMe" id="cb1" actionListener="#{YOURSCOPE.YOURJAVABEAN.clickToExecuteJavascriptAction}"/>
/*** In YOURJAVABEAN.java class add : ***/
public void clickToExecuteJavascriptAction(ActionEvent actionEvent) {
this.executeClientJavascript("console.log('You just clicked : " + actionEvent.getSource() + " ')");
//Note: if you use a java string value in this function you should escape it to avoid breaking the javascript.
//Like this : stringValue.replaceAll("[^\\p{L}\\p{Z}]", " ")
}
##################################################################################################################
### You need to update 4 files to remove the memory limit and strongly improve your jdeveloper performance : ###
##################################################################################################################
##################################################################################################################
### Update the jdev.conf file (e.g : XXXX\Middleware\jdeveloper\jdev\bin\jdev.conf) ############################
##################################################################################################################
##################################################################################################################
### Your JDK need to be at least 1.7 for jdev to use a huge number of memory ###################################
//Function to call as follow :
//setRichTableSelectedRowAttributeValue("YOUR_TABLE_JSF_ID", "YOUR_VO_ATTRIBUTE_NAME", "THE_NEW_VALUE_TO_SET");
public void setRichTableSelectedRowAttributeValue(String tableID, String attributeName, Object newAttributeValueToSet) {
Object value = null;
RichTable richTable = (RichTable)JSFUtils.findComponentInRoot(tableID);
if (richTable != null) {
RowKeySet rks = richTable.getSelectedRowKeys();
Iterator it = rks.iterator();
while (it.hasNext()) {
@CedricL46
CedricL46 / uploadedFileToFileConverter.java
Created January 11, 2019 11:18
Read full tutorial on how to convert org.apache.myfaces.trinidad.model to java.io.File here :
public static File uploadedFileToFileConverter(UploadedFile uf) {
InputStream inputStream = null;
OutputStream outputStream = null;
//Add you expected file encoding here:
System.setProperty("file.encoding", "UTF-8");
File newFile = new File(uf.getFilename());
try {
inputStream = uf.getInputStream();
outputStream = new FileOutputStream(newFile);
int read = 0;
@CedricL46
CedricL46 / showAPlaceholderOrATooltipInAnAdfColumnFilterHeader.jsf.xml
Last active February 13, 2019 16:23
See full tutorial on how to show a placeholder or a tooltip(shortdesc) in an ADF column filter header here : https://cedricleruth.com/how-to-show-a-tooltipshortdesc-or-watermarkplaceholder-in-an-adf-column-filter-header/
<!-- Below an example table on with a column header filter customized to display a place holder and tooltip -->
<af:table value="#{bindings.YourVO.collectionModel}" var="row" rows="#{bindings.YourVO.rangeSize}"
fetchSize="#{bindings.YourVO.rangeSize}" filterModel="#{bindings.YourVOCriteriaQuery.queryDescriptor}"
queryListener="#{bindings.YourVOCriteriaQuery.processQuery}" varStatus="vs"
selectionListener="#{bindings.YourVO.collectionModel.makeCurrent}" rowSelection="single" id="T1"
styleClass="AFStretchWidth"
rowBandingInterval="0" columnBandingInterval="0">
<af:column sortProperty="#{bindings.YourVO.hints.YourVoAttribute.name}" filterable="true" sortable="true" id="Tc1"
width="60">
<!-- Add the following filter facet to modify the header column filter inputText component -->
@CedricL46
CedricL46 / hideAdfRichTableIfNoDataToDisplay.jsf.xml
Last active March 13, 2019 10:07
EL Expression to check and hide if an ADF rich table is empty with no data to display
<!--
Add visble or rendered attribute :
rendered="#{bindings.YOUR_TABLE_ITERATOR.estimatedRowCount gt 0}"
to your table OR to it's parent layout element
-->
<af:table value="#{bindings.YOUR_TABLE_ITERATOR.collectionModel}" var="row" rows="#{bindings.YOUR_TABLE_ITERATOR.rangeSize}" fetchSize="#{bindings.YOUR_TABLE_ITERATOR.rangeSize}"
varStatus="vs" styleClass="AFStretchWidth"
selectedRowKeys="#{bindings.YOUR_TABLE_ITERATOR.collectionModel.selectedRow}" selectionListener="#{bindings.YOUR_TABLE_ITERATOR.collectionModel.makeCurrent}"
immediate="true" emptyText="#{bindings.YOUR_TABLE_ITERATOR.viewable ? 'No data to display.' : 'Access Denied.'}" id="tableID"
//Here is how to simply retreive the value of and ADF Binding from the view El Expression :
//Below is a view example with values taken from an ADF View Object
<af:inputText id="it1" autoSubmit="true" value="#{bindings.YOUR_VO.YOUR_VO_ATTRIBUTE.inputValue}" />
<af:table value="#{bindings.YOUR_VO.collectionModel}" var="row">
<af:column sortProperty="#{bindings.YOUR_VO.hints.YOUR_VO_ATTRIBUTE.name}"
id="c1">
<af:outputText value="#{row.YOUR_VO_ATTRIBUTE}" id="ot1"/>
</af:column>
</af:table>
#Up to date doc can be found on https://gitlab.com/help/ssh/README#generating-a-new-ssh-key-pair
#First configure your local git configuration so it can communicate with your gitlab server :
# If you're on windows install git bash for windows if not install git
# This time i'm on windows so :
#Open a git bash command terminal (right click into any folder + git bash here)
#Generate a new ED25519 SSH key pair
#(as a best practice we should always prefer ED25519 to old rsa format)
#Once your local git can communicate with the gitlab server you can start migrating:
#Inspired from https://john.albin.net/git/convert-subversion-to-git
#First got to your gitlab and add a new project (in this tuto : YOUR_GITLAB_REPO.git)
#check out your svn project, right click in it and run git bash here to run the following command :
#Download all author commit data to update it to Git standard:
svn log -q | awk -F '|' '/^r/ {sub("^ ", "", $2); sub(" $", "", $2); print $2" = "$2" <"$2">"}' | sort -u > authors-transform.txt
#update the authors-transform.txt file with the git format e.g:
# This kind of error when calling an https url in Jdeveloper
# means that you need to add it's SSL certificate to Jdeveloper trusted keystore :
# sun.security.validator.ValidatorException: PKIX path building failed:sun.security.provider.certpath.SunCertPathBuilderException:
# unable to find validcertification path to requested target
# To fix this :
# 1) Download the SSL certificate from the https url.
# 1.a) go to the url
# 1.b) click on the padlock next to the url in your web browser
# 1.c) click the certificate button