This involves the following.
To be done
To be done
To be done
Defining an AspirePortlet to Jetspeed is like defining any other portlet to Jetspeed. This means creating a portlet-entry in an xreg file. Xreg files reside in \jetspeed\web-inf\conf sub directory
(!--
**********************************************************************
* SamplePortlet
**********************************************************************
--)
(portlet-entry name="MyAspirePortlet" hidden="false" type="instance" application="false")
(meta-info)
(title)SamplePortlet title(/title)
(description)SamplePortlet Description(/description)
(/meta-info)
(classname)com.indent.actions.portlets.AspirePortlet(/classname)
(media-type ref="html"/)
(url cachedOnURL="true"/)
(/portlet-entry)
In one of your aspire related properties files create the following entry
Portlet-entry.MyAspirePortlet.firstURL=your-first-aspire-url-name
See below for what 'your-first-aspire-url-name' could look like and what it defines
See Aspire documentation to see the general structure of an aspire url. What follows is an example
###################################
# ShowFiledReportsViewJSPURL
###################################
ShowFiledReportsViewJSPURL=/reports/report-filing/reports-summary-view.html
ShowFiledReportsViewJSPURL.transformType=JSP
request.ShowFiledReportsViewJSPURL.transform.className=com.ai.jsp.JSPTransform
ShowFiledReportsViewJSPURL.formHandlerName=ShowFiledReportsViewURLFormHandler
#
#Data definition
#
request.ShowFiledReportsViewURLFormHandler.form_handler.class_request.className=com.ai.htmlgen.DBHashTableFormHandler1
ShowFiledReportsViewURLFormHandler.loopNames=FoldersLoop1
#
#Maindata request
#
request.ShowFiledReportsViewURLFormHandler.maindataRequest.classname=com.ai.db.DBRequestExecutor2
request.ShowFiledReportsViewURLFormHandler.maindataRequest.db=reportsDB
request.ShowFiledReportsViewURLFormHandler.maindataRequest.stmt=\
\
select first_name as user_first_name \
,last_name as user_last_name \
,email as user_email \
from users \
where user_id = {ownerUserId.quote}
#first primary loop
request.ShowFiledReportsViewURLFormHandler.FoldersLoop1.class_request.className=com.ai.htmlgen.GenericTableHandler6
request.ShowFiledReportsViewURLFormHandler.FoldersLoop1.loopNames=itemsLoop
request.ShowFiledReportsViewURLFormHandler.FoldersLoop1.query_request.className=com.ai.db.DBRequestExecutor2
request.ShowFiledReportsViewURLFormHandler.FoldersLoop1.query_request.db=reportsDB
request.ShowFiledReportsViewURLFormHandler.FoldersLoop1.query_request.stmt=\
select * from folders \
where 1=1 \
and parent_folder_id is null \
and public = 'Y' \
and owner_user_id = {ownerUserId.quote} \
order by folder_name
###################################
# ShowFiledReportsViewJSPURL
###################################
ShowFiledReportsViewJSPURL=/reports/report-filing/reports-summary-view.html
ShowFiledReportsViewJSPURL.transformType=JSP
ShowFiledReportsViewJSPURL.formHandlerName=ShowFiledReportsViewURLFormHandler
#
#Data definition
#
request.ShowFiledReportsViewURLFormHandler.form_handler.class_request.className=com.ai.htmlgen.DBHashTableFormHandler1
ShowFiledReportsViewURLFormHandler.loopNames=FoldersLoop1
#
#Maindata request
#
request.ShowFiledReportsViewURLFormHandler.maindataRequest.classname=com.ai.db.DBRequestExecutor2
request.ShowFiledReportsViewURLFormHandler.maindataRequest.db=reportsDB
request.ShowFiledReportsViewURLFormHandler.maindataRequest.stmt=\
\
select first_name as user_first_name \
,last_name as user_last_name \
,email as user_email \
from users \
where user_id = {ownerUserId.quote}
#first primary loop
request.ShowFiledReportsViewURLFormHandler.FoldersLoop1.class_request.className=com.ai.htmlgen.GenericTableHandler6
request.ShowFiledReportsViewURLFormHandler.FoldersLoop1.loopNames=itemsLoop
request.ShowFiledReportsViewURLFormHandler.FoldersLoop1.query_request.className=com.ai.db.DBRequestExecutor2
request.ShowFiledReportsViewURLFormHandler.FoldersLoop1.query_request.db=reportsDB
request.ShowFiledReportsViewURLFormHandler.FoldersLoop1.query_request.stmt=\
select * from folders \
where 1=1 \
and parent_folder_id is null \
and public = 'Y' \
and owner_user_id = {ownerUserId.quote} \
order by folder_name
To be done
request.SetFolderAccess.classname=com.ai.db.DBRequestExecutor2
request.SetFolderAccess.query_type=update
request.SetFolderAccess.db=reportsDB
request.SetFolderAccess.stmt=\
update folders \
set public = {access.quote} \
where folder_id = {folderId}
request.SetFolderAccess.redirectURL=any-display-url-including-jsp
request.SetFolderAccess.failureRedirectURL=any-display-url-including-jsp
The following attribute is available in the request object
// Allow access to portlet from .jsp template
request.setAttribute("aspire_jsp_deliver_cache", "true");
The param "aspire_jetspeed_selflink" is in the hashtable for access
The param "aspire_turbine_rundata" in the hash table points to the turbine rundata
//Get the action object from aspire
Object dataObj = FormUtils.getDataObjectFor(url,params);
HttpServletRequest request = rundata.getRequest();
//Set it in the rundata or request
request.setAttribute("AspireDataSet",dataObj);
// Allow access to portlet from .jsp template
request.setAttribute("portlet", this);
// Add js_peid out of convenience
request.setAttribute("js_peid", getID());
// Add rundata out of convenience (JspService.RUNDATA differs from GenericMVCPortlet.RUNDATA)
request.setAttribute(JspService.RUNDATA, rundata);
To be done
To be done
for any questions email me at 'satya at activeintellect dot com'