@Test public void setupModelClient() throws Exception { NinjaContext ctx = new NinjaContext(null); ctx.init(null); RestService service = ctx.getRestService(); Holder object = new Holder(); Holder result = new Holder(); // service.get(UserType.COMPLEX_TYPE, SystemObjectsType.USER_ADMINISTRATOR.value(), null, object, result); AssertJUnit.assertNotNull(object.value); }
private void cleanupResources(BaseOptions opts, NinjaContext context) { try { if (context != null) { context.destroy(); } } catch (Exception ex) { if (opts.isVerbose()) { String stack = NinjaUtils.printStackToString(ex); System.err.print("Unexpected exception occurred (" + ex.getClass() + ") during destroying context. Exception stack trace:\n" + stack); } } }
@Override public void execute() throws Exception { ApplicationContext appContext = context.getApplicationContext(); Protector protector = appContext.getBean(Protector.class); if (protector instanceof KeyStoreBasedProtector) { KeyStoreBasedProtector p = (KeyStoreBasedProtector) protector; System.out.println("Location: " + p.getKeyStorePath()); } KeyStore keyStore = protector.getKeyStore(); System.out.println("Type: " + keyStore.getType()); Provider provider = keyStore.getProvider(); System.out.println("Provider: " + provider.getName()); Enumeration<String> aliases = keyStore.aliases(); while (aliases.hasMoreElements()) { String alias = aliases.nextElement(); System.out.println("======"); describeAlias(keyStore, alias, protector); if (aliases.hasMoreElements()) { System.out.println("======"); } } // todo implement dump other keys from keystore }
public void init(NinjaContext context, T options) { this.context = context; this.options = options; LogTarget target = getInfoLogTarget(); log = new Log(target, this.context); this.context.setLog(log); ConnectionOptions connection = NinjaUtils.getOptions(this.context.getJc(), ConnectionOptions.class); this.context.init(connection); }
protected NinjaContext setupNinjaContext(String[] input) { JCommander jc = NinjaUtils.setupCommandLineParser(); jc.parse(input); NinjaContext context = new NinjaContext(jc); ConnectionOptions connection = NinjaUtils.getOptions(jc, ConnectionOptions.class); context.init(connection); return context; }
@Test public void setupRepositoryViaMidpointHome() throws Exception { JCommander jc = NinjaUtils.setupCommandLineParser(); jc.parse("-m", "./target/midpoint-home", "-U", "jdbc:postgresql://localhost/midpoint", "-u", "midpoint", "-p", "qwe123"); ConnectionOptions options = NinjaUtils.getOptions(jc, ConnectionOptions.class); NinjaContext ctx = new NinjaContext(null); ctx.init(options); RepositoryService service = ctx.getRepository(); OperationResult result = new OperationResult("get user"); PrismObject obj = service.getObject(UserType.class, SystemObjectsType.USER_ADMINISTRATOR.value(), null, result); System.out.println(obj.debugDump()); } }
@Override public void run() { ApplicationContext ctx = context.getApplicationContext(); Protector protector = ctx.getBean(Protector.class); RepositoryService repository = context.getRepository(); repository.addObject(object, opts, new OperationResult("Import object")); context.getLog().error("Couldn't add object {}, reason: {}", ex, object, ex.getMessage()); operation.incrementError();
@Override public void run() { Log log = context.getLog(); GetOperationOptionsBuilder optionsBuilder = context.getSchemaHelper().getOperationOptionsBuilder(); if (options.isRaw()) { optionsBuilder = optionsBuilder.raw(); }; RepositoryService repository = context.getRepository(); repository.searchObjectsIterative(type.getClassDefinition(), query, handler, optionsBuilder.build(), true, operation.getResult()); } catch (SchemaException ex) {
public static ObjectQuery createObjectQuery(FileReference ref, NinjaContext context, Class<? extends ObjectType> objectClass) throws IOException, SchemaException { if (ref == null) { return null; } String filterStr = ref.getValue(); if (ref.getReference() != null) { File file = ref.getReference(); filterStr = FileUtils.readFileToString(file, context.getCharset()); } PrismContext prismContext = context.getPrismContext(); PrismParserNoIO parser = prismContext.parserFor(filterStr); RootXNode root = parser.parseToXNode(); ObjectFilter filter = context.getQueryConverter().parseFilter(root.toMapXNode(), objectClass); return prismContext.queryFactory().createQuery(filter); }
@Test public void importByOid() { String[] input = new String[]{"-m", getMidpointHome(), "import", "-o", "00000000-0000-0000-0000-111100000002", "-i", RESOURCES_FOLDER + "/objects.zip", "-z"}; ByteArrayOutputStream bos = new ByteArrayOutputStream(); executeTest(null, context -> { RepositoryService repo = context.getRepository(); OperationResult result = new OperationResult("count objects"); int count = repo.countObjects(ObjectType.class, null, null, result); AssertJUnit.assertEquals(0, count); }, context -> { RepositoryService repo = context.getRepository(); OperationResult result = new OperationResult("count users"); int count = repo.countObjects(UserType.class, null, null, result); AssertJUnit.assertEquals(1, count); }, true, true, input); List<String> out = getSystemOut(); AssertJUnit.assertEquals(out.toString(), 5, out.size()); AssertJUnit.assertTrue(getSystemErr().isEmpty()); }
RepositoryService repository = context.getRepository(); repository.deleteObject(prismObject.getCompileTimeClass(), prismObject.getOid(), operationResult); context.getLog().error("Couldn't delete object {}, reason: {}", ex, prismObject, ex.getMessage()); operation.incrementError(); RepositoryService repository = context.getRepository(); repository.searchObjectsIterative(type.getClassDefinition(), query, handler, opts, true, result);
BlockingQueue<PrismObject> queue, OperationStatus operation, List<SearchProducerWorker> producers, ObjectFilter filter) { QueryFactory queryFactory = context.getPrismContext().queryFactory(); List<SearchProducerWorker> shadowProducers = new ArrayList<>(); RepositoryService repository = this.context.getRepository();
@Override public void execute() { RestService model = context.getRestService(); OperationResult result = model.testResource(options.getOid()); //todo print result } }
private void processStream(InputStream input) throws IOException { ApplicationContext appContext = context.getApplicationContext(); PrismContext prismContext = appContext.getBean(PrismContext.class); MatchingRuleRegistry matchingRuleRegistry = appContext.getBean(MatchingRuleRegistry.class); Charset charset = context.getCharset(); Reader reader = new InputStreamReader(input, charset); validator.validate(new ReaderInputStream(reader, charset), result, result.getOperation());
context = new NinjaContext(jc);
private void debug(String message) { Log log = context.getLog(); log.debug(message); } }
private RestService setupRestService(ConnectionOptions options) { log.info("Initializing rest service"); String url = options.getUrl(); String username = options.getUsername(); String password = getPassword(options); if (url == null) { throw new IllegalStateException("Url is not defined"); } return new RestService(url, username, password); }
private Writer createWriter() throws IOException { Writer writer = NinjaUtils.createWriter(options.getOutput(), context.getCharset(), options.isZip()); String prolog = getProlog(); if (prolog != null) { writer.write(prolog); } return writer; }
private void init() { opts = NinjaUtils.getOptions(context.getJc(), BaseOptions.class); LoggerContext lc = (LoggerContext) LoggerFactory.getILoggerFactory(); PatternLayoutEncoder ple = new PatternLayoutEncoder(); if (opts.isVerbose()) { ple.setPattern("%date [%thread] %-5level \\(%logger{46}\\): %message%n<"); } else { ple.setPattern("%msg%n"); } ple.setContext(lc); ple.start(); ConsoleAppender out = setupAppender("STDOUT","System.out", lc, setupEncoder(lc)); ConsoleAppender err = setupAppender("STDERR","System.err", lc, setupEncoder(lc)); Logger root = (Logger) LoggerFactory.getLogger(Logger.ROOT_LOGGER_NAME); if (LogTarget.SYSTEM_OUT.equals(target)) { root.addAppender(out); } else { root.addAppender(err); } root.setLevel(Level.OFF); info = setupLogger(LOGGER_SYS_OUT, opts); error = setupLogger(LOGGER_SYS_ERR, opts); error.setAdditive(false); error.addAppender(err); }
@Override public void execute() throws Exception { RepositoryService repository = context.getRepository(); FileReference fileReference = options.getFilter(); if (fileReference != null && options.getFilter() == null) { throw new NinjaException("Type must be defined"); } List<ObjectTypes> types = NinjaUtils.getTypes(options.getType()); int total = 0; OperationResult result = new OperationResult(OPERATION_COUNT); for (ObjectTypes type : types) { ObjectQuery query = NinjaUtils.createObjectQuery(options.getFilter(), context, type.getClassDefinition()); int count = repository.countObjects(type.getClassDefinition(), query, new ArrayList<>(), result); if (count == 0 && options.getType() == null) { continue; } log.info("{}:\t{}", type.name(), count); total += count; } log.info("===\nTotal:\t{}", total); } }