securityhelper.java
来自「CRM源码This file describes some issues tha」· Java 代码 · 共 170 行
JAVA
170 行
/*
* Copyright 2006-2007 Queplix Corp.
*
* Licensed under the Queplix Public License, Version 1.1.1 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.queplix.com/solutions/commercial-open-source/queplix-public-license/
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
package com.queplix.core.integrator.security;
import com.queplix.core.modules.eql.ejb.EQLManagerLocal;
import com.queplix.core.modules.eql.ejb.EQLManagerLocalHome;
import com.queplix.core.modules.eql.error.EQLException;
import com.queplix.core.modules.jeo.ejb.JEOManagerLocal;
import com.queplix.core.modules.jeo.ejb.JEOManagerLocalHome;
import com.queplix.core.utils.JNDINames;
import com.queplix.core.utils.SystemHelper;
import com.queplix.core.utils.cache.CacheObjectManager;
import com.queplix.core.utils.log.AbstractLogger;
import com.queplix.core.utils.log.Log;
//import com.queplix.core.modules.jeo.gen.UserObject;
import com.queplix.core.modules.jeo.gen.UserObjectHandler;
import com.queplix.core.modules.jeo.gen.UserGroupObjectHandler;
import com.queplix.core.modules.jeo.gen.WorkgroupObject;
import com.queplix.core.modules.jeo.gen. WorkgroupObjectHandler;
import java.util.List;
import java.util.Locale;
import java.util.TimeZone;
/**
* Store some help functions.
*
* @author Sergey Kozmin
* @since 17.01.2007
*/
public class SecurityHelper {
// Logger.
private static AbstractLogger logger = Log.getLog(SecurityHelper.class);
// Cache object manager
private static final CacheObjectManager com = new CacheObjectManager();
/**
* Retrieve {@link java.util.TimeZone} object for the given timezone, or if it's not possible returns default system time zone.
* @param timezoneID requested time zone id
* @return {@link java.util.TimeZone} object for the given timezone.
* @see com.queplix.core.utils.SystemHelper#DEFAULT_TIMEZONE
*/
public static TimeZone getJavaTimezone(String timezoneID) {
TimeZone javaTz = null;
if(timezoneID != null) {
javaTz = TimeZone.getTimeZone(timezoneID);
}
if(javaTz == null) {
javaTz = SystemHelper.DEFAULT_TIMEZONE;
}
return javaTz;
}
/**
* Constract locale for the given country id and lang id. If one of the argument is null return defaul locale.
* @param countryID contry id
* @param langID lang id
* @return {@link java.util.Locale} object for the given country and language.
*/
public static Locale getJavaLocale(String countryID, String langID) {
Locale locale = null;
if( countryID != null && langID != null ) {
locale = new Locale( langID, countryID );
}
if( locale == null ) {
locale = SystemHelper.DEFAULT_LOCALE;
}
return locale;
}
public static List loadUsers(LogonSession ls, WorkGroup group ) {
return loadUsers(ls, group, null );
}
/*
* (non-Javadoc)
*
* @see EmployeeUserDAO#loadUsers
*/
public static List loadUsers(LogonSession ls, WorkGroup group, Integer tier ) {
if( logger.getLogger().isInfoEnabled() ) {
logger.INFO( "Try to load employees for group '" + group + "' and tier '" + tier + "'" );
}
List users = null;
// Initialization.
JEOManagerLocal jeoManager = getJEOManagerLocal();
try {
if(tier == null)
users = UserObjectHandler.selectByWorkgroupID(jeoManager, ls, new Long(group.getGroupID()));
else
users = UserObjectHandler.selectByWorkgroupIDAndTier(jeoManager, ls, new Long(group.getGroupID()), tier);
} catch (EQLException e) {
return null;
}
if( logger.getLogger().isInfoEnabled() ) {
logger.INFO( "Got "+ users.size() +" employee(s)" );
}
return( users.size() == 0 ) ? null : users;
}
public static WorkGroup loadGroup(LogonSession ls, Long groupID ) throws EQLException {
if(groupID == null)
return null;
if( logger.getLogger().isDebugEnabled() ) {
logger.DEBUG( "Try to load group: " + groupID );
}
WorkgroupObject wgroupObj = WorkgroupObjectHandler.selectByID(getJEOManagerLocal(), ls, groupID);
if(wgroupObj == null)
return null;
if( logger.getLogger().isDebugEnabled() ) {
logger.DEBUG( "Got group '" + wgroupObj.getName() + "'" );
}
Long wgNotifyMethod = wgroupObj.getNotifymethod();
if(wgNotifyMethod != null)
return new WorkGroup(wgroupObj.getPkey().longValue(), wgroupObj.getName(), wgroupObj.getNotificationaddr(), wgNotifyMethod.intValue());
else
return new WorkGroup(wgroupObj.getPkey().longValue(), wgroupObj.getName(), wgroupObj.getNotificationaddr());
}
public static Integer loadUserGroupNotifyMethod(LogonSession ls, User user, Long groupID) {
if(user == null || groupID == null) return null;
if( logger.getLogger().isDebugEnabled() ) {
logger.DEBUG( "Try to load user group notify method: user # " + user.getUserID() + " group # "+groupID );
}
long userID = user.getUserID();
int userType = user.getUserType();
Integer notifyMethod = null;
try{
notifyMethod = UserGroupObjectHandler.selectNotifyMethod(getEQLManagerLocal(), ls, userID,
userType, groupID.longValue());
} catch (EQLException e) {
return null;
}
if( logger.getLogger().isDebugEnabled() ) {
logger.DEBUG( "Got user group notify method: " + notifyMethod );
}
return notifyMethod;
}
private static JEOManagerLocal getJEOManagerLocal() {
return (JEOManagerLocal)com.getLocalObject(JNDINames.JEOManager, JEOManagerLocalHome.class);
}
private static EQLManagerLocal getEQLManagerLocal() {
return (EQLManagerLocal)com.getLocalObject(JNDINames.EQLManager, EQLManagerLocalHome.class);
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?