// Path: forgetIT/src/forgetit/common/Tag.java
// @javax.persistence.Entity
// public class Tag implements Serializable {
// 
// 	private int id;
// 	private String name;
// 	private String description;
// 	private List<Entity> entities;
// 
// 	@ManyToMany(targetEntity = forgetit.common.Entity.class, mappedBy = "tags", cascade = { CascadeType.ALL,
// 			CascadeType.PERSIST, CascadeType.MERGE })
// 	public List<Entity> getEntities() {
// 
// 		return entities;
// 	}
// 
// 	public Tag() {
// 
// 	}
// 
// 	public Tag(int id) {
// 
// 		this.setId(id);
// 	}
// 
// 	public Tag(int id, String name) {
// 
// 		this.setId(id);
// 		this.name = name;
// 	}
// 
// 	public Tag(int id, String name, String description) {
// 
// 		this.setId(id);
// 		this.name = name;
// 		this.description = description;
// 	}
// 
// 	public String getName() {
// 
// 		return name;
// 	}
// 
// 	public void setName(String name) {
// 
// 		this.name = name;
// 	}
// 
// 	public String getDescription() {
// 
// 		return description;
// 	}
// 
// 	public void setDescription(String description) {
// 
// 		this.description = description;
// 	}
// 
// 	@Id
// 	@GeneratedValue
// 	public int getId() {
// 
// 		return id;
// 	}
// 
// 	public void setId(int id) {
// 
// 		this.id = id;
// 	}
// 
// 	public void setEntities(List<Entity> entities) {
// 
// 		this.entities = entities;
// 	}
// 
// }
// 
// Path: forgetIT/src/forgetit/db/DBTags.java
// public class DBTags implements IDBTags {
// 
// 	final static Logger logger = LoggerFactory.getLogger(DBTags.class);
// 
// 	@Override
// 	public List<Tag> getTags() {
// 
// 		Transaction tx = null;
// 		Session session = SessionFactoryUtil.getInstance().getCurrentSession();
// 		try {
// 			tx = session.beginTransaction();
// 			List tags = session.createQuery("select t from Tag as t").list();
// 			for (Iterator iter = tags.iterator(); iter.hasNext();) {
// 				Tag element = (Tag) iter.next();
// 				logger.debug("{}", element);
// 				logger.info("{}", element.getId());
// 				logger.info("{}", element.getName());
// 				logger.info("{}", element.getDescription());
// 			}
// 			tx.commit();
// 			return tags;
// 		} catch (RuntimeException e) {
// 			if (tx != null && tx.isActive()) {
// 				try {
// 					tx.rollback();
// 				} catch (HibernateException e1) {
// 					logger.debug("Error rolling back transaction");
// 				}
// 				throw e;
// 			}
// 		}
// 		return null;
// 	}
// 
// }
// 
// Path: forgetIT/src/forgetit/db/IDBTags.java
// public interface IDBTags {
// 	/**
// 	 * 
// 	 * @return all tags in the database
// 	 */
// 	public List<Tag> getTags();
// }
// 
// Path: forgetIT/src/forgetit/logic/interfaces/ILogicInternalTags.java
// public interface ILogicInternalTags {
// 	
// 	/**
// 	 * 
// 	 * @return all tags in the database
// 	 */
// 	public List<Tag> getTags();
// 
// }


import java.util.List;
import forgetit.common.Tag;
import forgetit.db.DBTags;
import forgetit.db.IDBTags;
import forgetit.logic.interfaces.ILogicInternalTags;
/*
 * Copyright 2011 DHBW Stuttgart Campus Horb
 *
 * 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 forgetit.logic.tag;


/**
 * Implementation of @see ILogicInternalTags
 * @author David Henn (<a href="mailto:[david.henn@gmail.com]">david.henn@gmail.com</a>)
 * @version 0.1
 *
 */
public class LogicTagsInternal implements ILogicInternalTags {
	
	private IDBTags dbTags;
	
	public LogicTagsInternal() {
		try{
			dbTags = new DBTags();
		}catch(Exception e){
			System.err.println("Can't instantiate DBTags");
			System.err.println(e.getMessage());
			e.printStackTrace();
			
		}
	}

