⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 edituseraction.java

📁 The ability to create groups of reports, and grant users access to reports by group. The ability to
💻 JAVA
字号:
/*
 * Copyright (C) 2002 Erik Swenson - eswenson@opensourcesoft.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 (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 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.
 *  
 */

package org.efs.openreports.actions.admin;

import java.util.ArrayList;
import java.util.List;

import com.opensymphony.xwork.ActionSupport;

import org.apache.log4j.Logger;

import org.efs.openreports.objects.ReportGroup;
import org.efs.openreports.objects.ReportUser;
import org.efs.openreports.providers.*;
import org.efs.openreports.util.LocalStrings;

public class EditUserAction extends ActionSupport implements UserProviderAware, GroupProviderAware
{
	protected static Logger log = Logger.getLogger(EditUserAction.class);

	private String command;
	private String submitType;

	private int id;
	private String name;
	private String password;
	private String passwordConfirm;
	private boolean admin;
	private String externalId;
	private String email;	
	private int pdfExportType;

	private List reportGroups;
	private int[] groupIds;

	private UserProvider userProvider;
	private GroupProvider groupProvider;

	public String execute()
	{
		ReportUser user = null;		

		try
		{
			if (command.equals("edit"))
			{
				user = userProvider.getUser(new Integer(id));
			}
			else
			{
				user = new ReportUser();
			}

			if (command.equals("edit") && submitType == null)
			{
				id = user.getId().intValue();
				name = user.getName();
				password = user.getPassword();
				passwordConfirm = user.getPassword();
				admin = user.isAdmin();
				externalId = user.getExternalId();
				email = user.getEmail();
				pdfExportType = user.getPdfExportType();
				reportGroups = user.getGroups();
				groupIds = null;
			}

			if (submitType == null)
				return INPUT;
			
			if (!password.equals(passwordConfirm))
			{
				addActionError(LocalStrings.getString(LocalStrings.ERROR_INVALID_PASSWORD));
				return INPUT;
			}

			user.setName(name);
			user.setPassword(password);
			user.setAdmin(admin);
			user.setExternalId(externalId);
			user.setEmail(email);
			user.setPdfExportType(pdfExportType);
			user.setGroups(convertIdsToGroups(groupIds));

			if (command.equals("edit"))
			{
				userProvider.updateUser(user);
			}

			if (command.equals("add"))
			{
				user = userProvider.insertUser(user);
			}

			return SUCCESS;
		}
		catch (Exception e)
		{
			addActionError(e.toString());
			return INPUT;
		}
	}

	public String getCommand()
	{
		return command;
	}

	public void setCommand(String command)
	{
		this.command = command;
	}

	public String getPassword()
	{
		return password;
	}

	public String getSubmitType()
	{
		return submitType;
	}

	public String getName()
	{
		return name;
	}

	public void setPassword(String password)
	{
		this.password = password;
	}

	public void setSubmitType(String submitType)
	{
		this.submitType = submitType;
	}

	public void setName(String name)
	{
		this.name = name;
	}

	private List convertIdsToGroups(int[] ids)
	{
		if (ids == null)
			return null;

		List groups = new ArrayList();

		try
		{
			for (int i = 0; i < ids.length; i++)
			{
				ReportGroup group =
					groupProvider.getReportGroup(new Integer(ids[i]));
				groups.add(group);
			}
		}
		catch (Exception e)
		{
			addActionError(e.toString());
		}

		return groups;
	}

	public int[] getGroupIds()
	{
		return groupIds;
	}

	public void setGroupIds(int[] groupIds)
	{
		this.groupIds = groupIds;
	}

	public List getReportGroups()
	{
		try
		{
			return groupProvider.getReportGroups();
		}
		catch (Exception e)
		{
			addActionError(e.getMessage());
			return null;
		}
	}

	public List getReportGroupsForUser()
	{
		return reportGroups;
	}

	public int getId()
	{
		return id;
	}

	public void setId(int id)
	{
		this.id = id;
	}

	public boolean isAdmin()
	{
		return admin;
	}

	public void setAdmin(boolean admin)
	{
		this.admin = admin;
	}

	public void setGroupProvider(GroupProvider groupProvider)
	{
		this.groupProvider = groupProvider;
	}

	public void setUserProvider(UserProvider userProvider)
	{
		this.userProvider = userProvider;
	}

	public String getEmail()
	{
		return email;
	}

	public void setEmail(String email)
	{
		this.email = email;
	}

	public String getExternalId()
	{
		return externalId;
	}

	public void setExternalId(String externalId)
	{
		this.externalId = externalId;
	}

	public String getPasswordConfirm()
	{
		return passwordConfirm;
	}

	public void setPasswordConfirm(String passwordConfirm)
	{
		this.passwordConfirm = passwordConfirm;
	}

	public int getPdfExportType()
	{
		return pdfExportType;
	}

	public void setPdfExportType(int pdfExportType)
	{
		this.pdfExportType = pdfExportType;
	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -