From: <hs...@us...> - 2011-05-27 20:02:44
|
Revision: 893 http://treebase.svn.sourceforge.net/treebase/?rev=893&view=rev Author: hshyket Date: 2011-05-27 20:02:37 +0000 (Fri, 27 May 2011) Log Message: ----------- Checks to make sure that trees exist in the analysis when displaying message before deleting. Modified Paths: -------------- trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/DeleteATreeBlockController.java trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/DeleteATreeController.java Modified: trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/DeleteATreeBlockController.java =================================================================== --- trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/DeleteATreeBlockController.java 2011-05-27 14:55:09 UTC (rev 892) +++ trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/DeleteATreeBlockController.java 2011-05-27 20:02:37 UTC (rev 893) @@ -3,6 +3,7 @@ import java.util.Collection; import java.util.HashMap; +import java.util.List; import java.util.Map; import javax.servlet.http.HttpServletRequest; @@ -14,6 +15,10 @@ import org.springframework.web.servlet.view.RedirectView; import org.cipres.treebase.domain.admin.UserRole.TBPermission; +import org.cipres.treebase.domain.study.Analysis; +import org.cipres.treebase.domain.study.AnalysisStep; +import org.cipres.treebase.domain.study.AnalyzedData; +import org.cipres.treebase.domain.study.AnalyzedTree; import org.cipres.treebase.domain.study.SubmissionHome; import org.cipres.treebase.domain.study.SubmissionService; import org.cipres.treebase.domain.tree.PhyloTree; @@ -140,9 +145,9 @@ TreeBlock pTreeBlock = getPhyloTreeHome().findTreeBlockById(treeBlockID); Collection<PhyloTree> pTreeCollection = pTreeBlock.getTreeList(); - + for (PhyloTree pTree : pTreeCollection) { - if (pTree.getStudy() != null) { // It means this tree is tied to analysis step + /*if (pTree.getStudy() != null) { // It means this tree is tied to analysis step setTestVariable(true); referenceMap .put( @@ -150,6 +155,29 @@ "Either this TreeBlock or atleast one of the Tree in this Block is tied to an Analysis Step."); break; // Even if one tree of the block is ties to Analysis step, we can exit the // for loop. + }*/ + + for (Analysis analysis : pTree.getStudy().getAnalyses()) { + + List<AnalysisStep> analysisStepList = analysis.getAnalysisStepsReadOnly(); + + for (AnalysisStep analysisStep : analysisStepList) { + + List<AnalyzedData> analyzedDataSet = analysisStep.getDataSetReadOnly(); + + for (AnalyzedData analyzedData : analyzedDataSet) { + + if (analyzedData instanceof AnalyzedTree) { + + if ( pTreeCollection.contains(((AnalyzedTree) analyzedData).getTree())) { + + referenceMap.put("generalmessage", "Either this TreeBlock or at least one of the Tree in this Block is tied to an Analysis Step."); + break; // Even if one tree of the block is ties to Analysis step, we can exit the + } + } + } + + } } } Modified: trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/DeleteATreeController.java =================================================================== --- trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/DeleteATreeController.java 2011-05-27 14:55:09 UTC (rev 892) +++ trunk/treebase-web/src/main/java/org/cipres/treebase/web/controllers/DeleteATreeController.java 2011-05-27 20:02:37 UTC (rev 893) @@ -4,6 +4,7 @@ package org.cipres.treebase.web.controllers; import java.util.HashMap; +import java.util.List; import java.util.Map; import javax.servlet.http.HttpServletRequest; @@ -14,6 +15,10 @@ import org.springframework.web.servlet.ModelAndView; import org.cipres.treebase.domain.admin.UserRole.TBPermission; +import org.cipres.treebase.domain.study.Analysis; +import org.cipres.treebase.domain.study.AnalysisStep; +import org.cipres.treebase.domain.study.AnalyzedData; +import org.cipres.treebase.domain.study.AnalyzedTree; import org.cipres.treebase.domain.study.SubmissionHome; import org.cipres.treebase.domain.study.SubmissionService; import org.cipres.treebase.domain.tree.PhyloTree; @@ -114,8 +119,31 @@ Long treeID = Long.parseLong(request.getParameter("treeid")); PhyloTree pTree = getPhyloTreeService().findByID(treeID); - if (pTree.getStudy() != null) { // It means this tree is tied to analysis step + /*if (pTree.getStudy() != null) { // It means this tree is tied to analysis step referenceMap.put("generalmessage", "This PhyloTree is tied to an Analysis Step."); + }*/ + + for (Analysis analysis : pTree.getStudy().getAnalyses()) { + + List<AnalysisStep> analysisStepList = analysis.getAnalysisStepsReadOnly(); + + for (AnalysisStep analysisStep : analysisStepList) { + + List<AnalyzedData> analyzedDataSet = analysisStep.getDataSetReadOnly(); + + for (AnalyzedData analyzedData : analyzedDataSet) { + + if (analyzedData instanceof AnalyzedTree) { + + if (pTree.getId() == ((AnalyzedTree) analyzedData).getTree().getId()) { + + referenceMap.put("generalmessage", "This PhyloTree is tied to an Analysis Step."); + } + } + } + + } + } referenceMap.put("deleteid", "Tree ID : " + treeID); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |