Monday, October 20, 2014

Jira Search Hint

Custom search query in Jira.

 text~"converted" Developer = currentUser() project = ProjectA assignee = currentUser() resolutiondate >=-3w ORDER BY updated DESC ## Finding current unresolved and assigned assignee = currentUser() AND resolution = Unresolved ORDER BY updatedDate DESC ## Finding resolved issue of the current user as developer Developer = currentUser() AND project = ProjectA AND resolutiondate >=-6w ORDER BY updated DESC ## With text search Developer = currentUser() AND project = ProjectA AND resolutiondate >=-6w AND text~"converted" ORDER BY updated DESC

Note : Edit based on your need

Saturday, September 13, 2014

Liferay maven service builder

Create Liferay plugin project in the eclipse. Note* : This will work if you installed the latest liferay IDE. Select project as plugin project Do the following steps once the project cretead successfuly. mvn install -Dliferay.maven.plugin.version=6.2.0-RC5 -Dliferay.version=6.2.10-GA1 mvn clean -P build-service package -Dliferay.maven.plugin.version=6.2.0-RC5 -Dliferay.version=6.2.10-GA1

Sunday, June 29, 2014

Received Surprise in java tools

It was 6 months back : Some of my IT neighbors are trying to implement there CIT for all projects running in their office. When I headed that news I surprised that "How good Idea that one tool will handle all your build process and reporting?". Then I given my wish to them. Later I had situation to switch my life in another company. When I entered new office it was too much surprises are waiting for me. All my environment for JAVA was changed except the one super guy "Eclipse". That was the only thing given me a super support. I was in a situation to learn all the new tools in a shot span of time. Gig(Bitbukket) / Egit for eclipse / Splunk / jRebel / Cloudbees / Amezon ec2 / jira / jenkins. !!! Ho! no ... So I am trying to say tear your comfort zone. Then you will realize what you going to lean more.

Monday, March 3, 2014

Enable Liferay development (IDE) on mule studio

I have installed the liferay on mule studio, So now I am holding the great two thing on one point.
Following steps to bring you for that point.
Prerequisites:
Have venial mule studio 3.5 its come with (eclipse 3.8 - juno) and we gonna install liferay 2.0 IDE.
Steps:

Note : During this installation the eclipse IDE may ask for restart several time. Give the way to restart

1)Spring Core: (For portlet spring capability)
 Install Spring Code / Spring IDE using http://springide.org/updatesite


2) WTP (Web tool platform)
Install the following plugin dependency in the <Web , xml , Java EE OSI enterprise development> category available in the

Eclipse Juno repository - http://download.eclipse.org/releases/juno/
Plugin dependency :
    Eclipse Faceted Project Framework-3.4.0.v201202292300-377F8N8s735555393B7B
    Eclipse Faceted Project Framework JDT Enablement-3.4.0.v201108231500-377DG8s73543J5H6D66
Eclipse Java EE Developer Tools-3.4.2.v201301240600-7b7JINbFSK2WM3QNAEr799V-TyUp
JavaScript Development Tools-1.4.1.v201208171701-7H7DFg0FC7sReqSyfqesWi
JavaServer Faces Tools (JSF) Project-3.5.0.v201301161500-7E7U-F9JgLWrLWXMXBLL
JST Server Adapters-3.2.201.v20130123_1813-20A87w31241234a2924
JST Server Adapters Extensions-3.3.102.v20130108_1103-777HFL7CcNBDnBcIVFHFD8
JST Server UI-3.4.0.v20120503_1042-7A77FHr9xFcC2CFLZBCJMHLg7D64
WST Server Adapters-3.2.203.v20130123_1813-7L3FA4CcNBGVCZL_l8OCG

3)Liferay
Now the final plugin installation thats our liferay,
go ahead with this update site url
Liferay IDE repository - http://releases.liferay.com/tools/ide/latest/stable/
install Liferay IDE and Maven or any one.


4) Test the installation 
File -> new -> project -> find for Liferay catogory

or type the above box with liferay. If you get some result thats all your liferay ready on mule studio.
If failed post the comments.


Sunday, March 2, 2014

Programaticaly creating DDL and using expando bridge

Liferay 6.2 webcontent like DDL.

Follow the code with template and create a web content display.
Programaticaly creating DDL and using expando bridge

Organisation Name :
$Text1519.getData()


#set ($locale = $localeUtil.fromLanguageId($request.get("locale")))
#set ($dateFormatDateTime = $dateFormats.getDateTime($locale))

<h1>First Expando Bank</h1>

##
## Define the "name" for our ExpandoTable.
##

#set ($accountsTableName = "AccountsTable")

##
## Get/Create the ExpandoTable to hold our data.
##

#set ($accountsTable = $expandoTableLocalService.getTable($accountsTableName, $accountsTableName))

#if (!$accountsTable)
#set ($accountsTable = $expandoTableLocalService.addTable($accountsTableName, $accountsTableName))

