@Override public void listTypesCommand( org.locationtech.geowave.service.grpc.protobuf.ListTypesCommandParametersProtos request, StreamObserver<org.locationtech.geowave.service.grpc.protobuf.GeoWaveReturnTypesProtos.StringResponseProtos> responseObserver) { ListTypesCommand cmd = new ListTypesCommand(); Map<FieldDescriptor, Object> m = request.getAllFields(); GeoWaveGrpcServiceCommandUtil.setGrpcToCommandFields(m, cmd); final File configFile = GeoWaveGrpcServiceOptions.geowaveConfigFile; final OperationParams params = new ManualOperationParams(); params.getContext().put(ConfigOptions.PROPERTIES_FILE_CONTEXT, configFile); cmd.prepare(params); LOGGER.info("Executing ListAdapterCommand..."); try { final String result = cmd.computeResults(params); final StringResponseProtos resp = StringResponseProtos.newBuilder().setResponseValue(result).build(); responseObserver.onNext(resp); responseObserver.onCompleted(); } catch (final Exception e) { LOGGER.error("Exception encountered executing command", e); } }
@Override public void execute(final OperationParams params) { JCommander.getConsole().println("Available types: " + computeResults(params)); }
@Override public String computeResults(final OperationParams params) { if (parameters.size() < 1) { throw new ParameterException("Must specify store name"); } final String inputStoreName = parameters.get(0); // Attempt to load store. final File configFile = getGeoWaveConfigFile(params); // Attempt to load input store. final StoreLoader inputStoreLoader = new StoreLoader(inputStoreName); if (!inputStoreLoader.loadFromConfig(configFile)) { throw new ParameterException("Cannot find store name: " + inputStoreLoader.getStoreName()); } inputStoreOptions = inputStoreLoader.getDataStorePlugin(); final String[] typeNames = inputStoreOptions.createInternalAdapterStore().getTypeNames(); final StringBuffer buffer = new StringBuffer(); for (final String typeName : typeNames) { buffer.append(typeName).append(' '); } return buffer.toString(); } }