29 December, 2014

Create UUID using ajax call

Below code represents, How to create UUID using  Liferay API with AJAX call :

16 December, 2014

Critics' Choice Award - 2014

Guys, this is important to know about BEST CMS frameworks which can be better judge from critics' choice CMS survey and award. So here you can see major big players who are playing good role in specific categories . 2014 Critics' Choice CMS Award Winners These award winners were selected by a panel of judges. To learn more about how the awards work, visit "How the Awards Work"

11 December, 2014

Liferay Certification

Friends,

This post specially created to solve your queries related to Liferay Certification.
Put your query and comment here to resolve your queries and questions and community or blog members will reply with answer as per their expertise on Liferay.

Know about Google Sites

Friends,

Do you know about Google Sites ? No !!!! guys this is awesome product by Google which provides you facility to create your own sites free of cost where you can use 100 MB size and can launch your mid size sites.
Visit https://sites.google.com for more details and create your own site using your Gmail credentials.
Its manage site section is also good  from where you can easily manage your sites and redirect to your own domain as well.

14 November, 2014

Liferay 7 Features

Hello Folks,

I know its bit early to list all the new features coming up in Liferay 7 but I catered some of the information when i was surfing Liferay community.
Liferay 7 comes up with some cool new features which I will be listing over here.

06 November, 2014

Liferay 6.2 Certified Professional

Hello Members,

Recently Liferay Launched "Liferay 6.2 Certified Professional Developer" which is really good and will help everybody to get hands through with Liferay 6.2 new features.
So what are you waiting for ?? Be ready to fix new badge in your profile for certification.

You can get more detail about certification announcement on https://www.liferay.com/web/jeffrey.handa/blog/-/blogs/liferay-6-2-certified-professional-developer-now-available.

Syllabus : http://www.liferay.com/services/certification/professional-developer/6.2

Cheers, 

27 October, 2014

www.liferaysolution.com feedback

Hello Friends,

We have completed around more than 2 years with www.liferaysolution.com and sharing many useful Liferay solutions and important information about liferay development as well as other useful stuff.
I am sure your valuable inputs/feedback will help us to provide more better way to provide solutions and support on liferay.

17 October, 2014

Escape HTML using JSTL

Hello Friends,

If you are using JSTL to display HTML data in your application then you can escape HTML 2 ways in JSTL:

1) Using <c:out> tag
<c:out value="${specialCharString or HTML}" escapeXml="true"/>

2) Using EL Function

${fn:escapeXml("<i> This is jignesh vachhani")} 

Hope this will be useful somewhere.

If you want to use Liferay API then you can simply use

HTMLUtil.escape(String HTMLString)


Show/Display HTML tag in jsp

${fn:escapeXml(fn:replace(fn:replace(fn:replace("<div><p>This is jignesh testing</p></div>",'"','&quot;'),'<','&lt;'),'>','&gt;'))}

22 August, 2014

Find Duplicate Records MySQL Query

Hi All

I know that this is not related Liferay but i came across this useful thing during my development where you can find duplicate record from table and can delete if you need.

SELECT tablename.name FROM tablename
INNER JOIN (SELECT name FROM tablename
GROUP BY name HAVING count(name) > 1) dup_record ON tablename.name = dup_record.name



20 August, 2014

Read Files From Folder

Hi All,

You can use below code to read files from specific folders :

import java.io.File;
public class Test {
    /**
     * @param args
     */  
public static void listFilesForFolder(File folder) {
       
        for (File fileEntry : folder.listFiles()) {
            if (fileEntry.isDirectory()) {
                listFilesForFolder(fileEntry);
            } else {
               
                System.out.println(fileEntry.getName());
            }
        }
        System.out.println("Total :" +folder.listFiles().length);
    }

07 August, 2014

Malicious code vulnerability - Java Programming

Malicious code vulnerability - Field is a mutable array
Malicious code vulnerability - Field is a mutable Hashtable
Malicious code vulnerability - Field isn't final and can't be protected from malicious code
Malicious code vulnerability - Field isn't final but should be
Malicious code vulnerability - Field should be both final and package protected

Performance - Java Programming

Performance - Could be refactored into a named static inner class
Performance - Could be refactored into a static inner class
Performance - Explicit garbage collection; extremely dubious except in benchmarking code
Performance - Huge string constants is duplicated across multiple class files
Performance - Inefficient use of keySet iterator instead of entrySet iterator
Performance - Maps and sets of URLs can be performance hogs
Performance - Method allocates a boxed primitive just to call toString
Performance - Method allocates an object, only to get the class object

Avoid - Java Programming

Avoid Array Loops
Avoid Assert As Identifier
Avoid Calling Finalize
Avoid Catching NPE
Avoid Catching Throwable
Avoid Decimal Literals In Big Decimal Constructor
Avoid Duplicate Literals
Avoid Enum As Identifier
Avoid Instanceof Checks In Catch Clause
Avoid Print Stack Trace
Avoid Rethrowing Exception
Avoid Throwing Null Pointer Exception
Avoid Throwing Raw Exception Types

Bad practice - Java Programming

Bad practice - Abstract class defines covariant compareTo() method
Bad practice - Abstract class defines covariant equals() method
Bad practice - Certain swing methods needs to be invoked in Swing thread
Bad practice - Check for sign of bitwise operation
Bad practice - Class defines clone() but doesn't implement Cloneable
Bad practice - Class defines compareTo(...) and uses Object.equals()
Bad practice - Class defines equals() and uses Object.hashCode()

30 July, 2014

OOP Principles For The Java Designer

Here are some useful information which should be familiar with all the java programmers/designers :

1. DRY


DRY stands for Don’t Repeat Yourself, which is pretty self explanatory. This means that you shouldn’t be duplicating your code in a program. If a code fragment is appearing in two places, then you would do well to turn it into a method instead of writing the entire fragment again. Lack of duplication helps in easy maintenance of the code.


2. Encapsulation


Whether your project gets bought over or whether you work on it yourself, your code will always change. So, it is good to encapsulate the part of the code that you think will be changed. This makes you code easy to maintain and test.



25 July, 2014

Portlet Configuration Menu Customization

If you want to modify menus which comes under portlet configuration wrench icon http://localhost:8080/html/themes/classic/images/portlet/options.png then you may see below details.
Actually for each icons, its using cutome tags which is given below so you can add/modify this items here as per your requirement.

<liferay-ui:icon-menu
align="auto"
cssClass="portlet-options"
direction="down"
extended="<%= false %>"
icon=""
message="options"
showArrow="<%= false %>"
showWhenSingleIcon="<%= true %>"
>

24 July, 2014

JVM Structure & YourKit Tool

As a java programmer, we should have at least basic knowledge of JVM and how it stores values.

The JVM memory consists of the following segments,
  • Heap Memory :  Storage for Java objects
  • Non-Heap Memory : Used by Java to store loaded classes and other meta-data
  • Other :  JVM internal structures, loaded profiler agent code and data, etc.

27 June, 2014

Why AngularJS

Here we have some useful information regarding AngularJS :

1) MVC Implemetation
2) User Friendly Interface

