package com.idega.block.datareport.presentation;
import java.rmi.RemoteException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import javax.ejb.CreateException;
import javax.ejb.FinderException;
import com.idega.block.dataquery.business.QueryService;
import com.idega.block.dataquery.business.QueryToSQLBridge;
import com.idega.block.dataquery.data.QueryRepresentation;
import com.idega.block.dataquery.presentation.ReportQueryBuilder;
import com.idega.block.datareport.business.JasperReportBusiness;
import com.idega.block.entity.business.EntityToPresentationObjectConverter;
import com.idega.block.entity.data.EntityPath;
import com.idega.block.entity.data.EntityPathValueContainer;
import com.idega.block.entity.presentation.EntityBrowser;
import com.idega.block.entity.presentation.converter.ButtonConverter;
import com.idega.block.entity.presentation.converter.CheckBoxConverter;
import com.idega.block.entity.presentation.converter.editable.DropDownMenuConverter;
import com.idega.block.entity.presentation.converter.editable.OptionProvider;
import com.idega.business.IBOLookup;
import com.idega.core.file.data.ICFile;
import com.idega.core.file.data.ICFileHome;
import com.idega.data.EntityRepresentation;
import com.idega.data.IDOLookup;
import com.idega.data.IDOLookupException;
import com.idega.idegaweb.IWBundle;
import com.idega.idegaweb.IWResourceBundle;
import com.idega.presentation.Block;
import com.idega.presentation.IWContext;
import com.idega.presentation.PresentationObject;
import com.idega.presentation.Table;
import com.idega.presentation.text.Link;
import com.idega.presentation.text.Text;
import com.idega.presentation.ui.Form;
import com.idega.presentation.ui.SubmitButton;
import com.idega.user.data.User;
/**
* <p>Title: idegaWeb</p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2003</p>
* <p>Company: idega Software</p>
* @author <a href="thomas@idega.is">Thomas Hilbig</a>
* @version 1.0
* Created on Oct 13, 2003
*/
public class ReportQueryOverview extends Block {
// special init parameters
// replaced by parameters in class QueryBuilder
public static final String SET_ID_OF_DESIGN_FOLDER_KEY = ReportQueryBuilder.PARAM_LAYOUT_FOLDER_ID;
public static final String DELETE_KEY = "delete_key";
public static final String PDF_KEY = "pdf_key";
public static final String EXCEL_KEY = "excel_key";
public static final String HTML_KEY = "html_key";
public static final String EDIT_QUERY_SIMPLE_MODE_KEY = "edit_simple_mode_key";
public static final String EDIT_QUERY_EXPERT_MODE_KEY ="edit_expert_mode_key";
public static final String EDIT_NEW_QUERY = "edit_new_query";
public static final String UPLOAD_QUERY = "upload_query";
public static final String UPLOAD_LAYOUT = "upload_layout";
public static final String DELETE_ITEMS_KEY = "delete_items_key";
// not really used
public static final String CLOSE_KEY = "close_key";
public static final String VALUES_COMMITTED_KEY = "value_committed_key";
public static final String SHOW_LIST_KEY = "show_list_key";
public static final String SHOW_SINGLE_QUERY = "show_single_query";
public static final String SHOW_SINGLE_QUERY_CHECK_IF_DYNAMIC = "show_single_query_check_if_dynamic";
public static final String IW_BUNDLE_IDENTIFIER = "com.idega.block.dataquery";
public static final String NON_GROUPNAME_SUBSTITUTE = "-";
public static final String LAYOUT_FOLDER_NAME = "layout";
//private static final String REPORT_HEADLINE_KEY = "ReportTitle";
// sets the investigation level of the query builder (-1 means, that the query builder is shown in the simple mode)
private static final int SIMPLE_MODE = -1;
// sets the investigation level of the query builder (0,1,2,3... means that the query builder is shown in the expert mode)
// be careful: high numbers need much performance and time!
public static final int EXPERT_MODE = 3;
protected ICFile designFolder;
private int showOnlyOneQueryWithId = -1;
protected Map parameterMap = new HashMap();
private boolean isAdmin = false;
// values of the parameter map
private static final String CURRENT_QUERY_ID = QueryResultViewer.QUERY_ID_KEY;
private static final String CURRENT_LAYOUT_ID = QueryResultViewer.DESIGN_ID_KEY;
private static final String CURRENT_OUTPUT_FORMAT = QueryResultViewer.OUTPUT_FORMAT_KEY;
public void setShowOnlyOneQueryWithId(int showOnlyOneQueryWithId) {
this.showOnlyOneQueryWithId = showOnlyOneQueryWithId;
}
public String getBundleIdentifier(){
return IW_BUNDLE_IDENTIFIER;
}
public void main(IWContext iwc) throws Exception {
try {
this.isAdmin = iwc.getAccessController().isAdmin(iwc);
}
catch (Exception ex) {
String message =
"[ReportOverview]: Can't retrieve AccessController.";
System.err.println(message + " Message is: " + ex.getMessage());
ex.printStackTrace(System.err);
this.isAdmin = false;
}
IWBundle bundle = getBundle(iwc);
IWResourceBundle resourceBundle = getResourceBundle(iwc);
String action = parseAction(iwc);
if (SHOW_SINGLE_QUERY.equals(action) || SHOW_SINGLE_QUERY_CHECK_IF_DYNAMIC.equals(action)) {
//getSingleQueryView(bundle, resourceBundle, action, iwc);
}
else {
getListOfQueries(bundle, resourceBundle, iwc);
}
}
private String parseAction(IWContext iwc) throws FinderException, RemoteException{
String action = "";
// get the file id of the query folder
String designFolderKey;
if (iwc.isParameterSet(SET_ID_OF_DESIGN_FOLDER_KEY)) {
designFolderKey = iwc.getParameter(SET_ID_OF_DESIGN_FOLDER_KEY);
this.designFolder = getFileForId(designFolderKey);
}
else {
this.designFolder = lookUpLayoutFolder();
designFolderKey = ((Integer) this.designFolder.getPrimaryKey()).toString();
}
this.parameterMap.put(SET_ID_OF_DESIGN_FOLDER_KEY, designFolderKey);
if (iwc.isParameterSet(DELETE_ITEMS_KEY)) {
List idsToDelete = CheckBoxConverter.getResultByParsing(iwc, DELETE_KEY);
deleteQueries(idsToDelete, iwc);
return "";
}
// check html, pdf and excel buttons
EntityPathValueContainer executeContainer = ButtonConverter.getResultByParsing(iwc);
if (executeContainer.isValid()) {
// get the chosen output format
this.parameterMap.put(CURRENT_OUTPUT_FORMAT,executeContainer.getEntityPathShortKey());
// get the chosen query
try {
this.parameterMap.put(CURRENT_QUERY_ID, executeContainer.getEntityIdConvertToInteger());
}
catch (NumberFormatException ex) {
String message =
"[ReportOverview]: Can't retrieve id of query";
System.err.println(message + " Message is: " + ex.getMessage());
ex.printStackTrace(System.err);
return "";
}
// get the chosen layout
EntityPathValueContainer layoutContainer =
DropDownMenuConverter.getResultByEntityIdAndEntityPathShortKey(this.parameterMap.get(CURRENT_QUERY_ID), QueryRepresentation.DESIGN_LAYOUT_KEY, iwc);
if (layoutContainer.isValid()) {
try {
this.parameterMap.put(CURRENT_LAYOUT_ID, new Integer(layoutContainer.getValue().toString()));
}
catch (NumberFormatException ex) {
String message = "[ReportOverview]: Can't retrieve id of layout";
System.err.println(message + " Message is: " + ex.getMessage());
ex.printStackTrace(System.err);
return "";
}
}
return SHOW_SINGLE_QUERY_CHECK_IF_DYNAMIC;
}
// dynamic field values were committed
else if (iwc.isParameterSet(VALUES_COMMITTED_KEY)) {
try {
String id = iwc.getParameter(CURRENT_QUERY_ID);
this.parameterMap.put(CURRENT_QUERY_ID, new Integer(id));
}
catch (NumberFormatException ex) {
String message =
"[ReportOverview]: Can't retrieve query id.";
System.err.println(message + " Message is: " + ex.getMessage());
ex.printStackTrace(System.err);
return "";
}
try {
String id = iwc.getParameter(CURRENT_LAYOUT_ID);
this.parameterMap.put(CURRENT_LAYOUT_ID, new Integer(id));
}
catch (NumberFormatException ex) {
String message =
"[ReportOverview]: Can't retrieve layout id.";
System.err.println(message + " Message is: " + ex.getMessage());
ex.printStackTrace(System.err);
return "";
}
String format = iwc.getParameter(CURRENT_OUTPUT_FORMAT);
this.parameterMap.put(CURRENT_OUTPUT_FORMAT, format);
return SHOW_SINGLE_QUERY;
}
return action;
}
private void getListOfQueries(IWBundle bundle, IWResourceBundle resourceBundle, IWContext iwc) throws RemoteException, FinderException {
Collection queries = getQueryService(iwc).getQueries(iwc, this.showOnlyOneQueryWithId);
Form form = new Form();
form.setName("list_form");
EntityBrowser browser = getBrowser(new ArrayList(queries), bundle, resourceBundle, form);
addParametersToBrowser(browser);
addParametersToForm(form);
if (this.showOnlyOneQueryWithId != -1) {
String newQueryWasCreatedOrModfied =
resourceBundle.getLocalizedString("ro_query_was_created_or_modified", "Following query was created or modifed");
Text text = new Text(newQueryWasCreatedOrModfied);
text.setBold();
text.setFontColor("#FF0000");
add(text);
}
Table table = new Table(1,2);
table.add(browser, 1,1);
table.add(getButtonBar(resourceBundle), 1,2);
form.add(table);
add(form);
}
private PresentationObject getButtonBar(IWResourceBundle resourceBundle) {
Table table = new Table(7,1);
// new button for query builder (simple mode)
String simpleModeText = resourceBundle.getLocalizedString("ro_create_simple_mode", "New (simple mode)");
Link simpleModeLink = new Link(simpleModeText);
simpleModeLink.addParameter(ReportQueryBuilder.SHOW_WIZARD, Integer.toString(SIMPLE_MODE));
simpleModeLink.addParameter(ReportQueryOverview.EDIT_NEW_QUERY, ReportQueryOverview.EDIT_NEW_QUERY);
//simpleModeLink.addParameter(ReportQueryBuilder.PARAM_QUERY_FOLDER_ID, parameterMap.get(SET_ID_OF_QUERY_FOLDER_KEY).toString());
simpleModeLink.addParameter(ReportQueryBuilder.PARAM_LAYOUT_FOLDER_ID, this.parameterMap.get(SET_ID_OF_DESIGN_FOLDER_KEY).toString());
simpleModeLink.setAsImageButton(true);
int column = 1;
table.add(simpleModeLink,column++,1);
if (this.isAdmin) {
// new button for query builder (expert mode)
String expertModeText = resourceBundle.getLocalizedString("ro_create_expert_mode", "New (expert mode)");
Link expertModeLink = new Link(expertModeText);
expertModeLink.addParameter(ReportQueryBuilder.SHOW_WIZARD, Integer.toString(EXPERT_MODE));
expertModeLink.addParameter(ReportQueryOverview.EDIT_NEW_QUERY, ReportQueryOverview.EDIT_NEW_QUERY);
// expertModeLink.addParameter(ReportQueryBuilder.PARAM_QUERY_FOLDER_ID, parameterMap.get(SET_ID_OF_QUERY_FOLDER_KEY).toString());
expertModeLink.addParameter(ReportQueryBuilder.PARAM_LAYOUT_FOLDER_ID, this.parameterMap.get(SET_ID_OF_DESIGN_FOLDER_KEY).toString());
expertModeLink.setAsImageButton(true);
table.add(expertModeLink,column++,1);
}
if (this.isAdmin) {
// new button for query builder (simple mode)
String uploadQueryText = resourceBundle.getLocalizedString("ro_upload_query", "Upload query");
Link uploadQueryLink = new Link(uploadQueryText);
uploadQueryLink.addParameter(ReportQueryOverview.UPLOAD_QUERY, ReportQueryOverview.UPLOAD_QUERY);
//uploadQueryLink.addParameter(ReportQueryBuilder.PARAM_QUERY_FOLDER_ID, parameterMap.get(SET_ID_OF_QUERY_FOLDER_KEY).toString());
uploadQueryLink.addParameter(ReportQueryBuilder.PARAM_LAYOUT_FOLDER_ID, this.parameterMap.get(SET_ID_OF_DESIGN_FOLDER_KEY).toString());
uploadQueryLink.setAsImageButton(true);
table.add(uploadQueryLink, column++, 1);
// new button for query builder (simple mode)
String uploadLayoutText = resourceBundle.getLocalizedString("ro_upload_layout", "Upload layout");
Link uploadLayoutLink = new Link(uploadLayoutText);
uploadLayoutLink.addParameter(ReportQueryOverview.UPLOAD_LAYOUT, ReportQueryOverview.UPLOAD_LAYOUT);
//uploadQueryLink.addParameter(ReportQueryBuilder.PARAM_QUERY_FOLDER_ID, parameterMap.get(SET_ID_OF_QUERY_FOLDER_KEY).toString());
uploadLayoutLink.addParameter(ReportQueryBuilder.PARAM_LAYOUT_FOLDER_ID, this.parameterMap.get(SET_ID_OF_DESIGN_FOLDER_KEY).toString());
uploadLayoutLink.setAsImageButton(true);
table.add(uploadLayoutLink, column++, 1);
}
// delete button
String deleteText = resourceBundle.getLocalizedString("ro_delete", "Delete");
SubmitButton delete = new SubmitButton(DELETE_ITEMS_KEY, deleteText);
// change target
//String click = getRemoveTargetScript();//ReportOverviewWindow.class);
//delete.setOnClick(click);
delete.setAsImageButton(true);
// close button
String closeText = resourceBundle.getLocalizedString("ro_cancel", "Cancel");
Link close = new Link(closeText);
close.addParameter(CLOSE_KEY, CLOSE_KEY);
close.setAsImageButton(true);
close.setOnClick("window.close()");
table.add(delete,column++,1);
table.add(close, column++,1);
// special button if only one query was shown
if (this.showOnlyOneQueryWithId != -1) {
PresentationObject goBack = getGoBackButton(resourceBundle);
table.add(goBack, column++,1);
}
return table;
}
private EntityBrowser getBrowser(List queryRepresentations, IWBundle bundle, IWResourceBundle resourceBundle, Form form) {
EntityBrowser browser = EntityBrowser.getInstanceUsingExternalForm();
browser.setAcceptUserSettingsShowUserSettingsButton(false, false);
// browser gets confused because of some new children windows, therefore set artificial compoundId
browser.setArtificialCompoundId("report_overview", null);
browser.setLeadingEntityIsUndefined();
// browser.setShowAllEntities("", queryRepresentations);
browser.setEntities("", queryRepresentations, 22);
// some design features
browser.setCellpadding(2);
// define some converters
// drop down menu converter
DropDownMenuConverter dropDownLayoutConverter = new DropDownMenuConverter(form);
dropDownLayoutConverter.setAddEntryForNonExistingValue(false);
dropDownLayoutConverter.setOptionProvider(getLayoutOptionProvider());
dropDownLayoutConverter.setShowAlwaysDropDownMenu(true);
// edit query converter
String simpleModeDisplay = resourceBundle.getLocalizedString("ro_edit_query_simple_mode", "Edit (simple mode)");
String expertModeDisplay = (this.isAdmin) ? resourceBundle.getLocalizedString("ro_edit_query_expert_mode", "Edit (expert mode)") : null;
EditQueryConverter simpleEditQueryConverter = new EditQueryConverter(simpleModeDisplay, SIMPLE_MODE);
EditQueryConverter expertEditQueryConverter = (this.isAdmin) ? new EditQueryConverter(expertModeDisplay, EXPERT_MODE) : null;
// checkbox converter
ButtonConverter htmlConverter = new ButtonConverter(bundle.getImage("/shared/txt.gif"));
ButtonConverter pdfConverter = new ButtonConverter(bundle.getImage("/shared/pdf.gif"));
ButtonConverter excelConverter = new ButtonConverter(bundle.getImage("/shared/xls.gif"));
// change target
String click = getChangeTargetScript(); //QueryResultViewerWindow.class);
htmlConverter.setOnClick(click);
pdfConverter.setOnClick(click);
excelConverter.setOnClick(click);
browser.setMandatoryColumnWithConverter(1, DELETE_KEY, new DeleteCheckBox(DELETE_KEY));
browser.setMandatoryColumn(2, QueryRepresentation.NAME_KEY);
browser.setMandatoryColumn(3, QueryRepresentation.GROUP_NAME_KEY);
browser.setMandatoryColumn(4, QueryRepresentation.IS_PRIVATE_KEY);
browser.setMandatoryColumnWithConverter(5, QueryRepresentation.DESIGN_LAYOUT_KEY, dropDownLayoutConverter);
browser.setMandatoryColumnWithConverter(6, HTML_KEY, htmlConverter);
browser.setMandatoryColumnWithConverter(7, PDF_KEY, pdfConverter);
browser.setMandatoryColumnWithConverter(8, EXCEL_KEY, excelConverter);
browser.setMandatoryColumnWithConverter(9, EDIT_QUERY_SIMPLE_MODE_KEY, simpleEditQueryConverter);
if (this.isAdmin) {
browser.setMandatoryColumnWithConverter(10, EDIT_QUERY_EXPERT_MODE_KEY, expertEditQueryConverter);
}
return browser;
}
private OptionProvider getLayoutOptionProvider() {
OptionProvider optionProvider = new OptionProvider() {
Map optionMap = null;
public Map getOptions(Object entity, EntityPath path, EntityBrowser browser, IWContext iwc) {
IWResourceBundle resourceBundle = getResourceBundle(iwc);
String dynamicLayout = resourceBundle.getLocalizedString("ro_dynamic_layout","dynamic layout");
if (this.optionMap == null) {
this.optionMap = new LinkedHashMap();
this.optionMap.put("-1", dynamicLayout);
if(ReportQueryOverview.this.designFolder!=null){
Iterator iterator = ReportQueryOverview.this.designFolder.getChildrenIterator();
if (iterator != null) {
while (iterator.hasNext()) {
ICFile node = (ICFile) iterator.next();
if (!node.isFolder()) {
String name = node.getNodeName();
int id = node.getNodeID();
String idAsString = Integer.toString(id);
this.optionMap.put(idAsString, name);
}
}
}
}
}
return this.optionMap;
}
};
return optionProvider;
}
private PresentationObject getGoBackButton(IWResourceBundle resourceBundle) {
String goBackText = resourceBundle.getLocalizedString("ro_back_to_list", "Back to list");
Link goBack = new Link(goBackText);
goBack.addParameter(SHOW_LIST_KEY, SHOW_LIST_KEY);
addParametersToLink(goBack);
goBack.setAsImageButton(true);
return goBack;
}
private void addParametersToForm(Form form) {
Iterator iterator = this.parameterMap.entrySet().iterator();
while (iterator.hasNext()) {
Map.Entry entry = (Map.Entry) iterator.next();
String key = (String) entry.getKey();
String value = entry.getValue().toString();
form.addParameter(key, value);
}
}
private void addParametersToLink(Link link) {
Iterator iterator = this.parameterMap.entrySet().iterator();
while (iterator.hasNext()) {
Map.Entry entry = (Map.Entry) iterator.next();
String key = (String) entry.getKey();
String value = entry.getValue().toString();
link.addParameter(key, value);
}
}
private void addParametersToBrowser(EntityBrowser browser) {
Iterator iterator = this.parameterMap.entrySet().iterator();
while (iterator.hasNext()) {
Map.Entry entry = (Map.Entry) iterator.next();
String key = (String) entry.getKey();
String value = entry.getValue().toString();
browser.addMandatoryParameter(key, value);
}
}
// some file methods
private ICFile getFileForId( String idString) throws FinderException {
if (idString.length() == 0) {
return null;
}
Integer id = null;
try {
id = new Integer(idString);
}
catch (NumberFormatException ex) {
System.err.println("[ReportLayoutChooser] Can't parse integer. Message is: "+ ex.getMessage());
ex.printStackTrace(System.err);
return null;
}
return getFile(id);
}
private ICFile getFile(Integer fileId) throws FinderException {
try {
ICFileHome home = (ICFileHome) IDOLookup.getHome(ICFile.class);
ICFile file = home.findByPrimaryKey(fileId);
return file;
}
catch(RemoteException ex){
throw new RuntimeException("[ReportBusiness]: Message was: " + ex.getMessage());
}
}
private void deleteQueries(List idsToDelete, IWContext iwc) throws RemoteException {
User currentUser = iwc.getCurrentUser();
Iterator iterator = idsToDelete.iterator();
QueryService queryService = getQueryService(iwc);
while (iterator.hasNext()) {
Integer id = (Integer) iterator.next();
queryService.removeUserQuery(id, currentUser);
}
}
// some get service methods
private QueryService getQueryService(IWContext iwc) {
try {
return (QueryService) IBOLookup.getServiceInstance( iwc.getApplicationContext() ,QueryService.class);
}
catch (RemoteException ex) {
System.err.println("[ReportOverview]: Can't retrieve QueryService. Message is: " + ex.getMessage());
throw new RuntimeException("[ReportOverview]: Can't retrieve QueryService");
}
}
public QueryToSQLBridge getQueryToSQLBridge() {
try {
return (QueryToSQLBridge) IBOLookup.getServiceInstance( getIWApplicationContext() ,QueryToSQLBridge.class);
}
catch (RemoteException ex) {
System.err.println("[ReportOverview]: Can't retrieve QueryToSqlBridge. Message is: " + ex.getMessage());
throw new RuntimeException("[ReportOverview]: Can't retrieve QueryToSQLBridge");
}
}
public JasperReportBusiness getReportBusiness() {
try {
return (JasperReportBusiness) IBOLookup.getServiceInstance( getIWApplicationContext(), JasperReportBusiness.class);
}
catch (RemoteException ex) {
System.err.println("[ReportOverview]: Can't retrieve JasperReportBusiness. Message is: " + ex.getMessage());
throw new RuntimeException("[ReportOverview]: Can't retrieve ReportBusiness");
}
}
// link to query builder converter
class EditQueryConverter implements EntityToPresentationObjectConverter {
private String display;
private int searchDepth;
public EditQueryConverter(String display, int searchDepth) {
this.display = display;
this.searchDepth = searchDepth;
}
public PresentationObject getHeaderPresentationObject(
EntityPath entityPath,
EntityBrowser browser,
IWContext iwc) {
return browser.getDefaultConverter().getHeaderPresentationObject(entityPath, browser, iwc);
}
/* (non-Javadoc)
* @see com.idega.block.entity.business.EntityToPresentationObjectConverter#getPresentationObject(java.lang.Object, com.idega.block.entity.data.EntityPath, com.idega.block.entity.presentation.EntityBrowser, com.idega.presentation.IWContext)
*/
public PresentationObject getPresentationObject(
Object entity,
EntityPath path,
EntityBrowser browser,
IWContext iwc) {
//String shortKeyPath = path.getShortKey();
if (((QueryRepresentation) entity).belongsToUser()) {
EntityRepresentation idoEntity = (EntityRepresentation) entity;
Link link = new Link(this.display);
link.addParameter(ReportQueryBuilder.SHOW_WIZARD, Integer.toString(this.searchDepth));
link.addParameter(ReportQueryBuilder.PARAM_QUERY_ID, idoEntity.getPrimaryKey().toString());
// link.addParameter(ReportQueryBuilder.PARAM_QUERY_FOLDER_ID, parameterMap.get(SET_ID_OF_QUERY_FOLDER_KEY).toString());
link.addParameter(ReportQueryBuilder.PARAM_LAYOUT_FOLDER_ID,ReportQueryOverview.this.parameterMap.get(SET_ID_OF_DESIGN_FOLDER_KEY).toString());
link.setAsImageButton(true);
return link;
}
return Text.emptyString();
}
}
class DeleteCheckBox extends CheckBoxConverter {
public DeleteCheckBox(String name) {
super(name);
}
public PresentationObject getPresentationObject(
Object entity,
EntityPath path,
EntityBrowser browser,
IWContext iwc) {
if (((QueryRepresentation) entity).belongsToUser()) {
return super.getPresentationObject(entity, path, browser, iwc);
}
// return checkbox if query
return Text.emptyString();
}
}
private String getChangeTargetScript() {//(Class windowClass) {
// String windowId = IWMainApplication.getEncryptedClassName(windowClass);
// note: the name "newTarget" is not important and arbitrary
// StringBuffer buffer = new StringBuffer("findObj('");
// buffer.append(Page.IW_FRAME_CLASS_PARAMETER);
// buffer.append("').value='");
// buffer.append(windowId);
StringBuffer buffer = new StringBuffer();
buffer.append("var hello=window.name; this.form.target='newTarget'; iwOpenWindow('','newTarget','0','0','0','0','0','0','1','1','1024','768');this.form.submit(); this.form.target=hello;");
buffer.append("changeValue(findObj('");
buffer.append(ButtonConverter.SUBMIT_KEY);
buffer.append("'),' ')");
return buffer.toString();
}
private ICFile lookUpLayoutFolder() {
ICFileHome home;
try {
home = (ICFileHome) IDOLookup.getHome(ICFile.class);
try {
ICFile file = home.findByFileName(LAYOUT_FOLDER_NAME);
return file;
}
catch (FinderException findEx) {
try {
ICFile layoutFolder = home.create();
layoutFolder.setName(LAYOUT_FOLDER_NAME);
layoutFolder.setMimeType(com.idega.core.file.data.ICMimeTypeBMPBean.IC_MIME_TYPE_FOLDER);
layoutFolder.store();
return layoutFolder;
}
catch (CreateException createEx) {
logError("[ReportQueryOverview] Could create file");
log(createEx);
}
}
}
catch (IDOLookupException lookupEx) {
logError("[ReportQueryOverview] Could not look up home of ICFile");
log(lookupEx);
}
return null;
}
}