#set ($accountsTableId = $accountsTable.getTableId())

##
## Create an ExpandoColumn for each field in the form.
##

#set ($V = $expandoColumnLocalService.addColumn($accountsTableId, "firstName", 15)) ## STRING
#set ($V = $expandoColumnLocalService.addColumn($accountsTableId, "lastName", 15)) ## STRING
#set ($V = $expandoColumnLocalService.addColumn($accountsTableId, "balance", 5)) ## DOUBLE
#set ($V = $expandoColumnLocalService.addColumn($accountsTableId, "modifiedDate", 3)) ## DATE
#end

##
## Do some request handling setup.
##

#set ($renderUrl = $request.get("render-url"))
#set ($namespace = $request.get("portlet-namespace"))
#set ($cmd = $request.get("parameters").get("cmd"))

#set ($firstName = '')
#set ($lastName = '')
#set ($balance = 0.0)

##
## Check to see if a classPK was passed in the request.
##

#set ($classPK = $getterUtil.getLong($request.get("parameters").get("classPK")))

##
## Check if we have received a form submission?
##

#if ($cmd.equals("add") || $cmd.equals("update"))
##
## Let's get the form values from the request.
##

#set ($firstName = $request.get("parameters").get("firstName"))
#set ($lastName = $request.get("parameters").get("lastName"))
#set ($balance = $getterUtil.getDouble($request.get("parameters").get("balance")))
#set ($date = $dateTool.getDate())

##
## Validate the params to see if we should proceed.
##

#if (($cmd.equals("add") && !$firstName.equals("") && !$lastName.equals("") && $balance >= 50) || ($cmd.equals("update") && !$firstName.equals("") && !$lastName.equals("")))
##
## Check to see if it's a new Account.
##

#if ($classPK <= 0)
#set ($classPK = $dateTool.getDate().getTime())
#end

#set ($V = $expandoValueLocalService.addValue($accountsTableName, $accountsTableName, "firstName", $classPK, $firstName))
#set ($V = $expandoValueLocalService.addValue($accountsTableName, $accountsTableName, "lastName", $classPK, $lastName))
#set ($V = $expandoValueLocalService.addValue($accountsTableName, $accountsTableName, "balance", $classPK, $balance))
#set ($V = $expandoValueLocalService.addValue($accountsTableName, $accountsTableName, "modifiedDate", $classPK, $date))

##
## Show a response.
##

#if ($cmd.equals("update"))
Thank you, ${firstName}, for updating your account with our bank!
#else
Thank you, ${firstName}, for creating an account with our bank!
#end

#else
Please fill the form completely in order to create an account. The minimum amount of cash required to create an account is $50.
#end

#set ($classPK = 0)
#set ($firstName = '')
#set ($lastName = '')
#set ($balance = 0.0)

#elseif ($cmd.equals("delete"))
##
## Delete the specified Row.
##

#if ($classPK > 0)
#set ($V = $expandoRowLocalService.deleteRow($accountsTableName, $accountsTableName, $classPK))

Account deleted!

#set ($classPK = 0)
#end
#elseif ($cmd.equals("edit"))
##
## Edit the specified Row.
##

Editting...

#if ($classPK > 0)
##
## Get the account specific values
##

#set ($firstName = $expandoValueLocalService.getData($accountsTableName, $accountsTableName, "firstName", $classPK, ""))
#set ($lastName = $expandoValueLocalService.getData($accountsTableName, $accountsTableName, "lastName", $classPK, ""))
#set ($balance = $expandoValueLocalService.getData($accountsTableName, $accountsTableName, "balance", $classPK, 0.0))
#end
#end

<span style="display: block; border-top: 1px solid #CCC; margin: 5px 0px 5px 0px;"></span>

#if (!$cmd.equals("edit"))
##
## Now we're into the display logic.
##

<input type="button" value="Create Account" onClick="self.location = '${renderUrl}&${namespace}cmd=edit';" />

<br /><br />

<table class="lfr-table">
<tr>
<th>Account Number</th>
<th>First Name</th>
<th>Last Name</th>
<th>Balance</th>
<th>Modified Date</th>
<th><!----></th>
</tr>

##
## Get all the current records in our ExpandoTable. We can paginate by passing a
## "begin" and "end" params.
##

#set ($rowsCount = $expandoRowLocalService.getRowsCount($accountsTableName, $accountsTableName))
#set ($rows = $expandoRowLocalService.getRows($accountsTableName, $accountsTableName, -1, -1))

#foreach($row in $rows)
##
## Get the classPK of this row.
##

#set ($currentClassPK = $row.getClassPK())

<tr>
<td>${currentClassPK}</td>

#set ($currentFirstName = $expandoValueLocalService.getData($accountsTableName, $accountsTableName, "firstName", $currentClassPK, ""))
<td>${currentFirstName}</td>

#set ($currentLastName = $expandoValueLocalService.getData($accountsTableName, $accountsTableName, "lastName", $currentClassPK, ""))
<td>${currentLastName}</td>

