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.

Popular Posts

Featured Post

Liferay 7.3 compatibility matrix

Compatibility Matrix Liferay's general policy is to test Liferay Portal CE against newer major releases of operating systems, open s...