Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you 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.apache.hadoop.hbase.constraint;
Processes multiple Constraints on a given table.

This is an ease of use mechanism - all the functionality here could be implemented on any given system by a coprocessor.

public class ConstraintProcessor extends BaseRegionObserver {
  private static final Log LOG = LogFactory.getLog(ConstraintProcessor.class);
  private final ClassLoader classloader;
  private List<? extends Constraintconstraints = new ArrayList<Constraint>();

  
Create the constraint processor.

Stores the current classloader.

  public ConstraintProcessor() {
     = this.getClass().getClassLoader();
  }
  public void start(CoprocessorEnvironment environment) {
    // make sure we are on a region server
    if (!(environment instanceof RegionCoprocessorEnvironment)) {
      throw new IllegalArgumentException(
          "Constraints only act on regions - started in an environment that was not a region");
    }
    HTableDescriptor desc = env.getRegion().getTableDesc();
    // load all the constraints from the HTD
    try {
      this. = Constraints.getConstraints(desc);
    } catch (IOException e) {
      throw new IllegalArgumentException(e);
    }
    if (.isInfoEnabled()) {
      .info("Finished loading " + .size()
          + " user Constraints on table: " + desc.getTableName());
    }
  }
      WALEdit editDurability durabilitythrows IOException {
    // check the put against the stored constraints
    for (Constraint c : ) {
      c.check(put);
    }
    // if we made it here, then the Put is valid
  }
New to GrepCode? Check out our FAQ X