@Override public Map<String, DatasetCreationSpec> getDatasets() { return delegate.getDatasets(); }
@Override public Map<String, DatasetCreationSpec> getDatasets() { return delegate.getDatasets(); }
@Override public JsonElement serialize(ApplicationSpecification src, Type typeOfSrc, JsonSerializationContext context) { JsonObject jsonObj = new JsonObject(); jsonObj.add("name", new JsonPrimitive(src.getName())); jsonObj.add("appVersion", new JsonPrimitive(src.getAppVersion())); if (src.getConfiguration() != null) { jsonObj.add("configuration", new JsonPrimitive(src.getConfiguration())); } jsonObj.add("artifactId", context.serialize(src.getArtifactId())); jsonObj.add("description", new JsonPrimitive(src.getDescription())); jsonObj.add("datasetModules", serializeMap(src.getDatasetModules(), context, String.class)); jsonObj.add("datasetInstances", serializeMap(src.getDatasets(), context, DatasetCreationSpec.class)); jsonObj.add("mapReduces", serializeMap(src.getMapReduce(), context, MapReduceSpecification.class)); jsonObj.add("sparks", serializeMap(src.getSpark(), context, SparkSpecification.class)); jsonObj.add("workflows", serializeMap(src.getWorkflows(), context, WorkflowSpecification.class)); jsonObj.add("services", serializeMap(src.getServices(), context, ServiceSpecification.class)); jsonObj.add("programSchedules", serializeMap(src.getProgramSchedules(), context, ScheduleCreationSpec.class)); jsonObj.add("workers", serializeMap(src.getWorkers(), context, WorkerSpecification.class)); jsonObj.add("plugins", serializeMap(src.getPlugins(), context, Plugin.class)); return jsonObj; }
@Override public JsonElement serialize(ApplicationSpecification src, Type typeOfSrc, JsonSerializationContext context) { JsonObject jsonObj = new JsonObject(); jsonObj.add("name", new JsonPrimitive(src.getName())); jsonObj.add("appVersion", new JsonPrimitive(src.getAppVersion())); if (src.getConfiguration() != null) { jsonObj.add("configuration", new JsonPrimitive(src.getConfiguration())); } jsonObj.add("artifactId", context.serialize(src.getArtifactId())); jsonObj.add("description", new JsonPrimitive(src.getDescription())); jsonObj.add("streams", serializeMap(src.getStreams(), context, StreamSpecification.class)); jsonObj.add("datasetModules", serializeMap(src.getDatasetModules(), context, String.class)); jsonObj.add("datasetInstances", serializeMap(src.getDatasets(), context, DatasetCreationSpec.class)); jsonObj.add("flows", serializeMap(src.getFlows(), context, FlowSpecification.class)); jsonObj.add("mapReduces", serializeMap(src.getMapReduce(), context, MapReduceSpecification.class)); jsonObj.add("sparks", serializeMap(src.getSpark(), context, SparkSpecification.class)); jsonObj.add("workflows", serializeMap(src.getWorkflows(), context, WorkflowSpecification.class)); jsonObj.add("services", serializeMap(src.getServices(), context, ServiceSpecification.class)); jsonObj.add("programSchedules", serializeMap(src.getProgramSchedules(), context, ScheduleCreationSpec.class)); jsonObj.add("workers", serializeMap(src.getWorkers(), context, WorkerSpecification.class)); jsonObj.add("plugins", serializeMap(src.getPlugins(), context, Plugin.class)); return jsonObj; }
for (DatasetCreationSpec dataSetCreateSpec : specification.getDatasets().values()) { result = getVerifier(DatasetCreationSpec.class).verify(appId, dataSetCreateSpec); if (!result.isSuccess()) {
for (DatasetCreationSpec datasetSpec : spec.getDatasets().values()) { datasets.add(new DatasetDetail(datasetSpec.getInstanceName(), datasetSpec.getTypeName()));
for (DatasetCreationSpec datasetSpec : spec.getDatasets().values()) { datasets.add(new DatasetDetail(datasetSpec.getInstanceName(), datasetSpec.getTypeName()));
/** * Receives an input containing application specification and location * and verifies both. * * @param input An instance of {@link ApplicationDeployable} */ @Override public void process(ApplicationDeployable input) throws Exception { // create dataset instances ApplicationSpecification specification = input.getSpecification(); NamespaceId namespaceId = input.getApplicationId().getParent(); KerberosPrincipalId ownerPrincipal = input.getOwnerPrincipal(); // get the authorizing user String authorizingUser = AuthorizationUtil.getAppAuthorizingUser(ownerAdmin, authenticationContext, input.getApplicationId(), ownerPrincipal); datasetInstanceCreator.createInstances(namespaceId, specification.getDatasets(), ownerPrincipal, authorizingUser); // Emit the input to next stage. emit(input); } }
/** * Receives an input containing application specification and location * and verifies both. * * @param input An instance of {@link ApplicationDeployable} */ @Override public void process(ApplicationDeployable input) throws Exception { // create dataset instances ApplicationSpecification specification = input.getSpecification(); NamespaceId namespaceId = input.getApplicationId().getParent(); KerberosPrincipalId ownerPrincipal = input.getOwnerPrincipal(); // get the authorizing user String authorizingUser = AuthorizationUtil.getAppAuthorizingUser(ownerAdmin, authenticationContext, input.getApplicationId(), ownerPrincipal); datasetInstanceCreator.createInstances(namespaceId, specification.getDatasets(), ownerPrincipal, authorizingUser); // Emit the input to next stage. emit(input); } }
for (DatasetCreationSpec dataSetCreateSpec : specification.getDatasets().values()) { result = getVerifier(DatasetCreationSpec.class).verify(appId, dataSetCreateSpec); if (!result.isSuccess()) {
for (String dataset : spec.getDatasets().keySet()) { expectedCreateEntities.add(NamespaceId.DEFAULT.dataset(dataset));
Assert.assertEquals(spec.getDatasets().size(), datasets.size()); Assert.assertTrue( StreamSupport.stream(datasets.spliterator(), false) .map(JsonObject.class::cast) .map(obj -> obj.get("name").getAsString()) .allMatch(dataset -> spec.getDatasets().containsKey(dataset)) );
ApplicationSpecification specification = adapter.fromJson(response.getResponse()); Assert.assertNotNull(specification); Assert.assertEquals(1, specification.getDatasets().size()); Assert.assertTrue(specification.getDatasets().containsKey("myTable")); Assert.assertEquals(1, specification.getDatasets().size()); Assert.assertTrue(specification.getDatasets().containsKey(ConfigTestApp.DEFAULT_TABLE)); Assert.assertNotNull(specification.getProgramSchedules().get(ConfigTestApp.SCHEDULE_NAME));
Assert.assertEquals(expectedSpec.getProgramsByType(programType), specification.getProgramsByType(programType)); Assert.assertEquals(expectedSpec.getDatasets(), specification.getDatasets());