/*
 * Copyright 2015 Space Dynamics Laboratory - Utah State University Research Foundation.
 *
 * 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 edu.usu.sdl.openstorefront.core.view;

import edu.usu.sdl.openstorefront.common.exception.OpenStorefrontRuntimeException;
import edu.usu.sdl.openstorefront.core.entity.Alert;
import edu.usu.sdl.openstorefront.core.entity.AlertType;
import edu.usu.sdl.openstorefront.core.util.TranslateUtil;
import java.lang.reflect.InvocationTargetException;
import java.util.ArrayList;
import java.util.List;
import org.apache.commons.beanutils.BeanUtils;

/**
 *
 * @author dshurtleff
 */
public class AlertView
		extends Alert
{

	private String alertTypeDesciption;

	public AlertView()
	{
	}

	public static AlertView toView(Alert alert)
	{
		AlertView alertView = new AlertView();
		try {
			BeanUtils.copyProperties(alertView, alert);
		} catch (IllegalAccessException | InvocationTargetException ex) {
			throw new OpenStorefrontRuntimeException(ex);
		}
		alertView.setAlertTypeDesciption(TranslateUtil.translate(AlertType.class, alert.getAlertType()));
		return alertView;
	}

	public static List<AlertView> toView(List<Alert> alerts)
	{
		List<AlertView> views = new ArrayList<>();
		alerts.forEach(alert -> {
			views.add(toView(alert));
		});
		return views;
	}

	public String getAlertTypeDesciption()
	{
		return alertTypeDesciption;
	}

	public void setAlertTypeDesciption(String alertTypeDesciption)
	{
		this.alertTypeDesciption = alertTypeDesciption;
	}

}

@@ -1194,32 +1194,33 @@
 ng alertTypeDesc
+r
 iption;%0A%0A%09public
@@ -1528,24 +1528,25 @@
 lertTypeDesc
+r
 iption(Trans
@@ -1845,24 +1845,25 @@
 lertTypeDesc
+r
 iption()%0A%09%7B%0A
@@ -1876,32 +1876,33 @@
 rn alertTypeDesc
+r
 iption;%0A%09%7D%0A%0A%09pub
@@ -1922,24 +1922,25 @@
 lertTypeDesc
+r
 iption(Strin
@@ -1950,24 +1950,25 @@
 lertTypeDesc
+r
 iption)%0A%09%7B%0A%09
@@ -1982,24 +1982,25 @@
 lertTypeDesc
+r
 iption = ale
@@ -2009,16 +2009,17 @@
 TypeDesc
+r
 iption;%0A

Correct spelling of 'alertTypeDescription'