понедельник, 23 июля 2012 г.

Концфигурация rebel.xml для Liferay Theme.

<?xml version="1.0" encoding="UTF-8"?>
<application xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.zeroturnaround.com"
 xsi:schemaLocation="http://www.zeroturnaround.com http://www.zeroturnaround.com/alderaan/rebel-2_0.xsd">

 <classpath>
  <dir name="D:/workspace-cms/liferay-theme/target/classes"></dir>
 </classpath>

 <web>
  <link target="/">
   <dir name="D:/workspace-cms/liferay-theme/src/main/webapp">
   </dir>
  </link>
 </web>

</application>

среда, 18 июля 2012 г.

Инициализация новых объектов в Velocity. Liferay.

В Liferay (6.1.1) возникла проблема с отображением подменю в навигации, если страница является скрытой (hidden). Дело в том, что эта страница не попадает в массив элементов $nav_items, доступный в шаблоне (velocity, в данном случае).

Некоторое время траха поисков привели к такому варианту:

#set($layoutLocalService = $serviceLocator.findService("com.liferay.portal.service.LayoutLocalService"))

#set($longClass = $portal.getClass().forName("java.lang.Long"))
#set($longClassPrimitive = $longClass.getDeclaredField("TYPE").get(null))
#set($httpServletRequestClass = $portal.getClass().forName("javax.servlet.http.HttpServletRequest"))
#set($themeDisplayClass = $portal.getClass().forName("com.liferay.portal.theme.ThemeDisplay"))
#set($requestVarsClass = $portal.getClass().forName("com.liferay.portal.theme.RequestVars"))
#set($navItemClass = $portal.getClass().forName("com.liferay.portal.theme.NavItem"))
#set($layoutClass = $portal.getClass().forName("com.liferay.portal.model.Layout"))

#set($requestVars = $requestVarsClass.getConstructor($httpServletRequestClass, $themeDisplayClass, $longClassPrimitive, $longClassPrimitive).newInstance($request, $themeDisplay, $layout.getAncestorPlid(), $layout.getAncestorLayoutId()))

#set($ancessorLayout = $layoutLocalService.getLayout($layout.getAncestorPlid()))
#set($currentNavItem = $navItemClass.getConstructor($requestVarsClass, $layoutClass).newInstance($requestVars, $ancessorLayout ))


работает на ура.

воскресенье, 15 июля 2012 г.

вторник, 8 мая 2012 г.

Автоматическое добавление имени разработчика в Elipse при создании новых типов и методов.

eclipse.ini
-Duser.name=George Zalizko

Preferences -> Java -> Code Style -> Code Templates -> Comments
Edit the Comment: Types

/**
* @author ${user}, ${date} ${time}
*
* ${tags}
*/


Automatically add comments for new types and methods
галочка тут.