24 June, 2014

Using Portlet Session in Liferay

Here is the sample example using login form that explains how to use PortletSession in liferay. In general PortletSession has default scope limited to Portlet which can be extended to APPLICATION_SCOPE by changing property.

Let us understand it using Login example.

Tabs Creation in Liferay

Here we are going to create multiple tabs where we can render JSP pages dynamically. Tabs can be created multiple way which are given below:

1: Using Liferay UI taglib:
Put below code in JSP file :

19 June, 2014

Custom Portlet Modes

Hi All,

If you are thinking to create own custom portlet mode with liferay and want to show in configuration wrench button, then its not OOB available with Liferay and cannot achieve using simply configuration.
Liferay supports below modes :


  1.   about
  2. config
  3. edit
  4. editDefaults
  5. editGuest
  6. help
  7. preview
  8. print
  9. view
But below tag is making bit confusion whether it's support of custom mode or not. So this is used for Liferay custom modes(editDefault,editGuest etc.) only. 

  <custom-portlet-mode>
<portlet-mode>edit_guest</portlet-mode>
<portal-managed>true</portal-managed>
</custom-portlet-mode>

03 June, 2014

Build Application Using Liferay

Hello Everybody,

We knows that what and all can be build using Liferay framework but if I am a customer and I want to use Liferay as a platform to build my application so how it will benefits to them to select Liferay.
Please provide your inputs here :

02 May, 2014

500 free programming ebooks

001. The Design Patterns Java Companion
       James W. Cooper |
       Published in 1998, 218 pages
002. Thinking in Enterprise Java
       Bruce Eckel et. al. | MindView, Inc.
       Published in 2003
003. The Ugly JavaScript Book
       John H. Keyes |
       Published in 2001

29 April, 2014

Maxvalue validation for textarea using AlloyUI - IE

You might be aware that maxlength attribute of textarea doesn't work for IE8 & IE9. If you still want to restrict the length then you can use below code using alloyUI :
A.one(document).delegate(['keypress','change'],function(e){
var maxLength = this.attr('maxlength');
  if(this.val().length > maxLength) {
   this.val(this.val().substring(0, maxLength));
   e.preventDefault();
}
}, '#<portlet:namespace/>description');

02 April, 2014

Current Openings with CIGNEX Datamatics


We are looking for talent to fill the following positions at our Bangalore and Ahmedabad centers.
Positions
Overall Experience 
(in Years)
Relevant ExperienceMinimum (in Years)
   Java Developers / Lead
5-10
J2EE, Struts, spring MVC, EJB, JSF,  
REST Webservices/SOAP UI is essential
   Liferay Developer/ Lead
3-10
Spring MVC, Liferay, JSR, Javascript, Jquery, Components, Spring, CMIS, Web-Services, REST,
    


If your profile matches then send your CV on jignesh.vachhani@cignex.com

19 March, 2014

E-Commerce App by Liferay

It's great to hear from Liferay

05 March, 2014

Custom Comparator in Java

import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;

/**
 * @author Jignesh Vachhani
 *
 */

07 January, 2014

Google Guava

Hi Friends,

I know many of you are familiar with this word but someone is very new just like me.
I search this stuff in google and found that its really amazing and can be useful in our programming life.

So first question will come to your mind that what is "Google Guava" ?
So basically "Google Guava" is nothing but its utilities for working with java collection.

To start work with Gauva, you need to have java 1.6 or higher version installed in your machine.