/** * duplicates form resources from one form to another * * @param source the form to copy resources from * @param destination the form to copy resources to */ private void duplicateFormResources(Form source, Form destination) { FormService service = Context.getFormService(); for (FormResource resource : service.getFormResourcesForForm(source)) { FormResource newResource = new FormResource(resource); newResource.setForm(destination); service.saveFormResource(newResource); } }
/** * @see org.openmrs.api.FormService#purgeForm(org.openmrs.Form, boolean) */ @Override public void purgeForm(Form form, boolean cascade) throws APIException { if (cascade) { throw new APIException("general.not.yet.implemented", (Object[]) null); } // remove resources for (FormResource resource : Context.getFormService().getFormResourcesForForm(form)) { Context.getFormService().purgeFormResource(resource); } dao.deleteForm(form); }
Collection<FormResource> formResourcesForForm = Context.getFormService().getFormResourcesForForm(form); Assert.assertEquals(1, formResourcesForForm.size()); FormResource actual = formResourcesForForm.iterator().next();
@Override public PageableResult doGetAll(Form parent, RequestContext context) throws ResponseException { List<FormResource> resources = (List<FormResource>) Context.getFormService().getFormResourcesForForm(parent); return new NeedsPaging<FormResource>(resources, context); }
@PropertyGetter("resources") public List<FormResource> getFormResources(Form form) { FormService formService = Context.getFormService(); return (List<FormResource>) formService.getFormResourcesForForm(form); }
@Override public long getAllCount() { List<Form> forms = formService.getAllForms(); int count = 0; for (Form f : forms) { count += Context.getFormService().getFormResourcesForForm(f).size(); } return count; } }
@Test public void shouldListFormResourcesForAForm() throws Exception { MockHttpServletResponse response = handle(newGetRequest(getURI())); List<Object> resources = Util.getResultsList(deserialize(response)); List<FormResource> resourceObjects = (List<FormResource>) formService.getFormResourcesForForm(formService .getFormByUuid(RestTestConstants1_9.FORM_UUID)); List<String> names = new ArrayList<String>(); for (Object resource : resources) { names.add((String) PropertyUtils.getProperty(resource, "name")); } Assert.assertEquals(resourceObjects.size(), resources.size()); Assert.assertTrue(names.contains("Resource 1")); Assert.assertTrue(names.contains("Resource 2")); Assert.assertTrue(names.contains("Resource 3")); }