Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
Copyright 2013 Cloudera Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
 
 package org.kitesdk.maven.plugins;
 
 
 import java.io.File;
 
Update a dataset's schema.
 
 @Mojo(name = "update-dataset", requiresProject = false, requiresDependencyResolution = .)
 public class UpdateDatasetMojo extends AbstractDatasetMojo {
 
   private static final Logger LOG = LoggerFactory
       .getLogger(UpdateDatasetMojo.class);

  
The name of the dataset to update. Ignored if kite.uri is set.
 
   @Parameter(property = "kite.datasetNamespace", defaultValue = "default")
   private String datasetNamespace;

  
The name of the dataset to update. Ignored if kite.uri is set.
 
   @Parameter(property = "kite.datasetName")
   private String datasetName;

  
The file containing the Avro schema. If no file with the specified name is found on the local filesystem, then the classpath is searched for a matching resource. One of either this property or kite.avroSchemaReflectClass must be specified.
 
   @Parameter(property = "kite.avroSchemaFile")
   private String avroSchemaFile;

  
The fully-qualified classname of the Avro reflect class to use to generate a schema. The class must be available on the classpath. One of either this property or kite.avroSchemaFile must be specified.
 
   @Parameter(property = "kite.avroSchemaReflectClass")
 
   @Parameter(property = "kite.columnDescriptorFile")
 
   @Override
   public void execute() throws MojoExecutionExceptionMojoFailureException {
     if ( == null &&  == null) {
       throw new IllegalArgumentException("One of kite.avroSchemaFile or "
           + "kite.avroSchemaReflectClass must be specified");
     }
 
     DatasetDescriptor descriptor;
     if ( != null) {
       descriptor = Datasets.load().getDataset().getDescriptor();
     } else {
       .warn(
           "kite.datasetName is deprecated, instead use kite.uri=<dataset-uri>");
       Preconditions.checkArgument( != null,
           "kite.datasetName is required if kite.uri is not used");
       DatasetRepository repo = getDatasetRepository();
       descriptor = repo.load().getDescriptor();
     }
 
     DatasetDescriptor.Builder descriptorBuilder = new DatasetDescriptor.Builder(
         descriptor);
     configureSchema(descriptorBuilder);
 
    if ( != null) {
      File columnDescriptor = new File();
      try {
        if (columnDescriptor.exists()) {
          descriptorBuilder.columnMapping(columnDescriptor);
        } else {
          descriptorBuilder.columnMapping(Resources.getResource(
              ).openStream());
        }
      } catch (IOException e) {
        throw new MojoExecutionException("Problem while reading file "
            + e);
      }
    }
    if ( != null) {
      Datasets.update(descriptorBuilder.build());
    } else {
      // datasetName is checked above
      repo.update(descriptorBuilder.build());
    }
  }
New to GrepCode? Check out our FAQ X