@Override public String encode(FormRepresentation form) throws FormEncodingException { StringBuilder builder = new StringBuilder(); builder.append("{\n"); builder.append(" \"name\": ").append(encodeString(form.getName())).append(",\n"); builder.append(" \"action\": ").append(encodeString(form.getAction())).append(",\n"); builder.append(" \"processName\": ").append(encodeString(form.getProcessName())).append(",\n"); builder.append(" \"taskId\": ").append(encodeString(form.getTaskId())).append(",\n"); builder.append(" \"documentation\": ").append(encodeString(form.getDocumentation())).append(",\n"); builder.append(" \"enctype\": ").append(encodeString(form.getEnctype())).append(",\n"); builder.append(" \"lastModified\": \"").append(form.getLastModified()).append("\",\n"); builder.append(" \"method\": ").append(encodeString(form.getMethod())).append(",\n"); builder.append(" \"formItems\": ").append(encodeList(form.getFormItems())).append(",\n"); builder.append(" \"formValidations\": ").append(encodeList(form.getFormValidations())).append(",\n"); builder.append(" \"inputs\": ").append(encodeInputs(form.getInputs())).append(",\n"); builder.append(" \"outputs\": ").append(encodeOutputs(form.getOutputs())).append(",\n"); builder.append(" \"onLoadScripts\": ").append(encodeList(form.getOnLoadScripts())).append(",\n"); builder.append(" \"onSubmitScripts\": ").append(encodeList(form.getOnSubmitScripts())).append("\n"); builder.append("}\n"); return builder.toString(); }
@Override public String encode(FormRepresentation form) throws FormEncodingException { StringBuilder builder = new StringBuilder(); builder.append("{\n"); builder.append(" \"name\": ").append(encodeString(form.getName())).append(",\n"); builder.append(" \"action\": ").append(encodeString(form.getAction())).append(",\n"); builder.append(" \"processName\": ").append(encodeString(form.getProcessName())).append(",\n"); builder.append(" \"taskId\": ").append(encodeString(form.getTaskId())).append(",\n"); builder.append(" \"documentation\": ").append(encodeString(form.getDocumentation())).append(",\n"); builder.append(" \"enctype\": ").append(encodeString(form.getEnctype())).append(",\n"); builder.append(" \"lastModified\": \"").append(form.getLastModified()).append("\",\n"); builder.append(" \"method\": ").append(encodeString(form.getMethod())).append(",\n"); builder.append(" \"formItems\": ").append(encodeList(form.getFormItems())).append(",\n"); builder.append(" \"formValidations\": ").append(encodeList(form.getFormValidations())).append(",\n"); builder.append(" \"inputs\": ").append(encodeInputs(form.getInputs())).append(",\n"); builder.append(" \"outputs\": ").append(encodeOutputs(form.getOutputs())).append(",\n"); builder.append(" \"onLoadScripts\": ").append(encodeList(form.getOnLoadScripts())).append(",\n"); builder.append(" \"onSubmitScripts\": ").append(encodeList(form.getOnSubmitScripts())).append("\n"); builder.append("}\n"); return builder.toString(); }
private void abstractTestSaveMenuItemProblem(final Class<?> exceptionType) throws Exception { FSMenuService service = createMockedService(exceptionType); MenuItemDescription sampleDescription = new MenuItemDescription(); sampleDescription.setAllowedEvents(new ArrayList<String>()); sampleDescription.setEffects(new ArrayList<FormEffectDescription>()); FormItemRepresentation item = MockFormHelper.createMockForm("form", "param1").getFormItems().iterator().next(); sampleDescription.setItemRepresentationMap(item.getDataMap()); sampleDescription.setIconUrl("https://www.google.com/images/srpr/logo3w.png"); sampleDescription.setName("name"); try { service.saveMenuItem("group", sampleDescription); fail("saveMenuItem shouldn't succeed"); } catch (MenuServiceException e) { assertNotNull("e shouldn't be null", e); Throwable cause = e.getCause(); assertNotNull("cause shouldn't be null", cause); assertTrue("cause should be a " + exceptionType.getName(), cause.getClass().equals(exceptionType)); } } @Test
private void abstractTestSaveMenuItemProblem(final Class<?> exceptionType) throws Exception { FSMenuService service = createMockedService(exceptionType); MenuItemDescription sampleDescription = new MenuItemDescription(); sampleDescription.setAllowedEvents(new ArrayList<String>()); sampleDescription.setEffects(new ArrayList<FormEffectDescription>()); FormItemRepresentation item = MockFormHelper.createMockForm("form", "param1").getFormItems().iterator().next(); sampleDescription.setItemRepresentationMap(item.getDataMap()); sampleDescription.setIconUrl("https://www.google.com/images/srpr/logo3w.png"); sampleDescription.setName("name"); try { service.saveMenuItem("group", sampleDescription); fail("saveMenuItem shouldn't succeed"); } catch (MenuServiceException e) { assertNotNull("e shouldn't be null", e); Throwable cause = e.getCause(); assertNotNull("cause shouldn't be null", cause); assertTrue("cause should be a " + exceptionType.getName(), cause.getClass().equals(exceptionType)); } } @Test
@Test public void testSaveMenuItemEncodingProblem() throws Exception { FSMenuService service = createMockedService(null); MenuItemDescription sampleDescription = new MenuItemDescription(); sampleDescription.setAllowedEvents(new ArrayList<String>()); sampleDescription.setEffects(new ArrayList<FormEffectDescription>()); FormItemRepresentation item = MockFormHelper.createMockForm("form", "param1").getFormItems().iterator().next(); sampleDescription.setItemRepresentationMap(item.getDataMap()); sampleDescription.setName("name"); FormRepresentationEncoder encoder = EasyMock.createMock(FormRepresentationEncoder.class); FormEncodingException exception = new FormEncodingException(); @SuppressWarnings("unchecked") Map<String, List<MenuItemDescription>> anyObject = EasyMock.anyObject(Map.class); EasyMock.expect(encoder.encodeMenuItemsMap(anyObject)).andThrow(exception).once(); FormEncodingFactory.register(encoder, FormEncodingFactory.getDecoder()); EasyMock.replay(encoder); try { service.saveMenuItem("group", sampleDescription); fail("saveMenuItem shouldn't succeed"); } catch (MenuServiceException e) { assertNotNull("e shouldn't be null", e); Throwable cause = e.getCause(); assertNotNull("cause shouldn't be null", cause); assertTrue("cause should be a FormEncodingException", cause instanceof FormEncodingException); } EasyMock.verify(encoder); } // THIS TEST REQUIRES THE REAL GWT Components so it should be executed in the showcase
@Test public void testSaveMenuItemEncodingProblem() throws Exception { FSMenuService service = createMockedService(null); MenuItemDescription sampleDescription = new MenuItemDescription(); sampleDescription.setAllowedEvents(new ArrayList<String>()); sampleDescription.setEffects(new ArrayList<FormEffectDescription>()); FormItemRepresentation item = MockFormHelper.createMockForm("form", "param1").getFormItems().iterator().next(); sampleDescription.setItemRepresentationMap(item.getDataMap()); sampleDescription.setName("name"); FormRepresentationEncoder encoder = EasyMock.createMock(FormRepresentationEncoder.class); FormEncodingException exception = new FormEncodingException(); @SuppressWarnings("unchecked") Map<String, List<MenuItemDescription>> anyObject = EasyMock.anyObject(Map.class); EasyMock.expect(encoder.encodeMenuItemsMap(anyObject)).andThrow(exception).once(); FormEncodingFactory.register(encoder, FormEncodingFactory.getDecoder()); EasyMock.replay(encoder); try { service.saveMenuItem("group", sampleDescription); fail("saveMenuItem shouldn't succeed"); } catch (MenuServiceException e) { assertNotNull("e shouldn't be null", e); Throwable cause = e.getCause(); assertNotNull("cause shouldn't be null", cause); assertTrue("cause should be a FormEncodingException", cause instanceof FormEncodingException); } EasyMock.verify(encoder); } // THIS TEST REQUIRES THE REAL GWT Components so it should be executed in the showcase