Forums de discussion

Extending A Form Navigator in liferay 7 GA2 ?

lokesh gorrela, modifié il y a 7 années.

Extending A Form Navigator in liferay 7 GA2 ?

Regular Member Publications: 173 Date d'inscription: 09/03/16 Publications récentes
Hi guys,

I want to Extending A Form Navigator in liferay 7 GA2. I followed bewlow link for Extending A Form Navigator.

https://dev.liferay.com/develop/tutorials/-/knowledge_base/7-0/form-navigator#extending-a-form-navigator


Please see the my module files:
MyApp.java
package com.liferay.docs.formnavextensionportlet;
import javax.portlet.Portlet;
import org.osgi.service.component.annotations.Component;
import com.liferay.portal.kernel.portlet.bridges.mvc.MVCPortlet;
@Component(
immediate = true,
property = {
"com.liferay.portlet.add-default-resource=true",
"com.liferay.portlet.display-category=category.hidden",
"javax.portlet.display-name=MyApp",
"javax.portlet.expiration-cache=0",
"javax.portlet.resource-bundle=content.Language",
"javax.portlet.security-role-ref=administrator",
"javax.portlet.supports.mime-type=text/html"
},
service = Portlet.class
)
public class MyApp extends MVCPortlet {

}

MyAppCompanySettingsFormNavigatorEntry.java
package com.liferay.docs.formnavextensionportlet;
import java.io.IOException;
import java.util.Locale;
import javax.portlet.PortletPreferences;
import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.osgi.service.component.annotations.Component;
import org.osgi.service.component.annotations.Reference;
import com.liferay.portal.kernel.servlet.taglib.ui.BaseJSPFormNavigatorEntry;
import com.liferay.portal.kernel.servlet.taglib.ui.FormNavigatorConstants;
import com.liferay.portal.kernel.servlet.taglib.ui.FormNavigatorEntry;
import com.liferay.portal.kernel.theme.ThemeDisplay;
import com.liferay.portal.kernel.util.PrefsParamUtil;
import com.liferay.portal.kernel.util.PrefsPropsUtil;
import com.liferay.portal.kernel.util.WebKeys;
@Component(immediate = true, property = {"service.ranking:Integer=20"},
service = FormNavigatorEntry.class)
public class MyAppCompanySettingsFormNavigatorEntry
extends BaseJSPFormNavigatorEntry<Object>
implements FormNavigatorEntry<Object> {
@Override
public String getCategoryKey() {
return FormNavigatorConstants.CATEGORY_KEY_COMPANY_SETTINGS_MISCELLANEOUS;
}
@Override
public String getFormNavigatorId() {
return FormNavigatorConstants.FORM_NAVIGATOR_ID_COMPANY_SETTINGS;
}
@Override
protected String getJspPath() {
return "/portal_settings/my_app.jsp";
}
@Override
public String getKey() {
return "my-app";
}
@Override
public String getLabel(Locale locale) {
return "My App";
}
@Override
public void include(HttpServletRequest request, HttpServletResponse response)
throws IOException {

ThemeDisplay themeDisplay = (ThemeDisplay) request
.getAttribute(WebKeys.THEME_DISPLAY);

System.out.println("themeDisplay****:"+themeDisplay);
PortletPreferences companyPortletPreferences = PrefsPropsUtil
.getPreferences(themeDisplay.getCompanyId(), true);
System.out.println("companyPortletPreferences****:"+companyPortletPreferences);
boolean companyMyAppFeatureEnabled = PrefsParamUtil
.getBoolean(companyPortletPreferences, request,
"myAppFeatureEnabled", true);
System.out.println("companyMyAppFeatureEnabled****:"+companyMyAppFeatureEnabled);

request.setAttribute(MyAppWebKeys.COMPANY_MY_APP_FEATURE_ENABLED,
companyMyAppFeatureEnabled);
super.include(request, response);
}
@Override
@Reference(target = "(osgi.web.symbolicname=com.liferay.docs.formnavextensionportlet)", unbind = "-")
public void setServletContext(ServletContext servletContext) {
super.setServletContext(servletContext);
}
}

MyAppWebKeys.java
package com.liferay.docs.formnavextensionportlet;
public class MyAppWebKeys {
public static final String COMPANY_MY_APP_FEATURE_ENABLED =
"COMPANY_MY_APP_FEATURE_ENABLED";
}

/portal_settings/my_app.jsp:
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://liferay.com/tld/aui" prefix="aui" %><%@
taglib uri="http://liferay.com/tld/ui" prefix="liferay-ui" %>
<%@ page import="com.liferay.docs.formnavextensionportlet.MyAppWebKeys" %><%@
page import="com.liferay.portal.kernel.util.GetterUtil" %><%@
page import="com.liferay.portal.kernel.util.ResourceBundleUtil" %>
<%@ page import="java.util.ResourceBundle" %>
<%
boolean companyMyAppFeatureEnabled = GetterUtil.getBoolean(request.getAttribute(MyAppWebKeys.COMPANY_MY_APP_FEATURE_ENABLED));
ResourceBundle resourceBundle = ResourceBundleUtil.getBundle("content.Language", request.getLocale(), getClass());
%>
<h3><liferay-ui:message key='<%= resourceBundle.getString("my-app-features") %>' /><h3>
<aui:input checked="<%= companyMyAppFeatureEnabled %>" label='<%= resourceBundle.getString("enable-my-app-feature") %>' name="settings--myAppFeatureEnabled--" type="checkbox" value="<%= companyMyAppFeatureEnabled %>" />

bnd.bnd :
Bundle-SymbolicName: testformnavigation
Bundle-Version: 1.0.0
Include-Resource:\
META-INF/resources=src/main/resources/META-INF/resources
-jsp: *.jsp,*.jspf
-plugin.jsp: com.liferay.ant.bnd.jsp.JspAnalyzerPlugin
Web-ContextPath: /formnavextensionportlet

build.gradle:
dependencies {
compileOnly group: "com.liferay.portal", name: "com.liferay.portal.kernel", version: "2.0.0"
compileOnly group: "com.liferay.portal", name: "com.liferay.util.taglib", version: "2.0.0"
compileOnly group: "javax.portlet", name: "portlet-api", version: "2.0"
compileOnly group: "javax.servlet", name: "servlet-api", version: "2.5"
compileOnly group: "jstl", name: "jstl", version: "1.2"
compileOnly group: "org.osgi", name: "org.osgi.compendium", version: "5.0.0"
}


After that I deployed this module and access in My organization. It does not show any out put and no errors are throwing. I am unable to find mistake in my code. Any one knows about this please give replay to me.

Thanks
With Regards
Lokesh