Skip to content

Instantly share code, notes, and snippets.

View CedricL46's full-sized avatar

Cedric L CedricL46

View GitHub Profile
# 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
#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:
#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)
@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"
#Install git and upgrade all packages
sudo yum update -y
sudo yum install git
#Get last available version of let's encrypt
git clone https://github.com/letsencrypt/letsencrypt.git
#result :
Cloning into 'letsencrypt'...
remote: Counting objects: 55232, done.
remote: Compressing objects: 100% (55/55), done.
@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 / 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;
##################################################################################################################
### 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 ###################################
/*** 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}]", " ")
}
## Once the certificate renew command is scheduled (or manually with sudo ./etc/letsencrypt/certbot-auto renew) a new certificate is generated
## To check if a new certificate was generated you can run :
[ec2-user@ip-MyIp ~]$ locate *certbot.pem
/etc/letsencrypt/csr/0000_csr-certbot.pem #old certificate
/etc/letsencrypt/csr/0001_csr-certbot.pem #new certificate
## You then need to change the ssl conf to specify the new certificate :
sudo vim /etc/httpd/conf.d/ssl.conf
## Search for SSLCertificateKeyFile(vim command : ?SSLCertificateKeyFile) and change the file for the new one :
# Server Private Key: