/*
* Copyright 2006 Luca Garulli (luca.garulli@assetdata.it)
*
* Licensed under the Apache License, Version 2.0 (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.apache.org/licenses/LICENSE-2.0
*
* 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 org.romaframework.module.users;
import java.util.HashMap;
import java.util.List;
import org.romaframework.aspect.persistence.PersistenceAspect;
import org.romaframework.core.flow.ObjectContext;
import org.romaframework.module.admin.InfoHelper;
import org.romaframework.module.admin.domain.Info;
import org.romaframework.module.users.domain.ActivityLog;
/**
* Log user and system activities.
*
* @author Luca Garulli (luca.garulli@assetdata.it)
*/
public class ActivityLogHelper {
protected ActivityLogHelper() {
// FILL CATEGORIES FROM DATABaSE
categories = new HashMap<String, Info>();
List<Info> result = InfoHelper.getInstance().getInfoList(ActivityLog.LOG_CATEGORY_NAME);
for (Info current : result)
categories.put(current.getText(), current);
}
public void log(int iLevel, String iCategoryName, String iNotes) {
Info category = iCategoryName != null ? categories.get(iCategoryName) : null;
ObjectContext.getInstance().getContextComponent(PersistenceAspect.class)
.createObject(new ActivityLog(iLevel, category, iNotes));
}
public static ActivityLogHelper getInstance() {
return instance;
}
private HashMap<String, Info> categories;
private static ActivityLogHelper instance = new ActivityLogHelper();
}
|