You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tapestry.apache.org by Dávid Ignjič <ig...@skms.sk> on 2006/05/18 23:36:08 UTC
Portlet and custom service to generate PDF
I have problem with custom service under portlet, when i submit form and
execute listener and i want create Ilink to service i get this error:
Failure invoking listener method 'public
org.apache.tapestry.engine.ILink
com.skms.InternetPreVsetkych.tapestry.reporty.CelkovyPrehlad.formSubmit(org.apache.tapestry.IRequestCycle)'
on $CelkovyPrehlad_18@1675d70[CelkovyPrehlad]: Property 'renderResponse'
of <OuterProxy for
tapestry.portlet.PortletRequestGlobals(org.apache.tapestry.portlet.PortletRequestGlobals)>
is null.
java.lang.NullPointerException
Property 'renderResponse' of <OuterProxy for
tapestry.portlet.PortletRequestGlobals(org.apache.tapestry.portlet.PortletRequestGlobals)>
is null.
* $RenderResponse_10b4968ae3d._targetServiceProperty($RenderResponse_10b4968ae3d.java)
* $RenderResponse_10b4968ae3d.createActionURL($RenderResponse_10b4968ae3d.java)
* $RenderResponse_10b4968ae3b.createActionURL($RenderResponse_10b4968ae3b.java)
* org.apache.tapestry.portlet.PortletLinkFactoryImpl.constructLink(PortletLinkFactoryImpl.java:49)
* $LinkFactory_10b4968acfa.constructLink($LinkFactory_10b4968acfa.java)
* com.skms.InternetPreVsetkych.tapestry.reporty.GenerovanieReportov.getLink(GenerovanieReportov.java:65)
* $IEngineService_10b4968ad8f.getLink($IEngineService_10b4968ad8f.java)
* org.apache.tapestry.services.impl.EngineServiceInnerProxy.getLink(EngineServiceInnerProxy.java:72)
* org.apache.tapestry.services.impl.EngineServiceOuterProxy.getLink(EngineServiceOuterProxy.java:61)
* com.skms.InternetPreVsetkych.tapestry.reporty.CelkovyPrehlad.formSubmit(CelkovyPrehlad.java:102)
Any suggestion what is wrong (in tapestry or in my config)?
Thanks
David
Service:
public class GenerovanieReportov implements IEngineService {
/**
* Logger for this class
*/
private static final Logger logger = Logger
.getLogger(GenerovanieReportov.class);
public static final String SERVICE_NAME = "generovanieReportov";
/** @since 4.0 */
private RequestExceptionReporter _exceptionReporter;
/** @since 4.0 */
private LinkFactory _linkFactory;
/** @since 4.0 */
private WebResponse _response;
private WebContext context;
private WebRequest request;
public void setRequest(WebRequest request) {
this.request = request;
}
public ILink getLink(boolean post, Object parameter) {
Map parameters = new HashMap();
parameters.put(ServiceConstants.SERVICE, getName());
if (parameter != null)
parameters.putAll((Map)parameter);
return _linkFactory.constructLink(this, false, parameters,
true);
}
protected final com.skms.InternetPreVsetkych.service.UcastnikService
getUcastnikService()
{
try
{
PrincipalStore.set(getRequest().getUserPrincipal());
SecurityStore.setMDPTRole(new Boolean
(getRequest().isUserInRole("mdpt")));
SecurityStore.setProvider(null);
if (!getRequest().isUserInRole("mdpt")){
try {
GroupManager grManager = (GroupManager)
getContext().getAttribute(CommonPortletServices.CPS_GROUP_MANAGER_COMPONENT);
Collection col =
grManager.getGroupsForUser(getRequest().getUserPrincipal().getName());
for (Iterator iter = col.iterator();
iter.hasNext();) {
Group element = (Group) iter.next();
Provider provider =
getUcastnikService().findProvider(element.getPrincipal().getName());
if (provider != null){
SecurityStore.setProvider(provider);
}
}
} catch (Exception e) {
logger.error("getUcastnikService() - e=" + e,
e); //$NON-NLS-1$
}
}
return
com.skms.InternetPreVsetkych.ServiceLocator.instance().getUcastnikService();
}
catch (final Throwable throwable)
{
throw new RuntimeException(throwable);
}
}
public void service(IRequestCycle cycle) throws IOException {
try
{
OutputStream output = _response.getOutputStream(new
ContentType("application/pdf"));
String report = cycle.getParameter("report");
ReportCreate rc = new ReportCreate();
SimpleDateFormat df = new SimpleDateFormat("dd.MM.yyyy");
if ("ziadostNovoPripojenych".equals( report)){
Date dateOd = df.parse(cycle.getParameter("dateOd"));
Date dateDo = df.parse(cycle.getParameter("dateDo"));
rc.createZiadostNovoPripojenych(dateOd, dateDo, output);
}
if ("celkovyPrehlad".equals( report)){
Date dateOd = df.parse(cycle.getParameter("dateDue"));
if (cycle.getParameter("provider") != null){
Provider prov = Provider.Factory.newInstance();
prov.setId(new Long(cycle.getParameter("provider")));
SecurityStore.setProvider(prov);
}
rc.createCelkovyPrehlad(dateOd, output);
}
if ("celkovyPrehladProvider".equals( report)){
Date dateOd = df.parse(cycle.getParameter("dateDue"));
rc.createCelkovyPrehladProvider(dateOd, output);
}
}
catch (ClassCastException ex)
{
_exceptionReporter.reportRequestException("Report generate
error ", ex);
return;
}
catch (Throwable ex)
{
_exceptionReporter.reportRequestException("Error creating
pdf stream.", ex);
return;
}
return;
}
public String getName()
{
return SERVICE_NAME;
}
/** @since 4.0 */
public void setExceptionReporter(RequestExceptionReporter
exceptionReporter)
{
_exceptionReporter = exceptionReporter;
}
/** @since 4.0 */
public void setLinkFactory(LinkFactory linkFactory)
{
_linkFactory = linkFactory;
}
/** @since 4.0 */
public void setResponse(WebResponse response)
{
_response = response;
}
public void setContext(WebContext context) {
this.context = context;
}
public WebContext getContext() {
return context;
}
public WebRequest getRequest() {
return request;
}
}
hivemodule.xml:
<module id="com.skms.InternetPreVsetkych.tapestry.reporty"
version="4.0.0" package="org.apache.tapestry.portlet">
Add on for Tapestry that adds native Portlet support.
<dependency module-id="tapestry" version="4.0.0"/>
<dependency module-id="tapestry.portlet" version="4.0.0"/>
<dependency module-id="hivemind.lib" version="1.1.0"/>
<contribution
configuration-id="tapestry.portlet.resolver.PageResolverRules">
<match portlet-mode="view" page="reporty"/>
</contribution>
<contribution configuration-id="tapestry.state.ApplicationObjects">
<state-object name="validation-delegate" scope="session">
<create-instance class="org.apache.tapestry.valid.ValidationDelegate"/>
</state-object>
</contribution>
<contribution configuration-id="tapestry.services.ApplicationServices">
<service name="generovanieReportov"
object="service:GenerovanieReportov"/>
</contribution>
<service-point id="GenerovanieReportov"
interface="org.apache.tapestry.engine.IEngineService">
<invoke-factory>
<construct
class="com.skms.InternetPreVsetkych.tapestry.reporty.GenerovanieReportov">
<set-object property="exceptionReporter"
value="infrastructure:requestExceptionReporter"/>
<set-object property="response" value="infrastructure:response"/>
<set-object property="linkFactory"
value="infrastructure:linkFactory"/>
<set-object property="request" value="infrastructure:request"/>
<set-object property="context" value="infrastructure:context"/>
</construct>
</invoke-factory>
</service-point>
</module>
page:
<page-specification
class="com.skms.InternetPreVsetkych.tapestry.reporty.CelkovyPrehlad">
<description>add a description</description>
<inject property="request" object="infrastructure:request"/>
<inject property="context" object="infrastructure:context"/>
<inject property="portletRequest"
object="service:tapestry.portlet.PortletRequest"/>
<inject property="generovanieService"
object="engine-service:generovanieReportov"/>
<property name="datum" persist="session"/>
<property name="provider" persist="session"/>
</page-specification>
<form jwcid="formFilter@Form" success="listener:formSubmit"
clientValidationEnabled="ognl:true">
<table>
<tr>
<td class="portlet-section-alternate"><label
jwcid="@FieldLabel" field="component:datumPripojenia">Dátum</label></td>
<td class="portlet-form-field-label">
<span displayName="Dátum"
jwcid="datumPripojenia@DatePicker" value="ognl:datum"
validators="validators:required[Zadajte prosĂm dátum]"
translator="translator:date,pattern=dd.MM.yyyy"/>
</td>
</tr>
<tr>
<td class="portlet-section-alternate">Provider: </td>
<td class="portlet-form-field-label">
<select
jwcid="provider@PropertySelection" value="ognl:provider"
model="ognl:providerModel"
size="1"
displayName="Provider">
</select>
</td>
</tr>
<tr>
<td class="portlet-section-alternate"></td>
<td class="portlet-form-field-label">
<input type="submit" value="Generuj"
class="portlet-form-button" />
<a href="#" jwcid="@PageLink"
page="reporty">Návrat</a>
</td>
</tr>
</table>
</form>
Class:
package com.skms.InternetPreVsetkych.tapestry.reporty;
import org.apache.log4j.Logger;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.collections.Transformer;
import org.apache.jetspeed.CommonPortletServices;
import org.apache.jetspeed.security.Group;
import org.apache.jetspeed.security.GroupManager;
import org.apache.tapestry.IRequestCycle;
import org.apache.tapestry.engine.IEngineService;
import org.apache.tapestry.engine.ILink;
import org.apache.tapestry.html.BasePage;
import org.apache.tapestry.web.WebContext;
import org.apache.tapestry.web.WebRequest;
import org.postgresql.jdbc2.optional.SimpleDataSource;
import com.skms.InternetPreVsetkych.PrincipalStore;
import com.skms.InternetPreVsetkych.SecurityStore;
import com.skms.InternetPreVsetkych.domain.Provider;
import com.skms.InternetPreVsetkych.tapestry.Item;
import com.skms.InternetPreVsetkych.tapestry.ItemSelectionModel;
public abstract class CelkovyPrehlad extends BasePage {
/**
* Logger for this class
*/
private static final Logger logger =
Logger.getLogger(CelkovyPrehlad.class);
public abstract WebRequest getRequest();
public abstract WebContext getContext();
public abstract Date getDatum();
public abstract Provider getProvider();
ItemSelectionModel providerModel;
public ItemSelectionModel getProviderModel() {
if (providerModel == null){
ArrayList list = new ArrayList();
list.add(new Item("", null));
try{
CollectionUtils.collect(getUcastnikService().getProviders().iterator(),
new Transformer() {
public Object transform(Object obj) {
Provider prov = (Provider) obj;
return new Item(prov.getNazov(), prov.getId());
}
}, list);
} catch (Exception e){
}
providerModel = new ItemSelectionModel(list);
}
return providerModel;
}
protected final com.skms.InternetPreVsetkych.service.UcastnikService
getUcastnikService()
{
try
{
PrincipalStore.set(getRequest().getUserPrincipal());
SecurityStore.setMDPTRole(new Boolean
(getRequest().isUserInRole("mdpt")));
SecurityStore.setProvider(null);
if (!getRequest().isUserInRole("mdpt")){
try {
GroupManager grManager = (GroupManager)
getContext().getAttribute(CommonPortletServices.CPS_GROUP_MANAGER_COMPONENT);
Collection col =
grManager.getGroupsForUser(getRequest().getUserPrincipal().getName());
for (Iterator iter = col.iterator();
iter.hasNext();) {
Group element = (Group) iter.next();
Provider provider =
getUcastnikService().findProvider(element.getPrincipal().getName());
if (provider != null){
SecurityStore.setProvider(provider);
}
}
} catch (Exception e) {
logger.error("getUcastnikService() - e=" + e,
e); //$NON-NLS-1$
}
}
return
com.skms.InternetPreVsetkych.ServiceLocator.instance().getUcastnikService();
}
catch (final Throwable throwable)
{
throw new RuntimeException(throwable);
}
}
public abstract IEngineService getGenerovanieService();
public ILink formSubmit(IRequestCycle cycle){
HashMap map = new HashMap();
SimpleDateFormat df = new SimpleDateFormat("dd.MM.yyyy");
map.put("dateDue", df.format(getDatum()));
if (getProvider() != null){
map.put("provider", getProvider().getId());
}
return getGenerovanieService().getLink(false, map);
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org
Portlet and custom service (generate url to service in ActionRequest)?
Posted by Dávid Ignjič <ig...@skms.sk>.
I thinks that problem is that i create link in service in actionRequest
and property 'renderResponse' isn't set. I need generate redirect to my
custom service in this action request.
how can do this ?
Thanks for response.
Dávid Ignjič wrote:
> I have problem with custom service under portlet, when i submit form
> and execute listener and i want create Ilink to service i get this error:
>
> Failure invoking listener method 'public
> org.apache.tapestry.engine.ILink
> com.skms.InternetPreVsetkych.tapestry.reporty.CelkovyPrehlad.formSubmit(org.apache.tapestry.IRequestCycle)'
> on $CelkovyPrehlad_18@1675d70[CelkovyPrehlad]: Property
> 'renderResponse' of <OuterProxy for
> tapestry.portlet.PortletRequestGlobals(org.apache.tapestry.portlet.PortletRequestGlobals)>
> is null.
>
> java.lang.NullPointerException
> Property 'renderResponse' of <OuterProxy for
> tapestry.portlet.PortletRequestGlobals(org.apache.tapestry.portlet.PortletRequestGlobals)>
> is null.
>
> *
> $RenderResponse_10b4968ae3d._targetServiceProperty($RenderResponse_10b4968ae3d.java)
>
> *
> $RenderResponse_10b4968ae3d.createActionURL($RenderResponse_10b4968ae3d.java)
>
> *
> $RenderResponse_10b4968ae3b.createActionURL($RenderResponse_10b4968ae3b.java)
>
> *
> org.apache.tapestry.portlet.PortletLinkFactoryImpl.constructLink(PortletLinkFactoryImpl.java:49)
>
> *
> $LinkFactory_10b4968acfa.constructLink($LinkFactory_10b4968acfa.java)
> *
> com.skms.InternetPreVsetkych.tapestry.reporty.GenerovanieReportov.getLink(GenerovanieReportov.java:65)
>
> *
> $IEngineService_10b4968ad8f.getLink($IEngineService_10b4968ad8f.java)
> *
> org.apache.tapestry.services.impl.EngineServiceInnerProxy.getLink(EngineServiceInnerProxy.java:72)
>
> *
> org.apache.tapestry.services.impl.EngineServiceOuterProxy.getLink(EngineServiceOuterProxy.java:61)
>
> *
> com.skms.InternetPreVsetkych.tapestry.reporty.CelkovyPrehlad.formSubmit(CelkovyPrehlad.java:102)
>
>
>
> Any suggestion what is wrong (in tapestry or in my config)?
>
> Thanks
> David
>
>
>
> Service:
>
> public class GenerovanieReportov implements IEngineService {
> /**
> * Logger for this class
> */
> private static final Logger logger = Logger
> .getLogger(GenerovanieReportov.class);
>
> public static final String SERVICE_NAME = "generovanieReportov";
> /** @since 4.0 */
> private RequestExceptionReporter _exceptionReporter;
>
> /** @since 4.0 */
> private LinkFactory _linkFactory;
>
> /** @since 4.0 */
> private WebResponse _response;
> private WebContext context;
> private WebRequest request;
> public void setRequest(WebRequest request) {
> this.request = request;
> }
>
> public ILink getLink(boolean post, Object parameter) {
> Map parameters = new HashMap();
>
> parameters.put(ServiceConstants.SERVICE, getName());
> if (parameter != null)
> parameters.putAll((Map)parameter);
>
> return _linkFactory.constructLink(this, false, parameters,
> true);
> }
>
> protected final
> com.skms.InternetPreVsetkych.service.UcastnikService getUcastnikService()
> {
> try
> {
> PrincipalStore.set(getRequest().getUserPrincipal());
> SecurityStore.setMDPTRole(new Boolean
> (getRequest().isUserInRole("mdpt")));
> SecurityStore.setProvider(null);
> if (!getRequest().isUserInRole("mdpt")){
> try {
> GroupManager grManager = (GroupManager)
> getContext().getAttribute(CommonPortletServices.CPS_GROUP_MANAGER_COMPONENT);
>
> Collection col =
> grManager.getGroupsForUser(getRequest().getUserPrincipal().getName());
> for (Iterator iter = col.iterator();
> iter.hasNext();) {
> Group element = (Group) iter.next();
> Provider provider =
> getUcastnikService().findProvider(element.getPrincipal().getName());
> if (provider != null){
> SecurityStore.setProvider(provider);
> }
> }
> } catch (Exception e) {
> logger.error("getUcastnikService() - e=" + e,
> e); //$NON-NLS-1$
> }
> }
> return
> com.skms.InternetPreVsetkych.ServiceLocator.instance().getUcastnikService();
>
> }
> catch (final Throwable throwable)
> {
> throw new RuntimeException(throwable);
> }
> } public void service(IRequestCycle cycle) throws
> IOException {
>
> try
> {
> OutputStream output = _response.getOutputStream(new
> ContentType("application/pdf"));
> String report = cycle.getParameter("report");
> ReportCreate rc = new ReportCreate();
> SimpleDateFormat df = new SimpleDateFormat("dd.MM.yyyy");
> if ("ziadostNovoPripojenych".equals( report)){
> Date dateOd = df.parse(cycle.getParameter("dateOd"));
> Date dateDo = df.parse(cycle.getParameter("dateDo"));
> rc.createZiadostNovoPripojenych(dateOd, dateDo, output);
> }
> if ("celkovyPrehlad".equals( report)){
> Date dateOd = df.parse(cycle.getParameter("dateDue"));
> if (cycle.getParameter("provider") != null){
> Provider prov = Provider.Factory.newInstance();
> prov.setId(new Long(cycle.getParameter("provider")));
> SecurityStore.setProvider(prov);
> }
> rc.createCelkovyPrehlad(dateOd, output);
> }
> if ("celkovyPrehladProvider".equals( report)){
> Date dateOd = df.parse(cycle.getParameter("dateDue"));
> rc.createCelkovyPrehladProvider(dateOd,
> output);
> }
>
> }
> catch (ClassCastException ex)
> {
> _exceptionReporter.reportRequestException("Report generate
> error ", ex);
>
> return;
> }
> catch (Throwable ex)
> {
> _exceptionReporter.reportRequestException("Error creating
> pdf stream.", ex);
>
> return;
> }
>
> return;
> }
>
> public String getName()
> {
> return SERVICE_NAME;
> }
>
> /** @since 4.0 */
> public void setExceptionReporter(RequestExceptionReporter
> exceptionReporter)
> {
> _exceptionReporter = exceptionReporter;
> }
>
> /** @since 4.0 */
> public void setLinkFactory(LinkFactory linkFactory)
> {
> _linkFactory = linkFactory;
> }
>
> /** @since 4.0 */
> public void setResponse(WebResponse response)
> {
> _response = response;
> }
>
> public void setContext(WebContext context) {
> this.context = context;
> }
>
> public WebContext getContext() {
> return context;
> }
>
> public WebRequest getRequest() {
> return request;
> }
> }
>
> hivemodule.xml:
> <module id="com.skms.InternetPreVsetkych.tapestry.reporty"
> version="4.0.0" package="org.apache.tapestry.portlet">
>
> Add on for Tapestry that adds native Portlet support.
>
> <dependency module-id="tapestry" version="4.0.0"/>
> <dependency module-id="tapestry.portlet" version="4.0.0"/>
> <dependency module-id="hivemind.lib" version="1.1.0"/>
> <contribution
> configuration-id="tapestry.portlet.resolver.PageResolverRules">
> <match portlet-mode="view" page="reporty"/> </contribution>
>
> <contribution configuration-id="tapestry.state.ApplicationObjects">
> <state-object name="validation-delegate" scope="session">
> <create-instance
> class="org.apache.tapestry.valid.ValidationDelegate"/>
> </state-object> </contribution>
>
> <contribution configuration-id="tapestry.services.ApplicationServices">
> <service name="generovanieReportov"
> object="service:GenerovanieReportov"/>
> </contribution>
>
> <service-point id="GenerovanieReportov"
> interface="org.apache.tapestry.engine.IEngineService">
> <invoke-factory>
> <construct
> class="com.skms.InternetPreVsetkych.tapestry.reporty.GenerovanieReportov">
>
> <set-object property="exceptionReporter"
> value="infrastructure:requestExceptionReporter"/>
> <set-object property="response" value="infrastructure:response"/>
> <set-object property="linkFactory"
> value="infrastructure:linkFactory"/>
> <set-object property="request" value="infrastructure:request"/>
> <set-object property="context" value="infrastructure:context"/>
> </construct>
> </invoke-factory>
> </service-point>
>
> </module>
>
>
> page:
>
> <page-specification
> class="com.skms.InternetPreVsetkych.tapestry.reporty.CelkovyPrehlad">
>
> <description>add a description</description>
> <inject property="request" object="infrastructure:request"/>
> <inject property="context" object="infrastructure:context"/>
> <inject property="portletRequest"
> object="service:tapestry.portlet.PortletRequest"/>
> <inject property="generovanieService"
> object="engine-service:generovanieReportov"/>
>
> <property name="datum" persist="session"/>
> <property name="provider" persist="session"/> </page-specification>
>
>
> <form jwcid="formFilter@Form" success="listener:formSubmit"
> clientValidationEnabled="ognl:true">
> <table>
> <tr>
> <td class="portlet-section-alternate"><label
> jwcid="@FieldLabel"
> field="component:datumPripojenia">Dátum</label></td>
> <td class="portlet-form-field-label">
> <span displayName="Dátum"
> jwcid="datumPripojenia@DatePicker" value="ognl:datum"
> validators="validators:required[Zadajte prosĂm dátum]"
> translator="translator:date,pattern=dd.MM.yyyy"/>
> </td>
> </tr>
> <tr>
> <td class="portlet-section-alternate">Provider: </td>
> <td class="portlet-form-field-label">
> <select
> jwcid="provider@PropertySelection" value="ognl:provider"
> model="ognl:providerModel"
> size="1"
> displayName="Provider">
> </select>
> </td>
> </tr>
> <tr>
> <td class="portlet-section-alternate"></td>
> <td class="portlet-form-field-label">
> <input type="submit" value="Generuj"
> class="portlet-form-button" />
> <a href="#" jwcid="@PageLink"
> page="reporty">Návrat</a> </td>
> </tr> </table>
> </form>
>
>
>
> Class:
>
> package com.skms.InternetPreVsetkych.tapestry.reporty;
>
> import org.apache.log4j.Logger;
>
> import java.text.SimpleDateFormat;
> import java.util.ArrayList;
> import java.util.Collection;
> import java.util.Date;
> import java.util.HashMap;
> import java.util.Iterator;
>
> import org.apache.commons.collections.CollectionUtils;
> import org.apache.commons.collections.Transformer;
> import org.apache.jetspeed.CommonPortletServices;
> import org.apache.jetspeed.security.Group;
> import org.apache.jetspeed.security.GroupManager;
> import org.apache.tapestry.IRequestCycle;
> import org.apache.tapestry.engine.IEngineService;
> import org.apache.tapestry.engine.ILink;
> import org.apache.tapestry.html.BasePage;
> import org.apache.tapestry.web.WebContext;
> import org.apache.tapestry.web.WebRequest;
> import org.postgresql.jdbc2.optional.SimpleDataSource;
>
> import com.skms.InternetPreVsetkych.PrincipalStore;
> import com.skms.InternetPreVsetkych.SecurityStore;
> import com.skms.InternetPreVsetkych.domain.Provider;
> import com.skms.InternetPreVsetkych.tapestry.Item;
> import com.skms.InternetPreVsetkych.tapestry.ItemSelectionModel;
>
>
> public abstract class CelkovyPrehlad extends BasePage {
> /**
> * Logger for this class
> */
> private static final Logger logger =
> Logger.getLogger(CelkovyPrehlad.class);
>
> public abstract WebRequest getRequest();
> public abstract WebContext getContext();
> public abstract Date getDatum();
> public abstract Provider getProvider();
>
> ItemSelectionModel providerModel;
> public ItemSelectionModel getProviderModel() {
> if (providerModel == null){
> ArrayList list = new ArrayList();
> list.add(new Item("", null));
> try{
>
> CollectionUtils.collect(getUcastnikService().getProviders().iterator(),
> new Transformer() {
> public Object transform(Object obj) {
> Provider prov = (Provider) obj;
> return new Item(prov.getNazov(), prov.getId());
> }
> }, list);
> } catch (Exception e){
> }
> providerModel = new
> ItemSelectionModel(list); }
> return providerModel;
> }
> protected final
> com.skms.InternetPreVsetkych.service.UcastnikService getUcastnikService()
> {
> try
> {
> PrincipalStore.set(getRequest().getUserPrincipal());
> SecurityStore.setMDPTRole(new Boolean
> (getRequest().isUserInRole("mdpt")));
> SecurityStore.setProvider(null);
> if (!getRequest().isUserInRole("mdpt")){
> try {
> GroupManager grManager = (GroupManager)
> getContext().getAttribute(CommonPortletServices.CPS_GROUP_MANAGER_COMPONENT);
>
> Collection col =
> grManager.getGroupsForUser(getRequest().getUserPrincipal().getName());
> for (Iterator iter = col.iterator();
> iter.hasNext();) {
> Group element = (Group) iter.next();
> Provider provider =
> getUcastnikService().findProvider(element.getPrincipal().getName());
> if (provider != null){
> SecurityStore.setProvider(provider);
> }
> }
> } catch (Exception e) {
> logger.error("getUcastnikService() - e=" + e,
> e); //$NON-NLS-1$
> }
> }
> return
> com.skms.InternetPreVsetkych.ServiceLocator.instance().getUcastnikService();
>
> }
> catch (final Throwable throwable)
> {
> throw new RuntimeException(throwable);
> }
> } public abstract IEngineService getGenerovanieService();
> public ILink formSubmit(IRequestCycle cycle){
> HashMap map = new HashMap();
> SimpleDateFormat df = new SimpleDateFormat("dd.MM.yyyy");
> map.put("dateDue", df.format(getDatum()));
> if (getProvider() != null){
> map.put("provider", getProvider().getId());
> } return getGenerovanieService().getLink(false,
> map);
> }
> }
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org