@Override public void execute() throws ActionExecutionException { // First Validate validator.showValidation(true); if (validator.isValid()) { try { ForumManager forumManager = ForumManager.Factory.getInstance(); String forumName = String.valueOf(item.getItemProperty("shortname").getValue()); String forumTitle = String.valueOf(item.getItemProperty("title").getValue()); boolean allowsNesting = "true".equals(String.valueOf(item.getItemProperty(DefaultForumManager.ALLOWS_NESTING_MESSAGES).getValue())); forumManager.createForum(forumName, forumTitle, allowsNesting); } catch (final RepositoryException e) { throw new ActionExecutionException(e); } callback.onSuccess(getDefinition().getName()); } else { log.info("Validation error(s) occurred. No save performed."); } }
@Override @Before public void setUp() throws Exception { super.setUp(); definition.setName(ACTION_NAME); callback = mock(EditorCallback.class); validator = mock(EditorValidator.class); doReturn(true).when(validator).isValid(); session = MgnlContext.getJCRSession(RepositoryConstants.WEBSITE); }
@Before public void setUp() throws Exception { // Mock session. MockContext context = new MockContext(); session = new MockSession(WEBSITE); context.addSession(WEBSITE, session); MgnlContext.setInstance(context); commandsManager = mock(CommandsManager.class); validator = mock(EditorValidator.class); doReturn(true).when(validator).isValid(); callback = mock(EditorCallback.class); adminCentralEventBus = mock(EventBus.class); }
@Override public void execute() throws ActionExecutionException { // First Validate validator.showValidation(true); if (validator.isValid()) { try { ForumManager forumManager = ForumManager.Factory.getInstance(); final Node forumNode = (Node) ((JcrItemAdapter) item).getJcrItem(); String forumNodeId = forumNode.getIdentifier(); String threadTitle = String.valueOf(item.getItemProperty("threadTitle").getValue()); String messageTitle = String.valueOf(item.getItemProperty("messageTitle").getValue()); String messageText = String.valueOf(item.getItemProperty("messageText").getValue()); String author = MgnlContext.getUser().getName(); forumManager.createThread(forumNodeId, threadTitle, messageTitle, messageText, author, false); } catch (final RepositoryException e) { throw new ActionExecutionException(e); } callback.onSuccess(getDefinition().getName()); } else { log.info("Validation error(s) occurred. No save performed."); } }
@Before @Override public void setUp() throws Exception { super.setUp(); callback = mock(EditorCallback.class); validator = mock(EditorValidator.class); doReturn(true).when(validator).isValid(); subAppEventBus = mock(EventBus.class); // Mock session session = new MockSession(RepositoryConstants.WEBSITE); MockContext ctx = new MockContext(); ctx.addSession(RepositoryConstants.WEBSITE, session); MgnlContext.setInstance(ctx); }
@Override public void execute() throws ActionExecutionException { RSSAggregator module = (RSSAggregator) Components.getComponent(ModuleRegistry.class).getModuleInstance("rssaggregator"); validator.showValidation(true); if (validator.isValid()) { try { final Node node = item.applyChanges(); setNodeName(node, item); node.getSession().save(); Node2BeanProcessor n2b = Components.getComponent(Node2BeanProcessor.class); RSSJob job = (RSSJob) n2b.toBean(node, RSSJob.class); job.setName(node.getIdentifier()); module.scheduleRSSJob(job.getName()); } catch (final RepositoryException e) { throw new ActionExecutionException(e); } catch (Node2BeanException e) { throw new ActionExecutionException(e); } callback.onSuccess(getDefinition().getName()); } else { // after failed validation put the original job back into the map log.info("Validation error(s) occurred. No save performed."); } } }
@Test public void validatedCallbackNotFiredIfNotValid() throws Exception { // GIVEN definition.setValidationEnabled(true); doReturn(false).when(validator).isValid(); // WHEN definition.setCallSuccess(true); action.execute(); definition.setCallSuccess(false); action.execute(); // THEN verifyZeroInteractions(callback); }
@Override public void execute() throws ActionExecutionException { validator.showValidation(true); if (validator.isValid()) { try { ForumManager forumManager = ForumManager.Factory.getInstance();
@Override @Before public void setUp() throws Exception { super.setUp(); definition.setName(ACTION_NAME); callback = mock(EditorCallback.class); validator = mock(EditorValidator.class); doReturn(true).when(validator).isValid(); // Mock session session = new MockSession(RepositoryConstants.WEBSITE); MockContext ctx = new MockContext(); ctx.addSession(RepositoryConstants.WEBSITE, session); MgnlContext.setInstance(ctx); }
@Test public void validatedCallbackFiredIfValid() throws Exception { // GIVEN definition.setValidationEnabled(true); doReturn(true).when(validator).isValid(); // WHEN definition.setCallSuccess(true); action.execute(); // THEN verify(callback).onSuccess(anyString()); // WHEN definition.setCallSuccess(false); action.execute(); // THEN verify(callback).onCancel(); verifyNoMoreInteractions(callback); }
@Before public void setUp() throws Exception { MockSession session = new MockSession(RepositoryConstants.USERS); userNode = session.getRootNode().addNode("testUser", NodeTypes.User.NAME); userNode.setProperty(MgnlUserManager.PROPERTY_PASSWORD, DEFAULT_PASSWORD); item = new JcrNodeAdapter(userNode); SaveUserProfileDialogAction.Definition definition = new SaveUserProfileDialogAction.Definition(); EditorValidator editorValidator = mock(EditorValidator.class); when(editorValidator.isValid()).thenReturn(true); EditorCallback editorCallback = mock(EditorCallback.class); fieldDefinition = mock(ConfiguredFieldDefinition.class); when(fieldDefinition.getName()).thenReturn(MgnlUserManager.PROPERTY_PASSWORD); User user = mock(User.class); when(user.getPassword()).thenReturn(DEFAULT_PASSWORD); MockWebContext context = new MockWebContext(); context.setUser(user); Provider<Context> contextProvider = GuiceUtils.providerForInstance(context); action = new SaveUserProfileDialogAction(definition, item, editorValidator, editorCallback, contextProvider); context.addSession(RepositoryConstants.USERS, session); MgnlContext.setInstance(context); }
@Before public void setUp() throws Exception { // Mock session. MockContext context = new MockContext(); session = new MockSession("dam"); context.addSession("dam", session); MgnlContext.setInstance(context); ComponentsTestUtil.setInstance(MagnoliaConfigurationProperties.class, mock(MagnoliaConfigurationProperties.class)); commandsManager = mock(CommandsManager.class); callback = mock(EditorCallback.class); EditorValidator validator = mock(EditorValidator.class); doReturn(true).when(validator).isValid(); // GIVEN JcrNewNodeAdapter importedZip = new JcrNewNodeAdapter(session.getRootNode(), NodeTypes.Folder.NAME); importedZip.addItemProperty(ImportZipCommand.ENCODING_PROPERTY, new ObjectProperty<>("UTF-8")); JcrNewNodeAdapter importHolder = new JcrNewNodeAdapter(importedZip.getJcrItem(), ContentNode.NAME, "import"); importHolder.addItemProperty(PROPERTY_FILENAME, new ObjectProperty<>("foo.zip")); importHolder.addItemProperty(JCR_DATA, new ObjectProperty<>(mock(BinaryImpl.class))); importHolder.addItemProperty(EXTENSION, new ObjectProperty<>("zip")); importedZip.addChild(importHolder); nodeNameHelper = new NodeNameHelper(mock(MagnoliaConfigurationProperties.class)); action = new ZipUploadDialogAction<>(definition, commandsManager, validator, callback, importedZip, nodeNameHelper, null); }