use of com.zimbra.soap.account.type.EntrySearchFilterInfo in project zm-mailbox by Zimbra.
the class TestSearchCalendarResources method chineseChar.
@Test
public void chineseChar() throws Exception {
Map<String, Object> attrs = Maps.newHashMap();
attrs.put(Provisioning.A_displayName, "\u4e2d\u6587");
attrs.put(Provisioning.A_zimbraCalResType, Provisioning.CalResType.Location.name());
attrs.put(Provisioning.A_zimbraCalResSite, "\u4e2d\u6587");
CalendarResource cr = provUtil.createCalendarResource("chineseChar", domain, attrs);
String crName = cr.getName();
/*
*
filter="(&(&(&(|(displayName=*\E4\B8\AD\E6\96\87*)(cn=*\E4\B8\AD\E6\96\87*)(sn=*\E4\B8\AD\E6\96\87*)(givenName=*\E4\B8\AD\E6\96\87*)(?mail=*\E4\B8\AD\E6\96\87*)(?zimbraMailDeliveryAddress=*\E4\B8\AD\E6\96\87*)(?zimbraMailAlias=*\E4\B8\AD\E6\96\87*))(objectClass=zimbraCalendarResource)(zimbraAccountStatus=active))(!(zimbraHideInGal=TRUE))(!(zimbraIsSystemResource=TRUE)))(&(zimbraCalResType=location)(zimbraCalResSite=*\E4\B8\AD\E6\96\87*)))"
*/
SoapTransport transport = authUser("user1@phoebe.mbp");
SearchCalendarResourcesRequest req = new SearchCalendarResourcesRequest("\u4e2d\u6587");
EntrySearchFilterMultiCond conds = new EntrySearchFilterMultiCond();
EntrySearchFilterSingleCond cond;
cond = new EntrySearchFilterSingleCond();
cond.setAttr(Provisioning.A_zimbraCalResType);
cond.setOp("eq");
cond.setValue("Location");
conds.addCondition(cond);
cond = new EntrySearchFilterSingleCond();
cond.setAttr(Provisioning.A_zimbraCalResSite);
cond.setOp("has");
cond.setValue("\u4e2d\u6587");
conds.addCondition(cond);
EntrySearchFilterInfo filter = new EntrySearchFilterInfo();
filter.setCondition(conds);
req.setSearchFilter(filter);
SearchCalendarResourcesResponse resp = invokeJaxb(transport, req);
List<CalendarResourceInfo> crInfo = resp.getCalendarResources();
assertEquals(1, crInfo.size());
assertEquals(crName, crInfo.get(0).getName());
}
use of com.zimbra.soap.account.type.EntrySearchFilterInfo in project zm-mailbox by Zimbra.
the class TestSearchCalendarResources method reservedChar.
@Test
@Bug(bug = 67045)
public void reservedChar() throws Exception {
Map<String, Object> attrs = Maps.newHashMap();
attrs.put(Provisioning.A_displayName, "name()");
attrs.put(Provisioning.A_zimbraCalResType, Provisioning.CalResType.Location.name());
attrs.put(Provisioning.A_zimbraCalResSite, "Site()");
attrs.put(Provisioning.A_zimbraCalResCapacity, "10");
attrs.put(Provisioning.A_zimbraCalResBuilding, "Building()");
attrs.put(Provisioning.A_zimbraNotes, "Notes()");
attrs.put(Provisioning.A_zimbraCalResFloor, "()");
CalendarResource cr = provUtil.createCalendarResource("reservedChar", domain, attrs);
String crName = cr.getName();
/*
<SearchCalendarResourcesRequest xmlns="urn:zimbraAccount"
attrs="fullName,email,zimbraCalResLocationDisplayName,zimbraCalResContactEmail,notes,zimbraCalResType">
<name>()</name>
<searchFilter>
<conds>
<cond op="eq" value="Location" attr="zimbraCalResType"/>
<cond op="has" value="()" attr="zimbraCalResSite"/>
<cond op="ge" value="9" attr="zimbraCalResCapacity"/>
<cond op="has" value="()" attr="zimbraCalResBuilding"/>
<cond op="has" value="()" attr="zimbraNotes"/>
<cond op="eq" value="()" attr="zimbraCalResFloor"/>
</conds>
</searchFilter>
</SearchCalendarResourcesRequest>
Expected filer:
filter="(&(&(&(|(displayName=*\28\29*)(cn=*\28\29*)(sn=*\28\29*)(givenName=*\28\29*)(mail=*\28\29*)(zimbraMailDeliveryAddress=*\28\29*)(zimbraMailAlias=*\28\29*))(objectClass=zimbraCalendarResource)(zimbraAccountStatus=active))(!(zimbraHideInGal=TRUE))(!(zimbraIsSystemResource=TRUE)))(&(zimbraCalResType=location)(zimbraCalResSite=*\28\29*)(zimbraCalResCapacity>=9)(zimbraCalResBuilding=*\28\29*)(zimbraNotes=*\28\29*)(zimbraCalResFloor=\28\29)))"
*/
SoapTransport transport = authUser("user1@phoebe.mbp");
SearchCalendarResourcesRequest req = new SearchCalendarResourcesRequest("()");
EntrySearchFilterMultiCond conds = new EntrySearchFilterMultiCond();
EntrySearchFilterSingleCond cond;
cond = new EntrySearchFilterSingleCond();
cond.setAttr(Provisioning.A_zimbraCalResType);
cond.setOp("eq");
cond.setValue("Location");
conds.addCondition(cond);
cond = new EntrySearchFilterSingleCond();
cond.setAttr(Provisioning.A_zimbraCalResSite);
cond.setOp("has");
cond.setValue("()");
conds.addCondition(cond);
cond = new EntrySearchFilterSingleCond();
cond.setAttr(Provisioning.A_zimbraCalResCapacity);
cond.setOp("ge");
cond.setValue("9");
conds.addCondition(cond);
cond = new EntrySearchFilterSingleCond();
cond.setAttr(Provisioning.A_zimbraCalResBuilding);
cond.setOp("has");
cond.setValue("()");
conds.addCondition(cond);
cond = new EntrySearchFilterSingleCond();
cond.setAttr(Provisioning.A_zimbraNotes);
cond.setOp("has");
cond.setValue("()");
conds.addCondition(cond);
cond = new EntrySearchFilterSingleCond();
cond.setAttr(Provisioning.A_zimbraCalResFloor);
cond.setOp("eq");
cond.setValue("()");
conds.addCondition(cond);
EntrySearchFilterInfo filter = new EntrySearchFilterInfo();
filter.setCondition(conds);
req.setSearchFilter(filter);
SearchCalendarResourcesResponse resp = invokeJaxb(transport, req);
List<CalendarResourceInfo> crInfo = resp.getCalendarResources();
assertEquals(1, crInfo.size());
assertEquals(crName, crInfo.get(0).getName());
}
Aggregations