Changeset 6744 for trunk/www/views/itemlists/members/index.jsp
- Timestamp:
- Feb 18, 2015, 9:56:25 AM (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/www/views/itemlists/members/index.jsp
r6743 r6744 23 23 @version 2.10 24 24 --%> 25 <%@page import="net.sf.basedb.core.Listable"%>26 25 <%@ page pageEncoding="UTF-8" session="false" 27 26 import="net.sf.basedb.core.SessionControl" … … 31 30 import="net.sf.basedb.core.Type" 32 31 import="net.sf.basedb.core.ItemQuery" 33 import="net.sf.basedb.core.ItemResultIterator"34 32 import="net.sf.basedb.core.ItemList" 35 33 import="net.sf.basedb.core.BasicItem" 36 import="net.sf.basedb.core.Sample" 37 import="net.sf.basedb.core.Extract" 38 import="net.sf.basedb.core.PhysicalBioAssay" 39 import="net.sf.basedb.core.BioPlateEventType" 40 import="net.sf.basedb.core.OwnedItem" 34 import="net.sf.basedb.core.Listable" 41 35 import="net.sf.basedb.core.query.Restrictions" 42 36 import="net.sf.basedb.core.query.Expressions" … … 54 48 import="net.sf.basedb.core.plugin.GuiContext" 55 49 import="net.sf.basedb.util.extensions.ExtensionsInvoker" 56 import="net.sf.basedb.util.formatter.NameableFormatter"57 import="net.sf.basedb.util.formatter.WellCoordinateFormatter"58 import="net.sf.basedb.util.formatter.ItemTypeFormatter"59 import="net.sf.basedb.clients.web.plugins.BioMaterialEventSourceFormatter"60 import="net.sf.basedb.clients.web.plugins.ItemQueryLoader"61 import="net.sf.basedb.clients.web.plugins.ParentBioMaterialEventSourceLoader"62 50 import="net.sf.basedb.clients.web.extensions.ExtensionsControl" 63 51 import="net.sf.basedb.clients.web.extensions.JspContext" … … 76 64 { 77 65 Item memberType = cc.getItemType(); 78 if (memberType == Item.BIOSOURCE)79 {80 // Register formatters81 cc.setObject("export.formatter.&children(name)", new NameableFormatter());82 83 // Register dataloaders84 String bioSourceParameter = "bioSource";85 final ItemQuery<Sample> sampleQuery = Sample.getQuery();86 sampleQuery.include(cc.getInclude());87 sampleQuery.restrict(Restrictions.eq(Hql.property("parent"), Expressions.parameter(bioSourceParameter)));88 sampleQuery.order(Orders.asc(Hql.property("name")));89 cc.setObject("export.dataloader.&children(name)", new ItemQueryLoader(sampleQuery, bioSourceParameter));90 }91 else if (memberType == Item.SAMPLE)92 {93 // Register formatters94 cc.setObject("export.formatter.bioWell.row", new WellCoordinateFormatter(true));95 cc.setObject("export.formatter.bioWell.column", new WellCoordinateFormatter(false));96 cc.setObject("export.formatter.&creationEvent.sources(bioMaterial.name)", new BioMaterialEventSourceFormatter());97 cc.setObject("export.formatter.&childCreationEvents(event.bioMaterial.name)", new NameableFormatter());98 cc.setObject("export.formatter.&children(name)", new NameableFormatter());99 cc.setObject("export.formatter.parentType", new ItemTypeFormatter());100 101 // Register dataloaders102 String sampleParameter = "sample";103 104 // Child extracts105 ItemQuery<Extract> extractQuery = Extract.getQuery();106 extractQuery.include(cc.getInclude());107 extractQuery.restrict(Restrictions.eq(Hql.property("parent"), Expressions.parameter(sampleParameter)));108 extractQuery.order(Orders.asc(Hql.property("name")));109 cc.setObject("export.dataloader.&children(name)", new ItemQueryLoader(extractQuery, sampleParameter));110 111 // Child samples112 ItemQuery<Sample> childSamplesQuery = Sample.getQuery();113 childSamplesQuery.join(Hql.innerJoin("creationEvent", "ce"));114 childSamplesQuery.join(Hql.innerJoin("ce", "sources", "src"));115 childSamplesQuery.restrict(Restrictions.eq(Hql.property("src", "bioMaterial"), Expressions.parameter(sampleParameter)));116 childSamplesQuery.order(Orders.asc(Hql.property("name")));117 childSamplesQuery.include(cc.getInclude());118 cc.setObject("export.dataloader.&childCreationEvents(event.bioMaterial.name)", new ItemQueryLoader(childSamplesQuery, sampleParameter));119 120 // Parent samples121 cc.setObject("export.dataloader.&creationEvent.sources(bioMaterial.name)", new ParentBioMaterialEventSourceLoader());122 }123 else if (memberType == Item.EXTRACT)124 {125 cc.setObject("export.formatter.bioWell.row", new WellCoordinateFormatter(true));126 cc.setObject("export.formatter.bioWell.column", new WellCoordinateFormatter(false));127 cc.setObject("export.formatter.&children(name)", new NameableFormatter());128 cc.setObject("export.formatter.&creationEvent.sources(bioMaterial.name)", new BioMaterialEventSourceFormatter());129 cc.setObject("export.formatter.&childCreationEvents(event.physicalBioAssay.name)", new NameableFormatter());130 cc.setObject("export.formatter.&childCreationEvents(event.bioMaterial.name)", new NameableFormatter());131 cc.setObject("export.formatter.parentType", new ItemTypeFormatter());132 133 String restrictionParameter = "extract";134 135 // Physical bioassays136 ItemQuery<PhysicalBioAssay> bioAssayQuery = PhysicalBioAssay.getQuery();137 bioAssayQuery.join(Hql.innerJoin("creationEvent", "ce"));138 bioAssayQuery.join(Hql.innerJoin("ce", "sources", "src"));139 bioAssayQuery.restrict(Restrictions.eq(Hql.property("src", "bioMaterial"), Expressions.parameter(restrictionParameter)));140 bioAssayQuery.order(Orders.asc(Hql.property("name")));141 bioAssayQuery.include(cc.getInclude());142 cc.setObject("export.dataloader.&childCreationEvents(event.physicalBioAssay.name)", new ItemQueryLoader(bioAssayQuery, restrictionParameter));143 144 // Child extracts145 ItemQuery<Extract> childExtractsQuery = Extract.getQuery();146 childExtractsQuery.join(Hql.innerJoin("creationEvent", "ce"));147 childExtractsQuery.join(Hql.innerJoin("ce", "sources", "src"));148 childExtractsQuery.restrict(Restrictions.eq(Hql.property("src", "bioMaterial"), Expressions.parameter(restrictionParameter)));149 childExtractsQuery.order(Orders.asc(Hql.property("name")));150 childExtractsQuery.include(cc.getInclude());151 cc.setObject("export.dataloader.&childCreationEvents(event.bioMaterial.name)", new ItemQueryLoader(childExtractsQuery, restrictionParameter));152 153 // Parent items154 cc.setObject("export.dataloader.&creationEvent.sources(bioMaterial.name)", new ParentBioMaterialEventSourceLoader());155 }156 66 } 157 67 %> … … 235 145 redirect = "../../../common/plugin/index.jsp?ID="+ID+"&cmd=SelectPlugin&item_type="+itemType.name()+"&context_type=LIST&subcontext="+subContext+"&main_type=OTHER&title=Run+plugin"; 236 146 } 147 else if ("AddMembers".equals(cmd)) 148 { 149 ItemContext memberContext = sc.getCurrentContext(itemType); 150 final ItemQuery<? extends Listable> query = list.getAllItems(); 151 memberContext.configureQuery(dc, query, true); 152 String which = request.getParameter("which"); 153 if ("selected".equals(which)) 154 { 155 query.setFirstResult(0); 156 query.setMaxResults(-1); 157 Integer[] itemIds = Values.getInt(request.getParameter("items").split(",")); 158 query.restrict( 159 Restrictions.in( 160 Hql.property("id"), 161 Expressions.parameter("selectedItems") 162 ) 163 ); 164 query.setParameter("selectedItems", Arrays.asList(itemIds), Type.INT); 165 } 166 else if ("all".equals(which)) 167 { 168 query.setFirstResult(0); 169 query.setMaxResults(-1); 170 } 171 int count = list.add(query.iterate(dc)); 172 dc.commit(); 173 message = count + " members added to list"; 174 } 175 else if ("RemoveMembers".equals(cmd)) 176 { 177 // Delete all selected items on the list page 178 ItemContext cc = Base.getAndSetCurrentContext(sc, itemType, subContext, pageContext, defaultContext); 179 for (int itemId : cc.getSelected()) 180 { 181 list.remove((Listable)itemType.getById(dc, itemId)); 182 } 183 dc.commit(); 184 redirect = listPage; 185 } 186 237 187 else 238 188 {
Note: See TracChangeset
for help on using the changeset viewer.