	@Override
	public List<Tag> getTags() {
		try{
			return dbTags.getTags();
		}catch(Exception e){
// Path: forgetIT/src/forgetit/common/Tag.java
// @javax.persistence.Entity
// public class Tag implements Serializable {
// 
// 	private int id;
// 	private String name;
// 	private String description;
// 	private List<Entity> entities;
// 
// 	@ManyToMany(targetEntity = forgetit.common.Entity.class, mappedBy = "tags", cascade = { CascadeType.ALL,
// 			CascadeType.PERSIST, CascadeType.MERGE })
// 	public List<Entity> getEntities() {
// 
// 		return entities;
// 	}
// 
// 	public Tag() {
// 
// 	}
// 
// 	public Tag(int id) {
// 
// 		this.setId(id);
// 	}
// 
// 	public Tag(int id, String name) {
// 
// 		this.setId(id);
// 		this.name = name;
// 	}
// 
// 	public Tag(int id, String name, String description) {
// 
// 		this.setId(id);
// 		this.name = name;
// 		this.description = description;
// 	}
// 
// 	public String getName() {
// 
// 		return name;
// 	}
// 
// 	public void setName(String name) {
// 
// 		this.name = name;
// 	}
// 
// 	public String getDescription() {
// 
// 		return description;
// 	}
// 
// 	public void setDescription(String description) {
// 
// 		this.description = description;
// 	}
// 
// 	@Id
// 	@GeneratedValue
// 	public int getId() {
// 
// 		return id;
// 	}
// 
// 	public void setId(int id) {
// 
// 		this.id = id;
// 	}
// 
// 	public void setEntities(List<Entity> entities) {
// 
// 		this.entities = entities;
// 	}
// 
// }
// 
// Path: forgetIT/src/forgetit/db/DBTags.java
// public class DBTags implements IDBTags {
// 
// 	final static Logger logger = LoggerFactory.getLogger(DBTags.class);
// 
// 	@Override
// 	public List<Tag> getTags() {
// 
// 		Transaction tx = null;
// 		Session session = SessionFactoryUtil.getInstance().getCurrentSession();
// 		try {
// 			tx = session.beginTransaction();
// 			List tags = session.createQuery("select t from Tag as t").list();
// 			for (Iterator iter = tags.iterator(); iter.hasNext();) {
// 				Tag element = (Tag) iter.next();
// 				logger.debug("{}", element);
// 				logger.info("{}", element.getId());
// 				logger.info("{}", element.getName());
// 				logger.info("{}", element.getDescription());
// 			}
// 			tx.commit();
// 			return tags;
// 		} catch (RuntimeException e) {
// 			if (tx != null && tx.isActive()) {
// 				try {
// 					tx.rollback();
// 				} catch (HibernateException e1) {
// 					logger.debug("Error rolling back transaction");
// 				}
// 				throw e;
// 			}
// 		}
// 		return null;
// 	}
// 
// }
// 
// Path: forgetIT/src/forgetit/db/IDBTags.java
// public interface IDBTags {
// 	/**
// 	 * 
// 	 * @return all tags in the database
// 	 */
// 	public List<Tag> getTags();
// }
// 
// Path: forgetIT/src/forgetit/logic/interfaces/ILogicInternalTags.java
// public interface ILogicInternalTags {
// 	
// 	/**
// 	 * 
// 	 * @return all tags in the database
// 	 */
// 	public List<Tag> getTags();
// 
// }


// Path: forgetIT/src/forgetit/logic/tag/LogicTagsInternal.java
import java.util.List;
import forgetit.common.Tag;
import forgetit.db.DBTags;
import forgetit.db.IDBTags;
import forgetit.logic.interfaces.ILogicInternalTags;

/*
 * Copyright 2011 DHBW Stuttgart Campus Horb
 *
 * 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 forgetit.logic.tag;


/**
 * Implementation of @see ILogicInternalTags
 * @author David Henn (<a href="mailto:[david.henn@gmail.com]">david.henn@gmail.com</a>)
 * @version 0.1
 *
 */
public class LogicTagsInternal implements ILogicInternalTags {
	
	private IDBTags dbTags;
	
	public LogicTagsInternal() {
		try{
			dbTags = new DBTags();
		}catch(Exception e){
			System.err.println("Can't instantiate DBTags");
			System.err.println(e.getMessage());
			e.printStackTrace();
			
		}
	}

	@Override
	public List<Tag> getTags() {
		try{
			return dbTags.getTags();
		}catch(Exception e){
			System.err.println("Can't get Tags");