DRLTextEditorServiceImpl extends KieService<DrlModelContent> implements DRLTextEditorService { @Override public Path create(final Path context, final String fileName, final String content, final String comment) { try { final String drl = assertPackageName(content, context); final org.uberfire.java.nio.file.Path nioPath = Paths.convert(context).resolve(fileName); final Path newPath = Paths.convert(nioPath); if (ioService.exists(nioPath)) { throw new FileAlreadyExistsException(nioPath.toString()); } ioService.write(nioPath, drl, commentedOptionFactory.makeCommentedOption(comment)); return newPath; } catch (Exception e) { throw ExceptionUtilities.handleException(e); } } DRLTextEditorServiceImpl(); @Inject  DRLTextEditorServiceImpl(final SessionInfo sessionInfo); @PostConstruct void init(); @Override Path create(final Path context,
                       final String fileName,
                       final String content,
                       final String comment); @Override String load(final Path path); @Override DrlModelContent loadContent(final Path path); @Override List<String> loadClassFields(final Path path,
                                        final String fullyQualifiedClassName); @Override Path save(final Path resource,
                     final String content,
                     final Metadata metadata,
                     final String comment); @Override void delete(final Path path,
                       final String comment); @Override Path rename(final Path path,
                       final String newName,
                       final String comment); @Override Path copy(final Path path,
                     final String newName,
                     final String comment); @Override Path copy(final Path path,
                     final String newName,
                     final Path targetDirectory,
                     final String comment); @Override List<ValidationMessage> validate(final Path path,
                                            final String content); @Override String assertPackageName(final String drl,
                                    final Path resource); @Override Path saveAndRename(final Path path,
                              final String newFileName,
                              final Metadata metadata,
                              final String content,
                              final String comment);  }
@Test public void testCreateAlreadyExisting() throws URISyntaxException { when(ioService.exists(any(org.uberfire.java.nio.file.Path.class))).thenReturn(true); try { drlService.create(path, filename, "", ""); fail("FileAlreadyExistsException was not thrown when expected!"); } catch (FileAlreadyExistsException faee) { } verify(ioService, never()).write(any(org.uberfire.java.nio.file.Path.class), anyString(), any(OpenOption.class)); }
@Test public void testCreate() throws Exception { final String ruleContent = "rule \"empty\" when then"; final String creationComment = "initial version"; when(commentedOptionFactory.makeCommentedOption(creationComment)).thenReturn(commentedOption); drlService.create(path, filename, ruleContent, creationComment); verify(ioService).write(any(org.uberfire.java.nio.file.Path.class), eq(ruleContent), eq(commentedOption)); }