view src/main/java/de/mpiwg/itgroup/ismi/publicView/pages/WitnessCodexDynamicPage.java @ 173:aa564b1b5e1f public_by_author

publicByAuthor feature ui for selecting texts ready. actual changing of public state not yet implemented.
author Robert Casties <casties@mpiwg-berlin.mpg.de>
date Wed, 06 Jun 2018 21:01:05 +0200
parents 7edb4ff2590b
children
line wrap: on
line source

package de.mpiwg.itgroup.ismi.publicView.pages;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.HashMap;

import org.mpi.openmind.repository.bo.Entity;

import de.mpiwg.itgroup.ismi.utils.templates.WitnessTemplate;

public class WitnessCodexDynamicPage extends JSPDynamicPage{

	private List<WitnessTemplate> witnessList;
	private List<WitnessTemplate> unknownList;
	private Integer startPage;
	private Boolean imageFullscreen;
        private Long witnessId;
        private HashMap<String,String> references;
	
	@Override
	public void load(Long witnessId){
		
	    this.witnessId = witnessId;
		
		witnessList = new ArrayList<WitnessTemplate>();
		unknownList = new ArrayList<WitnessTemplate>();
		
		// Load codex for this witness
		List<Entity> codex0  = getWrapper().getTargetsForSourceRelation(witnessId, "is_part_of", "CODEX", 1);
		Long codexId;
		Entity codexent = (codex0.size() == 0) ? null : codex0.get(0);
		codexId = codexent.getId();

		super.load(codexId);
					       
		//loading the digitalization object
		List<Entity> list0 = getWrapper().getSourcesForTargetRelation(codexId, "is_digitalization_of", "DIGITALIZATION", 1);
		this.digi = (list0.size() == 0) ? null : list0.get(0);
		
		//loading the witnesses
		list0 = getWrapper().getSourcesForTargetRelation(codexId, "is_part_of", "WITNESS", -1);
		for(Entity witness : list0){
			WitnessTemplate tmp = new WitnessTemplate(witness, getWrapper(), true);
			this.witnessList.add(tmp);
			if(tmp.isUnknown()){
				this.unknownList.add(tmp);
			}
		}
		Collections.sort(this.witnessList);
		Collections.sort(this.unknownList);

		//load the references
		this.references=new HashMap<String,String>();

		list0 = getWrapper().getSourcesForTargetRelation(codexId, "is_reference_of", "REFERENCE", 1);
		for(Entity reference:list0){
		    //this.references.add(reference.getOwnValue());
		    this.references.put(reference.getOwnValue(),getWrapper().getAttributeOVByName(reference.getId(), "additional_information", false));
		}
	}
	
	public void init(){
		this.startPage = 0;
		this.imageFullscreen = false;
		try {
			
			this.load(Long.parseLong(getRequest().getParameter("eid")));
			
			try {
				this.startPage = Integer.parseInt(getRequest().getParameter("startPage"));
				this.imageFullscreen = 
						(getRequest().getParameter("imgFullscreen") != null) ? Boolean.parseBoolean(getRequest().getParameter("imgFullscreen")) : false;
			} catch (Exception e) {
				// TODO: handle exception
			}
			
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
	
	public Integer getStartPage() {
		return startPage;
	}

	public Boolean getImageFullscreen() {
		return imageFullscreen;
	}

	public List<WitnessTemplate> getWitnessList() {
		return witnessList;
	}

	public void setWitnessList(List<WitnessTemplate> witnessList) {
		this.witnessList = witnessList;
	}

    public Long getWitnessId(){
	return this.witnessId;
    }



	public List<WitnessTemplate> getUnknownList() {
		return unknownList;
	}

	public void setUnknownList(List<WitnessTemplate> unknownList) {
		this.unknownList = unknownList;
	}
 public HashMap<String,String> getReferenceList(){
	return references;

    }
	
}