// Path: rahub-source-code-service/src/main/java/net/jotorren/microservices/content/domain/SourceCodeItem.java
// @Entity
// public class SourceCodeItem implements Serializable {
// 	private static final long serialVersionUID = 7803210035898675537L;
// 	
// 	@Id
// 	@Column(nullable=false)
// 	private String itemId;
// 	
// 	@Column(nullable=false)
// 	private String fileName;
// 	
// 	@Column(nullable=false)
// 	private String fileLocation;
// 	
// 	@Column
// 	private String fileContent;
// 	
// 	@Column
// 	private String fileDescription;
// 	
// 	@Column(nullable=false)
// 	private String fileOwner;
// 
// 	public String getFileName() {
// 		return fileName;
// 	}
// 
// 	public void setFileName(String fileName) {
// 		this.fileName = fileName;
// 	}
// 
// 	public String getFileLocation() {
// 		return fileLocation;
// 	}
// 
// 	public void setFileLocation(String fileLocation) {
// 		this.fileLocation = fileLocation;
// 	}
// 
// 	public String getFileContent() {
// 		return fileContent;
// 	}
// 
// 	public void setFileContent(String fileContent) {
// 		this.fileContent = fileContent;
// 	}
// 
// 	public String getFileDescription() {
// 		return fileDescription;
// 	}
// 
// 	public void setFileDescription(String fileDescription) {
// 		this.fileDescription = fileDescription;
// 	}
// 
// 	public String getFileOwner() {
// 		return fileOwner;
// 	}
// 
// 	public void setFileOwner(String fileOwner) {
// 		this.fileOwner = fileOwner;
// 	}
// 
// 	public String getItemId() {
// 		return itemId;
// 	}
// 
// 	public void setItemId(String itemId) {
// 		this.itemId = itemId;
// 	}
// }
// 
// Path: rahub-cross-cutting-concerns/src/main/java/net/jotorren/microservices/tx/CompositeTransactionParticipantDao.java
// public class CompositeTransactionParticipantDao {
// 
// 	@PersistenceContext(type = PersistenceContextType.EXTENDED, synchronization = SynchronizationType.UNSYNCHRONIZED)
// 	private EntityManager em;
// 
// 	public EntityManager getEntityManager() {
// 		return em;
// 	}
// 	
// 	public void save(Object entity) {
// 		em.persist(entity);
// 	}
// 
// 	public <T> T saveOrUpdate(T entity) {
// 		return em.merge(entity);
// 	}
// 
// 	public void remove(Object entity) {
// 		em.remove(entity);
// 	}
// 
// 	@Transactional(readOnly=false)
// 	public void commit() {
// 		em.joinTransaction();
// 	}
// 
// 	public void apply(List<EntityCommand<?>> transactionOperations) {
// 		if (null == transactionOperations) {
// 			return;
// 		}
// 
// 		for (EntityCommand<?> command : transactionOperations) {
// 			switch (command.getAction().ordinal()) {
// 			case 0:
// 				save(command.getEntity());
// 				break;
// 			case 1:
// 				saveOrUpdate(command.getEntity());
// 				break;
// 			case 2:
// 				remove(command.getEntity());
// 				break;
// 			}
// 		}
// 	}
// }


import net.jotorren.microservices.content.domain.SourceCodeItem;
import net.jotorren.microservices.tx.CompositeTransactionParticipantDao;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Repository;
package net.jotorren.microservices.content.dao;



@Repository
@Scope("prototype")
public class ContentTransactionAwareDao extends CompositeTransactionParticipantDao{

// Path: rahub-source-code-service/src/main/java/net/jotorren/microservices/content/domain/SourceCodeItem.java
// @Entity
// public class SourceCodeItem implements Serializable {
// 	private static final long serialVersionUID = 7803210035898675537L;
// 	
// 	@Id
// 	@Column(nullable=false)
// 	private String itemId;
// 	
// 	@Column(nullable=false)
// 	private String fileName;
// 	
// 	@Column(nullable=false)
// 	private String fileLocation;
// 	
// 	@Column
// 	private String fileContent;
// 	
// 	@Column
// 	private String fileDescription;
// 	
// 	@Column(nullable=false)
// 	private String fileOwner;
// 
// 	public String getFileName() {
// 		return fileName;
// 	}
// 
// 	public void setFileName(String fileName) {
// 		this.fileName = fileName;
// 	}
// 
// 	public String getFileLocation() {
// 		return fileLocation;
// 	}
// 
// 	public void setFileLocation(String fileLocation) {
// 		this.fileLocation = fileLocation;
// 	}
// 
// 	public String getFileContent() {
// 		return fileContent;
// 	}
// 
// 	public void setFileContent(String fileContent) {
// 		this.fileContent = fileContent;
// 	}
// 
// 	public String getFileDescription() {
// 		return fileDescription;
// 	}
// 
// 	public void setFileDescription(String fileDescription) {
// 		this.fileDescription = fileDescription;
// 	}
// 
// 	public String getFileOwner() {
// 		return fileOwner;
// 	}
// 
// 	public void setFileOwner(String fileOwner) {
// 		this.fileOwner = fileOwner;
// 	}
// 
// 	public String getItemId() {
// 		return itemId;
// 	}
// 
// 	public void setItemId(String itemId) {
// 		this.itemId = itemId;
// 	}
// }
// 
// Path: rahub-cross-cutting-concerns/src/main/java/net/jotorren/microservices/tx/CompositeTransactionParticipantDao.java
// public class CompositeTransactionParticipantDao {
// 
// 	@PersistenceContext(type = PersistenceContextType.EXTENDED, synchronization = SynchronizationType.UNSYNCHRONIZED)
// 	private EntityManager em;
// 
// 	public EntityManager getEntityManager() {
// 		return em;
// 	}
// 	
// 	public void save(Object entity) {
// 		em.persist(entity);
// 	}
// 
// 	public <T> T saveOrUpdate(T entity) {
// 		return em.merge(entity);
// 	}
// 
// 	public void remove(Object entity) {
// 		em.remove(entity);
// 	}
// 
// 	@Transactional(readOnly=false)
// 	public void commit() {
// 		em.joinTransaction();
// 	}
// 
// 	public void apply(List<EntityCommand<?>> transactionOperations) {
// 		if (null == transactionOperations) {
// 			return;
// 		}
// 
// 		for (EntityCommand<?> command : transactionOperations) {
// 			switch (command.getAction().ordinal()) {
// 			case 0:
// 				save(command.getEntity());
// 				break;
// 			case 1:
// 				saveOrUpdate(command.getEntity());
// 				break;
// 			case 2:
// 				remove(command.getEntity());
// 				break;
// 			}
// 		}
// 	}
// }


// Path: rahub-source-code-service/src/main/java/net/jotorren/microservices/content/dao/ContentTransactionAwareDao.java
import net.jotorren.microservices.content.domain.SourceCodeItem;
import net.jotorren.microservices.tx.CompositeTransactionParticipantDao;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Repository;

package net.jotorren.microservices.content.dao;



@Repository
@Scope("prototype")
public class ContentTransactionAwareDao extends CompositeTransactionParticipantDao{

    public SourceCodeItem findOne(String pk){    	    	  