|
What this is
Other links
The source code/* * $Header: /cvsroot/mvnforum/mvnforum/src/com/mvnforum/admin/CompanyWebHandler.java,v 1.37 2005/01/26 18:46:50 minhnn Exp $ * $Author: minhnn $ * $Revision: 1.37 $ * $Date: 2005/01/26 18:46:50 $ * * ==================================================================== * * Copyright (C) 2002-2005 by MyVietnam.net * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or any later version. * * All copyright notices regarding mvnForum MUST remain intact * in the scripts and in the outputted HTML. * The "powered by" text/logo with a link back to * http://www.mvnForum.com and http://www.MyVietnam.net in the * footer of the pages MUST remain visible when the pages * are viewed on the internet or intranet. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * * Support can be obtained from support forums at: * http://www.mvnForum.com/mvnforum/index * * Correspondence and Marketing Questions can be sent to: * info@MyVietnam.net * * @author: Tran Van Giang trangiang1605@users.sourceforge.net * @author: Minh Nguyen minhnn@MyVietnam.net */ package com.mvnforum.admin; import java.io.*; import java.sql.Timestamp; import java.util.*; import javax.servlet.ServletContext; import javax.servlet.http.HttpServletRequest; import com.mvnforum.MVNForumGlobal; import com.mvnforum.MVNForumResourceBundle; import com.mvnforum.MyUtil; import com.mvnforum.auth.*; import com.mvnforum.db.CompanyBean; import com.mvnforum.db.DAOFactory; import com.mvnforum.search.company.CompanyIndexer; import com.mvnforum.search.company.CompanySearchQuery; import net.myvietnam.mvncore.exception.*; import net.myvietnam.mvncore.fileupload.*; import net.myvietnam.mvncore.util.*; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; class CompanyWebHandler { private static Log log = LogFactory.getLog(CompanyWebHandler.class); private OnlineUserManager onlineUserManager = OnlineUserManager.getInstance(); CompanyWebHandler() { } void processAdd(ServletContext context, HttpServletRequest request) throws BadInputException, ObjectNotFoundException, CreateException, DatabaseException, DuplicateKeyException, ForeignKeyNotFoundException, AuthenticationException, AssertionException, IOException { OnlineUser onlineUser = onlineUserManager.getOnlineUser(request); MVNForumPermission permission = onlineUser.getPermission(); permission.ensureCanAdminSystem(); Timestamp now = DateUtil.getCurrentGMTTimestamp(); String companyName = ParamUtil.getParameterSafe(request, "CompanyName", true); String companyAddress = ParamUtil.getParameterSafe(request, "CompanyAddress", false); String companyCity = ParamUtil.getParameterSafe(request, "CompanyCity", false); String companyCAP = ParamUtil.getParameterSafe(request, "CompanyCAP", false); String companyProvince = ParamUtil.getParameterSafe(request, "CompanyProvince", false); String companyRegion = ParamUtil.getParameterSafe(request, "CompanyRegion", false); String companyPhone = ParamUtil.getParameterSafe(request, "CompanyPhone", false); String companyFax = ParamUtil.getParameterSafe(request, "CompanyFax", false); String companyWebsite = ParamUtil.getParameterUrl(request, "CompanyWebsite"); String companyEmail = ParamUtil.getParameterEmail(request, "CompanyEmail"); String companySpaceName = ParamUtil.getParameterSafe(request, "CompanySpaceName", true); String companySpaceHeader = ParamUtil.getParameterSafe(request, "CompanySpaceHeader", false); String companySpaceFooter = ParamUtil.getParameterSafe(request, "CompanySpaceFooter", false); String companyVATNumber = ParamUtil.getParameterSafe(request, "CompanyVATNumber", true); String companyLogo = ""; String companyCss = ""; Timestamp companyCreationDate = now; Timestamp companyModifiedDate = now; // First, check the alternate key of Company, ensure things is okie before adding Group try { //Check if alternate key already exists DAOFactory.getCompanyDAO().findByAlternateKey_CompanyName(companyName); //If so, then we have to throw an exception throw new DuplicateKeyException("Alternate key already exists. Cannot create new Company with the same <CompanyName> (" + companyName + ")."); } catch(ObjectNotFoundException e) { //Otherwise we can go ahead } try { //Check if alternate key already exists DAOFactory.getCompanyDAO().findByAlternateKey_CompanyEmail(companyEmail); //If so, then we have to throw an exception throw new DuplicateKeyException("Alternate key already exists. Cannot create new Company with the same <CompanyEmail> (" + companyEmail + ")."); } catch(ObjectNotFoundException e) { //Otherwise we can go ahead } try { //Check if alternate key already exists DAOFactory.getCompanyDAO().findByAlternateKey_CompanySpaceName(companySpaceName); //If so, then we have to throw an exception throw new DuplicateKeyException("Alternate key already exists. Cannot create new Company with the same <CompanySpaceName> (" + companySpaceName + ")."); } catch(ObjectNotFoundException e) { //Otherwise we can go ahead } // Next, create group for this company String groupName = MVNForumGlobal.COMPANY_GROUP_FREFIX + companyName; String groupDesc = "This is the default generated group for company " + companyName; int groupOption = 0;//@todo review it later DAOFactory.getGroupsDAO().create(""/*groupOwnerName*/, groupName, groupDesc, groupOption, now/*groupCreationDate*/, now/*groupModifiedDate*/); int groupID = DAOFactory.getGroupsDAO().getGroupIDFromGroupName(groupName); // Finally, create the company now DAOFactory.getCompanyDAO().create(groupID, companyName, companyAddress, companyCity, companyCAP, companyProvince, companyRegion, companyPhone, companyFax, companyWebsite, companyEmail, companySpaceName, companySpaceHeader, companySpaceFooter, companyVATNumber, companyLogo, companyCss, companyCreationDate, companyModifiedDate); // create new folder for the company by companyID int companyID = DAOFactory.getCompanyDAO().getCompanyIDFromCompanyEmail(companyEmail); StringBuffer bufferCompanyFolder = new StringBuffer(128); bufferCompanyFolder.append(context.getRealPath(MVNForumGlobal.UPLOADED_COMPANY_DIR)); bufferCompanyFolder.append(File.separatorChar).append(companyID); String companyFolder = bufferCompanyFolder.toString(); FileUtil.createDir(companyFolder, true); // now, add to the Search Index CompanyBean justAddedCompanyBean = null; try { justAddedCompanyBean = DAOFactory.getCompanyDAO().getCompany(companyID); } catch (ObjectNotFoundException e) { Locale locale = I18nUtil.getLocaleInRequest(request); String localizedMessage = MVNForumResourceBundle.getString(locale, "mvncore.exception.ObjectNotFoundException.companyid_not_exists", new Object[] {new Integer(companyID)}); throw new ObjectNotFoundException(localizedMessage); } CompanyIndexer.scheduleAddCompanyTask(justAddedCompanyBean); } void prepareView(HttpServletRequest request) throws BadInputException, ObjectNotFoundException, DatabaseException, AssertionException, AuthenticationException { OnlineUser onlineUser = onlineUserManager.getOnlineUser(request); MVNForumPermission permission = onlineUser.getPermission(); permission.ensureCanAdminSystem(); String strCompanyID = ParamUtil.getParameter(request, "companyid", false); String strCompanyEmail = ParamUtil.getParameter(request, "companyemail", false); String strCompanyCreationDate = ParamUtil.getParameter(request, "companycreationdate", false); int companyID = 0; Locale locale = I18nUtil.getLocaleInRequest(request); if (strCompanyID.length() > 0) { companyID = ParamUtil.getParameterInt(request, "companyid"); } else if (strCompanyEmail.length() > 0) { String companyEmail = ParamUtil.getParameterEmail(request, "companyemail"); // check for better security try { companyID = DAOFactory.getCompanyDAO().getCompanyIDFromCompanyEmail(companyEmail); } catch (ObjectNotFoundException e) { String localizedMessage = MVNForumResourceBundle.getString(locale, "mvncore.exception.ObjectNotFoundException.company_not_exists.with_email", new Object[] {companyEmail}); throw new ObjectNotFoundException(localizedMessage); } } else if (strCompanyCreationDate.length() > 0) { java.util.Date companyCreationDate = ParamUtil.getParameterDateUtil(request, "companycreationdate"); try { companyID = DAOFactory.getCompanyDAO().getCompanyIDFromCompanyCreationDate(companyCreationDate); } catch (ObjectNotFoundException e) { String localizedMessage = MVNForumResourceBundle.getString(locale, "mvncore.exception.ObjectNotFoundException.company_not_exists.with_creationdate", new Object[] {strCompanyCreationDate}); throw new ObjectNotFoundException(localizedMessage); } } else { String localizedMessage = MVNForumResourceBundle.getString(locale, "mvncore.exception.BadInputException.cannot_get_info_to_view_company"); throw new BadInputException(localizedMessage); //throw new BadInputException("Cannot get the information to view company."); } CompanyBean companyBean = null; try { companyBean = DAOFactory.getCompanyDAO().getCompany(companyID); } catch (ObjectNotFoundException e) { String localizedMessage = MVNForumResourceBundle.getString(locale, "mvncore.exception.ObjectNotFoundException.companyid_not_exists", new Object[] {new Integer(companyID)}); throw new ObjectNotFoundException(localizedMessage); } request.setAttribute("CompanyBean", companyBean); } void processUpdateCompanyInfo(HttpServletRequest request) throws BadInputException, DatabaseException, ObjectNotFoundException, DuplicateKeyException, AuthenticationException, AssertionException { OnlineUser onlineUser = onlineUserManager.getOnlineUser(request); MVNForumPermission permission = onlineUser.getPermission(); permission.ensureCanAdminSystem(); Timestamp now = DateUtil.getCurrentGMTTimestamp(); int companyID = ParamUtil.getParameterInt(request,"companyid"); String companyName = ParamUtil.getParameterSafe(request, "CompanyName", true); String companyAddress = ParamUtil.getParameterSafe(request, "CompanyAddress", false); String companyCity = ParamUtil.getParameterSafe(request, "CompanyCity", false); String companyCAP = ParamUtil.getParameterSafe(request, "CompanyCAP", false); String companyProvince = ParamUtil.getParameterSafe(request, "CompanyProvince", false); String companyRegion = ParamUtil.getParameterSafe(request, "CompanyRegion", false); String companyPhone = ParamUtil.getParameterSafe(request, "CompanyPhone", false); String companyFax = ParamUtil.getParameterSafe(request, "CompanyFax", false); String companyWebsite = ParamUtil.getParameterUrl(request, "CompanyWebsite"); String companyEmail = ParamUtil.getParameterEmail(request, "CompanyEmail"); String companySpaceName = ParamUtil.getParameterSafe(request, "CompanySpaceName", true); String companySpaceHeader = ParamUtil.getParameterSafe(request,"CompanySpaceHeader", false); String companySpaceFooter = ParamUtil.getParameterSafe(request, "CompanySpaceFooter", false); String companyVATNumber = ParamUtil.getParameterSafe(request, "CompanyVATNumber", true); DAOFactory.getCompanyDAO().updateCompanyInfo(companyID, companyName, companyAddress, companyCity, companyCAP, companyProvince, companyRegion, companyPhone, companyFax, companyWebsite, companyEmail, companySpaceName, companySpaceHeader, companySpaceFooter, companyVATNumber, now/*companyModifiedDate*/); CompanyBean companyBean = null; try { companyBean = DAOFactory.getCompanyDAO().getCompany(companyID); } catch (ObjectNotFoundException e) { Locale locale = I18nUtil.getLocaleInRequest(request); String localizedMessage = MVNForumResourceBundle.getString(locale, "mvncore.exception.ObjectNotFoundException.companyid_not_exists", new Object[] {new Integer(companyID)}); throw new ObjectNotFoundException(localizedMessage); } request.setAttribute("CompanyBean", companyBean); // Next, create group for this company int groupID = companyBean.getGroupID(); String groupName = MVNForumGlobal.COMPANY_GROUP_FREFIX + companyName; String groupDesc = "This is the default generated group for company " + companyName; DAOFactory.getGroupsDAO().update(groupID, groupName, groupDesc, now/*groupModifiedDate*/); // now update the search index CompanyIndexer.scheduleUpdateCompanyTask(companyBean); } void processChangeLogo(ServletContext context, HttpServletRequest request) throws BadInputException, AuthenticationException, IOException, AssertionException, ObjectNotFoundException, DatabaseException { OnlineUser onlineUser = onlineUserManager.getOnlineUser(request); MVNForumPermission permission = onlineUser.getPermission(); permission.ensureCanAdminSystem(); Locale locale = I18nUtil.getLocaleInRequest(request); // primary key column(s) int companyID = ParamUtil.getParameterInt(request, "companyid"); FileUpload fileUpload = new FileUpload(); fileUpload.setSizeMax(70000);//70K fileUpload.setSizeThreshold(100000);// max memory used = 100K (more than needed) List fileItems; try { fileItems = fileUpload.parseRequest(request); } catch (FileUploadException ex) { log.error("Cannot upload", ex); String localizedMessage = MVNForumResourceBundle.getString(locale, "java.io.IOException.cannot_upload", new Object[] {ex.getMessage()}); throw new IOException(localizedMessage); //throw new IOException("Cannot upload. Detailed reason: " + ex.getMessage()); } // make sure only one file upload if (fileItems.size() != 1) { String localizedMessage = MVNForumResourceBundle.getString(locale, "mvncore.exception.AssertionException.cannot_upload_more_than_one", new Object[] {"logo"}); throw new AssertionException(localizedMessage); //throw new AssertionException("Assertion: Cannot upload more than 1 file while processing upload logo file for company."); } //get the first and only file FileItem myFile = (FileItem)fileItems.get(0); if (myFile.isFormField() == true) { String localizedMessage = MVNForumResourceBundle.getString(locale, "mvncore.exception.AssertionException.cannot_process_uploaded_file_with_a_form_field", new Object[] {"logo"}); throw new AssertionException(localizedMessage); //throw new AssertionException("Cannot process uploaded company logo file with a form field."); } // now everything all right, go ahead and create logo InputStream inputStream = myFile.getInputStream(); StringBuffer bufferPicFile = new StringBuffer(128); bufferPicFile.append(context.getRealPath(MVNForumGlobal.UPLOADED_COMPANY_DIR)); bufferPicFile.append(File.separatorChar).append(companyID); String companyDir = bufferPicFile.toString(); FileUtil.createDirs(companyDir, true/*ignore if exist*/); bufferPicFile.append("/").append("logo.jpg"); String logoFile = bufferPicFile.toString(); log.trace("uploaded file = " + logoFile); //The below method closes the inputStream after it have done its work. ImageUtil.createThumbnail(inputStream, logoFile, 500/*maxWidth*/, 500/*maxHeight*/);// can throw BadInputException // now the image has been save, go ahead and update database StringBuffer bufferVirtualFile = new StringBuffer(128); bufferVirtualFile.append(MVNForumGlobal.UPLOADED_COMPANY_DIR); bufferVirtualFile.append("/").append(companyID).append("/").append("logo.jpg"); String virtualFile = bufferVirtualFile.toString(); try { DAOFactory.getCompanyDAO().updateCompanyLogo(companyID, virtualFile); } catch (DatabaseException ex) {// we dont need to catch ObjectNotFoundException since the companyID is already exits log.fatal("Assertion in CompanyWebHandler.processChangeLogo");// we dont want it to be here // need to delete the file if the above database task failed FileUtil.deleteFile(logoFile); throw ex; } CompanyBean companyBean = null; try { companyBean = DAOFactory.getCompanyDAO().getCompany(companyID); } catch (ObjectNotFoundException e) { String localizedMessage = MVNForumResourceBundle.getString(locale, "mvncore.exception.ObjectNotFoundException.companyid_not_exists", new Object[] {new Integer(companyID)}); throw new ObjectNotFoundException(localizedMessage); } request.setAttribute("CompanyBean", companyBean); } void processChangeCss(ServletContext context,HttpServletRequest request) throws BadInputException, AuthenticationException, IOException, AssertionException, ObjectNotFoundException, DatabaseException { OnlineUser onlineUser = onlineUserManager.getOnlineUser(request); MVNForumPermission permission = onlineUser.getPermission(); permission.ensureCanAdminSystem(); Locale locale = I18nUtil.getLocaleInRequest(request); // primary key column(s) int companyID = ParamUtil.getParameterInt(request, "companyid"); FileUpload fileUpload = new FileUpload(); fileUpload.setSizeMax(20000);//20K fileUpload.setSizeThreshold(70000);// max memory used = 70K (more than needed) List fileItems; try { fileItems = fileUpload.parseRequest(request); } catch (FileUploadException ex) { log.error("Cannot upload", ex); String localizedMessage = MVNForumResourceBundle.getString(locale, "java.io.IOException.cannot_upload", new Object[] {ex.getMessage()}); throw new IOException(localizedMessage); //throw new IOException("Cannot upload. Detailed reason: " + ex.getMessage()); } // make sure only one file upload if (fileItems.size() != 1) { String localizedMessage = MVNForumResourceBundle.getString(locale, "mvncore.exception.AssertionException.cannot_upload_more_than_one", new Object[] {"css"}); throw new AssertionException(localizedMessage); //throw new AssertionException("Assertion: Cannot upload more than 1 file while processing upload css file for company."); } //get the first and only file FileItem myFile = (FileItem)fileItems.get(0); if (myFile.isFormField() == true) { String localizedMessage = MVNForumResourceBundle.getString(locale, "mvncore.exception.AssertionException.cannot_process_uploaded_file_with_a_form_field", new Object[] {"css"}); throw new AssertionException(localizedMessage); //throw new AssertionException("Cannot process uploaded company css file with a form field."); } // now everything all right, go ahead and create logo InputStream inputStream = myFile.getInputStream(); StringBuffer bufferCssFile = new StringBuffer(128); bufferCssFile.append(context.getRealPath(MVNForumGlobal.UPLOADED_COMPANY_DIR)); bufferCssFile.append(File.separatorChar).append(companyID); String companyDir = bufferCssFile.toString(); FileUtil.createDirs(companyDir, true/*ignore if exist*/); bufferCssFile.append("/").append("style.css"); String cssFile = bufferCssFile.toString(); log.trace("uploaded file = " + cssFile); //The below method closes the inputStream after it have done its work. FileUtil.createTextFile(inputStream, cssFile);// can throw BadInputException // now the image has been save, go ahead and update database StringBuffer bufferVirtualFile = new StringBuffer(128); bufferVirtualFile.append(MVNForumGlobal.UPLOADED_COMPANY_DIR); bufferVirtualFile.append("/").append(companyID).append("/").append("style.css"); String virtualFile = bufferVirtualFile.toString(); try { DAOFactory.getCompanyDAO().updateCompanyCss(companyID, virtualFile); } catch (DatabaseException ex) {// we dont need to catch ObjectNotFoundException since the companyID is already exits log.fatal("Assertion in CompanyWebHandler.processChangeCss");// we dont want it to be here // need to delete the file if the above database task failed FileUtil.deleteFile(cssFile); throw ex; } CompanyBean companyBean = null; try { companyBean = DAOFactory.getCompanyDAO().getCompany(companyID); } catch (ObjectNotFoundException e) { String localizedMessage = MVNForumResourceBundle.getString(locale, "mvncore.exception.ObjectNotFoundException.companyid_not_exists", new Object[] {new Integer(companyID)}); throw new ObjectNotFoundException(localizedMessage); } request.setAttribute("CompanyBean", companyBean); } void prepare(HttpServletRequest request) throws ObjectNotFoundException, BadInputException, DatabaseException, AuthenticationException, AssertionException { OnlineUser onlineUser = onlineUserManager.getOnlineUser(request); MVNForumPermission permission = onlineUser.getPermission(); permission.ensureCanAdminSystem(); int companyID = ParamUtil.getParameterInt(request, "companyid"); CompanyBean companyBean = null; try { companyBean = DAOFactory.getCompanyDAO().getCompany(companyID); } catch (ObjectNotFoundException e) { Locale locale = I18nUtil.getLocaleInRequest(request); String localizedMessage = MVNForumResourceBundle.getString(locale, "mvncore.exception.ObjectNotFoundException.companyid_not_exists", new Object[] {new Integer(companyID)}); throw new ObjectNotFoundException(localizedMessage); } request.setAttribute("CompanyBean", companyBean); } void processDelete(ServletContext context,HttpServletRequest request) throws BadInputException, ObjectNotFoundException, DatabaseException, AuthenticationException, AssertionException { OnlineUser onlineUser = onlineUserManager.getOnlineUser(request); MVNForumPermission permission = onlineUser.getPermission(); permission.ensureCanAdminSystem(); // primary key column(s) int companyID = ParamUtil.getParameterInt(request, "companyid"); // now check the password MyUtil.ensureCorrectCurrentPassword(request); try { DAOFactory.getCompanyDAO().delete(companyID); } catch (ObjectNotFoundException e ) { Locale locale = I18nUtil.getLocaleInRequest(request); String localizedMessage = MVNForumResourceBundle.getString(locale, "mvncore.exception.ObjectNotFoundException.companyid_not_exists", new Object[] {new Integer(companyID)}); throw new ObjectNotFoundException(localizedMessage); } DAOFactory.getMemberCompanyDAO().delete_inCompany(companyID); // now delete the folder for this company StringBuffer bufferCompanyFolder = new StringBuffer(128); bufferCompanyFolder.append(context.getRealPath(MVNForumGlobal.UPLOADED_COMPANY_DIR)); bufferCompanyFolder.append(File.separatorChar).append(companyID); String companyFolder = bufferCompanyFolder.toString(); try { FileUtil.deleteDir(new File(companyFolder)); } catch (IOException ioe) { } // now update the search index CompanyIndexer.scheduleDeleteCompanyTask(companyID); } /** * This method supports sorting base on many criteria */ void prepareShowCompanyManagement(HttpServletRequest request) throws DatabaseException, AssertionException, BadInputException, AuthenticationException { OnlineUser onlineUser = onlineUserManager.getOnlineUser(request); MVNForumPermission permission = onlineUser.getPermission(); permission.ensureCanAdminSystem(); // for sort and order stuff String sort = ParamUtil.getParameter(request, "sort"); String order = ParamUtil.getParameter(request, "order"); if (sort.length() == 0) sort = "CompanyCreationDate"; if (order.length()== 0) order = "DESC"; // we continue int postsPerPage = onlineUser.getPostsPerPage(); int offset = 0; try { offset = ParamUtil.getParameterInt(request, "offset"); } catch (BadInputException e) { // do nothing } Locale locale = I18nUtil.getLocaleInRequest(request); int totalCompanies = DAOFactory.getCompanyDAO().getNumberOfCompanies(); if (offset > totalCompanies) { String localizedMessage = MVNForumResourceBundle.getString(locale, "mvncore.exception.BadInputException.offset_greater_than_total_rows"); throw new BadInputException(localizedMessage); //throw new BadInputException("The offset is not allowed to be greater than total companies."); } Collection companyBeans = DAOFactory.getCompanyDAO().getCompanies_withSortSupport_limit(offset, postsPerPage, sort, order); request.setAttribute("CompanyBeans", companyBeans); request.setAttribute("TotalCompanies", new Integer(totalCompanies)); request.setAttribute("offset", new Integer(offset)); } void processSearch(HttpServletRequest request) throws BadInputException, IOException, DatabaseException, ObjectNotFoundException, AuthenticationException, AssertionException { OnlineUser onlineUser = onlineUserManager.getOnlineUser(request); MVNForumPermission permission = onlineUser.getPermission(); permission.ensureCanAdminSystem(); String companyNameKey = ParamUtil.getParameter(request, "companyname", false); String companyAddressKey = ParamUtil.getParameter(request, "companyaddress", false); String companyDateKey = ParamUtil.getParameter(request, "companycreationdate", false); Locale locale = I18nUtil.getLocaleInRequest(request); int defaultRows = onlineUser.getPostsPerPage(); int offset = ParamUtil.getParameterUnsignedInt(request, "offset", 0); int rows = ParamUtil.getParameterUnsignedInt(request, "rows", defaultRows); if (rows == 0) { rows = defaultRows;// fix NullPointerException when rows = 0 } // offset should be even when divide with rowsToReturn offset = (offset / rows) * rows; CompanySearchQuery query = new CompanySearchQuery(); if (companyNameKey.length() > 0) { query.setCompanyNameKey(companyNameKey); } else if (companyAddressKey.length() > 0){ query.setCompanyAddressKey(companyAddressKey); } else { String localizedMessage = MVNForumResourceBundle.getString(locale, "mvncore.exception.BadInputException.cannot_search.key_is_null"); throw new BadInputException(localizedMessage); } // dd/MM/yyyy :: default date string /*if ( companyDateKey.equals("dd/MM/yyyy")) { // do nothing } else if (companyDateKey.length() > 0){ query.setCompanyDateKey(new Timestamp(ParamUtil.getParameterDate(request,"companycreationdate").getTime())); }*/ int searchDate = ParamUtil.getParameterUnsignedInt(request, "date", CompanySearchQuery.SEARCH_ANY_DATE); int searchBeforeAfter = ParamUtil.getParameterInt(request, "beforeafter", CompanySearchQuery.SEARCH_NEWER); if ((searchDate != CompanySearchQuery.SEARCH_ANY_DATE) && (searchDate < 365 * 10)) { // 10 years long deltaTime = DateUtil.DAY * searchDate; Timestamp now = DateUtil.getCurrentGMTTimestamp(); Timestamp from = null; Timestamp to = null; long currentTime = now.getTime(); if (searchBeforeAfter == CompanySearchQuery.SEARCH_NEWER) { from = new Timestamp(currentTime - deltaTime); } else {// older to = new Timestamp(currentTime - deltaTime); } query.setFromCompanyDateKey(from); query.setToCompanyDateKey(to); } query.searchDocuments(offset, rows); int hitCount = query.getHitCount(); Collection result = query.getCompanyResult(); if (offset > hitCount) { String localizedMessage = MVNForumResourceBundle.getString(locale, "mvncore.exception.BadInputException.offset_greater_than_total_rows"); throw new BadInputException(localizedMessage); } request.setAttribute("offset", new Integer(offset)); request.setAttribute("rows", new Integer(rows)); request.setAttribute("TotalCompanies", new Integer(hitCount)); request.setAttribute("CompanyBeans", result); request.setAttribute("CompanyName", companyNameKey); request.setAttribute("CompanyAddress", companyAddressKey); //strCompanyAddress); request.setAttribute("CompanyCreationDate",companyDateKey); //strCompanyCreationDate); request.setAttribute("CompanyModifiedDate", ""); //strCompanyModifiedDate); request.setAttribute("FromCompanyCreationDate", ""); // strFromCompanyCreationDate); request.setAttribute("ToCompanyCreationDate", ""); // strToCompanyCreationDate); } } |
... this post is sponsored by my books ... | |
![]() #1 New Release! |
![]() FP Best Seller |
Copyright 1998-2021 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.