#set ($currentBalance = $expandoValueLocalService.getData($accountsTableName, $accountsTableName, "balance", $currentClassPK, 0.0))
<td align="right">${numberTool.currency($currentBalance)}</td>

#set ($currentModifiedDate = $expandoValueLocalService.getData($accountsTableName, $accountsTableName, "modifiedDate", $currentClassPK, $dateTool.getDate()))
<td>${dateFormatDateTime.format($currentModifiedDate)}</td>

<td>
<a href="${renderUrl}&amp;${namespace}cmd=edit&amp;${namespace}classPK=${currentClassPK}">Edit</a> |
<a href="${renderUrl}&amp;${namespace}cmd=delete&amp;${namespace}classPK=${currentClassPK}">Delete</a>
</td>
</tr>
#end

#if ($rowsCount <= 0)
<tr>
<td colspan="5">No Accounts were found.</td>
</tr>
#end

</table>

# of Accounts: ${rowsCount}
#else
##
## Here we have our input form.
##

<form action="$renderUrl" method="post" name="${namespace}fm10">
<input type="hidden" name="${namespace}classPK" value="${classPK}" />
<input type="hidden" name="${namespace}cmd"
#if ($classPK > 0)
value="update"
#else
value="add"
#end
/>

<table class="lfr-table">
<tr>
<td>First Name:</td>
<td>
<input type="text" name="${namespace}firstName" value="${firstName}" />
</td>
</tr>
<tr>
<td>Last Name:</td>
<td>
<input type="text" name="${namespace}lastName" value="${lastName}" />
</td>
</tr>
<tr>
<td>Balance:</td>
<td>
<input type="text" name="${namespace}balance" value="${numberTool.format($balance)}" />
</td>
</tr>
</table>

<br />

<input type="submit" value="Save" />
<input type="button" value="Cancel" onclick="self.location = '${renderUrl}'" />
</form>
#end

<br /><br />

Wednesday, February 26, 2014

Liferay mobile SDK

Liferay has come up with mobile sdk to development mobile application which woks with lifery server.
This mobile application can access liferay services and custom service created using service builder.
So all the liferay data here after available in the mobile too..


Monday, February 3, 2014

My funniest moment

Recently I had a funny experience with my friends that I wish to share with you. We were in hurry to get a train and one of my friend was busy with his call. Everyone pushed him to get into train. He had a tendency of losing things often. After settling down in the seat he suddenly asked me where is my mobile. Hearing that we all got shocked and puzzled, because he was still on the call with his mobile, this made us laugh continuously for minutes later.

Wednesday, January 22, 2014

Git configuration with Bitbuket

Bitbuket.org an implementation of git.
It provide you a private repository with free of cost up to 5 user access.

Requirement:
  1. Git software Download and install msysgit from here.
  2. An account in bitbuket

Step to simple project setup:
→ Open git-bash software
Check .ssh folder created at your user folder [$ssh -v]

Generating public/private rsa key pair [$ssh-keygen]
Create config file in your .ssh folder
paste the following
Host bitbucket.org
 IdentityFile ~/.ssh/id_rsa
save it
Restart the terminal

Create .bashrc at root of your user home directory
paste the following scipt

SSH_ENV=$HOME/.ssh/environment
   
# start the ssh-agent
function start_agent {
    echo "Initializing new SSH agent..."
    # spawn ssh-agent
    /usr/bin/ssh-agent | sed 's/^echo/#echo/' > "${SSH_ENV}"
    echo succeeded
    chmod 600 "${SSH_ENV}"
    . "${SSH_ENV}" > /dev/null
    /usr/bin/ssh-add
}
   
if [ -f "${SSH_ENV}" ]; then
     . "${SSH_ENV}" > /dev/null
     ps -ef | grep ${SSH_AGENT_PID} | grep ssh-agent$ > /dev/null || {
        start_agent;
    }
else
    start_agent;
fi


Save and close the file and reopen the git

Ssh add
$ ssh-add -l

Install the public key on your Bitbucket account

cat ~/.ssh/id_rsa.pub
Select and copy the key output in the clipboard.

Login to bitbuket account and goto manage account → sshkey tab (On the left side of page)
Add and save the key with suitable name.

create .gitconfig file in the root directory of  your user home and add the below in the file

[user]
    name = username
    email = registedgmail@xxx.com 
save and close
Return to the terminal window and verify your configuration by entering the following command

ssh -T git@bitbucket.org
The authenticity of host 'bitbucket.org (131.103.20.167)' can't be established.
press yes and it will create the configuration.
try again the
ssh -T git@bitbucket.org
Note : if you get your name printed in the terminal. You achieved it.


Merging two sorted arrays - Big O (n+m) time complexity

 Problem :  Merge the two sorted arrays. Edge case :  Array can empty Arrays can be in different size let getMaxLength = ( input1 , input...