/*
* Aipo is a groupware program developed by TOWN, Inc.
* Copyright (C) 2004-2015 TOWN, Inc.
* http://www.aipo.com
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* 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 Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.aimluck.eip.modules.screens;
import org.apache.jetspeed.om.profile.Entry;
import org.apache.jetspeed.om.profile.Parameter;
import org.apache.jetspeed.om.profile.Portlets;
import org.apache.jetspeed.om.profile.Profile;
import org.apache.jetspeed.om.profile.ProfileException;
import org.apache.jetspeed.services.logging.JetspeedLogFactoryService;
import org.apache.jetspeed.services.logging.JetspeedLogger;
import org.apache.jetspeed.services.rundata.JetspeedRunData;
import org.apache.turbine.util.RunData;
import org.apache.velocity.context.Context;
import com.aimluck.eip.common.ALEipConstants;
import com.aimluck.eip.services.orgutils.ALOrgUtilsService;
import com.aimluck.eip.system.util.SystemUtils;
import com.aimluck.eip.util.ALEipUtils;
import com.aimluck.eip.util.ALLocalizationUtils;
/**
* サンプルデータを処理するクラスです。 <br />
*
*/
public class SystemDeleteSampleFormScreen extends ALVelocityScreen {
/** logger */
private static final JetspeedLogger logger = JetspeedLogFactoryService
.getLogger(SystemDeleteSampleFormScreen.class.getName());
/**
*
* @param rundata
* @param context
* @throws Exception
*/
@Override
protected void doOutput(RunData rundata, Context context) throws Exception {
try {
doSystem_delete_sample_form(rundata, context);
} catch (Exception ex) {
logger.error("[SystemDeleteSampleFormScreen] Exception.", ex);
ALEipUtils.redirectDBError(rundata);
}
}
/**
*
* @param rundata
* @param context
*/
protected void doSystem_delete_sample_form(RunData rundata, Context context) {
try {
// For security
context.put(ALEipConstants.SECURE_ID, rundata.getUser().getTemp(
ALEipConstants.SECURE_ID));
context.put("alias", ALOrgUtilsService.getAlias());
context.put("desa", getFlag(rundata));
context.put("l10n", ALLocalizationUtils.createLocalization(rundata));
// Set layout
String layout_template =
"portlets/html/ajax-system-form-delete-sample.vm";
setTemplate(rundata, context, layout_template);
} catch (Exception ex) {
logger.error("[SystemDeleteSampleFormScreen] Exception.", ex);
ALEipUtils.redirectPageNotFound(rundata);
}
}
/**
* サンプルデータの削除済みフラグを取得します。
*
* @param rundata
* @return flag 削除済みの場合:"1"
* @throws ProfileException
*/
private String getFlag(RunData rundata) throws ProfileException {
String portletEntryId =
rundata.getParameters().getString("portlet_id", null);
String FLAG = "desa";
Profile profile = ((JetspeedRunData) rundata).getProfile();
Portlets portlets = profile.getDocument().getPortlets();
Portlets[] portletList = portlets.getPortletsArray();
Parameter params[] = null;
Entry[] entries = portletList[0].getEntriesArray();
Entry entry = null;
int ent_length = entries.length;
for (int j = 0; j < ent_length; j++) {
entry = entries[j];
if (entry.getId().equals(portletEntryId)) {
params = entry.getParameter();
int param_len = params.length;
for (int k = 0; k < param_len; k++) {
if (params[k].getName().equals(FLAG)) {
return params[k].getValue();
}
}
break;
}
}
return "0";
}
/**
* @return
*/
@Override
protected String getPortletName() {
return SystemUtils.SYSTEM_PORTLET_NAME;
}
}