// Path: core/client/src/main/java/de/danner_web/studip_client/data/LogItem.java
// public class LogItem {
// 
// 	private Date date;
// 
// 	private String pluginName;
// 
// 	private String content;
// 
// 	public LogItem(Date time, String pluginName, String content) {
// 		this.date = time;
// 		this.pluginName = pluginName;
// 		this.content = content;
// 	}
// 
// 	/**
// 	 * @return the date
// 	 */
// 	public Date getDate() {
// 		return date;
// 	}
// 
// 	/**
// 	 * @param date
// 	 *            the date to set
// 	 */
// 	public void setDate(Date date) {
// 		this.date = date;
// 	}
// 
// 	/**
// 	 * @return the pluginName
// 	 */
// 	public String getPluginName() {
// 		return pluginName;
// 	}
// 
// 	/**
// 	 * @param pluginName
// 	 *            the pluginName to set
// 	 */
// 	public void setPluginName(String pluginName) {
// 		this.pluginName = pluginName;
// 	}
// 
// 	/**
// 	 * @return the content
// 	 */
// 	public String getContent() {
// 		return content;
// 	}
// 
// 	/**
// 	 * @param content
// 	 *            the content to set
// 	 */
// 	public void setContent(String content) {
// 		this.content = content;
// 	}
// 
// }
// 
// Path: core/client/src/main/java/de/danner_web/studip_client/data/PluginMessage.java
// public abstract class PluginMessage {
// 
// 	private List<ClickListener> listeners = new ArrayList<ClickListener>();
// 	
// 	private ClickListener showDetailView = new ClickListener() {
// 
// 		@Override
// 		public void onClick(PluginMessage message) {
// 			new PluginMessageDetailsView(message);
// 		}
// 	};
// 	
// 	public PluginMessage(ClickListener listener) {
// 		if (listener != null) {
// 			listeners.add(listener);
// 		}
// 	}
// 
// 	public void setShowDetailView(boolean b) {
// 		if (b) {
// 			if(!this.listeners.contains(showDetailView)){
// 				this.listeners.add(showDetailView);
// 			}
// 		} else {
// 			if(this.listeners.contains(showDetailView)){
// 				this.listeners.remove(showDetailView);
// 			}
// 		}
// 	}
// 
// 	public abstract String getText();
// 
// 	public abstract String getHeader();
// 
// 	public void addMessageListener(ClickListener listener) {
// 		if (listener != null) {
// 			this.listeners.add(listener);
// 		}
// 	}
// 
// 	public List<ClickListener> getMessageListener() {
// 		return listeners;
// 	}
// 
// 	public abstract int hashCode();
// 
// 	public abstract boolean equals(Object obj);
// 
// }


import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Locale;
import java.util.Observable;
import java.util.ResourceBundle;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import de.danner_web.studip_client.data.LogItem;
import de.danner_web.studip_client.data.PluginMessage;

		setChanged();
		notifyObservers();
	}

	public ResourceBundle getResourceBundle(Locale locale) {
		if (locale == null) {
			throw logger.throwing(new IllegalArgumentException(
					"Locale must not be null!"));
		}
		return ResourceBundle.getBundle("ResourceBundle", locale);
	}
	

	public void appendHistory(String name, String content) {
		logger.entry(name);
		if (name == null) {
			throw logger.throwing(new IllegalArgumentException(
					"Pluginname and content should not be null"));
		}

		Date date = new Date(System.currentTimeMillis());

		if (loggingList.size() >= MAX_LOG_MESSAGES) {
			loggingList.remove(0);
		}
		LogItem item = new LogItem(date, name, content);
		loggingList.add(item);

		setChanged();
// Path: core/client/src/main/java/de/danner_web/studip_client/data/LogItem.java
// public class LogItem {
// 
// 	private Date date;
// 
// 	private String pluginName;
// 
// 	private String content;
// 
// 	public LogItem(Date time, String pluginName, String content) {
// 		this.date = time;
// 		this.pluginName = pluginName;
// 		this.content = content;
// 	}
// 
// 	/**
// 	 * @return the date
// 	 */
// 	public Date getDate() {
// 		return date;
// 	}
// 
// 	/**
// 	 * @param date
// 	 *            the date to set
// 	 */
// 	public void setDate(Date date) {
// 		this.date = date;
// 	}
// 
// 	/**
// 	 * @return the pluginName
// 	 */
// 	public String getPluginName() {
// 		return pluginName;
// 	}
// 
// 	/**
// 	 * @param pluginName
// 	 *            the pluginName to set
// 	 */
// 	public void setPluginName(String pluginName) {
// 		this.pluginName = pluginName;
// 	}
// 
// 	/**
// 	 * @return the content
// 	 */
// 	public String getContent() {
// 		return content;
// 	}
// 
// 	/**
// 	 * @param content
// 	 *            the content to set
// 	 */
// 	public void setContent(String content) {
// 		this.content = content;
// 	}
// 
// }
// 
// Path: core/client/src/main/java/de/danner_web/studip_client/data/PluginMessage.java
// public abstract class PluginMessage {
// 
// 	private List<ClickListener> listeners = new ArrayList<ClickListener>();
// 	
// 	private ClickListener showDetailView = new ClickListener() {
// 
// 		@Override
// 		public void onClick(PluginMessage message) {
// 			new PluginMessageDetailsView(message);
// 		}
// 	};
// 	
// 	public PluginMessage(ClickListener listener) {
// 		if (listener != null) {
// 			listeners.add(listener);
// 		}
// 	}
// 
// 	public void setShowDetailView(boolean b) {
// 		if (b) {
// 			if(!this.listeners.contains(showDetailView)){
// 				this.listeners.add(showDetailView);
// 			}
// 		} else {
// 			if(this.listeners.contains(showDetailView)){
// 				this.listeners.remove(showDetailView);
// 			}
// 		}
// 	}
// 
// 	public abstract String getText();
// 
// 	public abstract String getHeader();
// 
// 	public void addMessageListener(ClickListener listener) {
// 		if (listener != null) {
// 			this.listeners.add(listener);
// 		}
// 	}
// 
// 	public List<ClickListener> getMessageListener() {
// 		return listeners;
// 	}
// 
// 	public abstract int hashCode();
// 
// 	public abstract boolean equals(Object obj);
// 
// }


// Path: core/client/src/main/java/de/danner_web/studip_client/model/Model.java
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Locale;
import java.util.Observable;
import java.util.ResourceBundle;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import de.danner_web.studip_client.data.LogItem;
import de.danner_web.studip_client.data.PluginMessage;


		setChanged();
		notifyObservers();
	}

	public ResourceBundle getResourceBundle(Locale locale) {
		if (locale == null) {
			throw logger.throwing(new IllegalArgumentException(
					"Locale must not be null!"));
		}
		return ResourceBundle.getBundle("ResourceBundle", locale);
	}
	

	public void appendHistory(String name, String content) {
		logger.entry(name);
		if (name == null) {
			throw logger.throwing(new IllegalArgumentException(
					"Pluginname and content should not be null"));
		}

		Date date = new Date(System.currentTimeMillis());

		if (loggingList.size() >= MAX_LOG_MESSAGES) {
			loggingList.remove(0);
		}
		LogItem item = new LogItem(date, name, content);
		loggingList.add(item);

		setChanged();
		notifyObservers(item);