Skip to content
Snippets Groups Projects
  • Clemens Lieb's avatar
    2218649a
    [core] changes to enable folding YCSB-TS back into YCSB (#1095) · 2218649a
    Clemens Lieb authored
    * [core] Drop JDK 7 Support
    
    Sets compiler target to 1.8
    Additionally removes openjdk7 from travis build-matrix
    Fixes #1033
    
    Additionally includes lexicographic reordering of binding-dependency properties in root pom
    
    * [core] introduce baseclass for timeseries database bindings
    
    This base-class parses the queries generated by TimeSeriesWorkload into a format
    that's usable for simple consumption.
    The format has been defined through the work done by Andreas Bader (@baderas) in
    https://github.com/TSDBBench/YCSB-TS.
    
    * [core] parse debug and test properties for all Timeseries databases
    
    * [core] Add method to define possible tagKeys for Timeseries Workloads
    
    Some TimeSeries Databases require a "schema" up front.
    To generate said schema, the tag keys used by the workload are required.
    This method should be centrally available for maintainability
    
    * [core] Provide default implementation for  operation
    
    TimeSeries databases only rarely support deleting data. As such we can generally assume
    the operation to always return a Status.NOT_IMPLEMENTED. Similarly to updating that trivial
    implementation does not need to be repeated in every TimeSeriesDatabase implementation
    
    * [core] Address review
    
    This adds a copyright header and significant amounts of javadoc for TimeseriesDB
    Furthermore occurrences of Long have been largely replaced with the primitive long
    Finally an overload for signed integer values has been added for insertions
    2218649a
    History
    [core] changes to enable folding YCSB-TS back into YCSB (#1095)
    Clemens Lieb authored
    * [core] Drop JDK 7 Support
    
    Sets compiler target to 1.8
    Additionally removes openjdk7 from travis build-matrix
    Fixes #1033
    
    Additionally includes lexicographic reordering of binding-dependency properties in root pom
    
    * [core] introduce baseclass for timeseries database bindings
    
    This base-class parses the queries generated by TimeSeriesWorkload into a format
    that's usable for simple consumption.
    The format has been defined through the work done by Andreas Bader (@baderas) in
    https://github.com/TSDBBench/YCSB-TS.
    
    * [core] parse debug and test properties for all Timeseries databases
    
    * [core] Add method to define possible tagKeys for Timeseries Workloads
    
    Some TimeSeries Databases require a "schema" up front.
    To generate said schema, the tag keys used by the workload are required.
    This method should be centrally available for maintainability
    
    * [core] Provide default implementation for  operation
    
    TimeSeries databases only rarely support deleting data. As such we can generally assume
    the operation to always return a Status.NOT_IMPLEMENTED. Similarly to updating that trivial
    implementation does not need to be repeated in every TimeSeriesDatabase implementation
    
    * [core] Address review
    
    This adds a copyright header and significant amounts of javadoc for TimeseriesDB
    Furthermore occurrences of Long have been largely replaced with the primitive long
    Finally an overload for signed integer values has been added for insertions
checkstyle.xml 7.37 KiB
<?xml version="1.0"?>
<!-- 
Copyright (c) 2012 - 2016 YCSB contributors. All rights reserved.

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. See accompanying
LICENSE file.
-->

<!DOCTYPE module PUBLIC
    "-//Puppy Crawl//DTD Check Configuration 1.2//EN"
    "http://www.puppycrawl.com/dtds/configuration_1_2.dtd">

<!--

  Checkstyle configuration for Hadoop that is based on the sun_checks.xml file
  that is bundled with Checkstyle and includes checks for:

    - the Java Language Specification at
      http://java.sun.com/docs/books/jls/second_edition/html/index.html

    - the Sun Code Conventions at http://java.sun.com/docs/codeconv/

    - the Javadoc guidelines at
      http://java.sun.com/j2se/javadoc/writingdoccomments/index.html

    - the JDK Api documentation http://java.sun.com/j2se/docs/api/index.html

    - some best practices

  Checkstyle is very configurable. Be sure to read the documentation at
  http://checkstyle.sf.net (or in your downloaded distribution).

  Most Checks are configurable, be sure to consult the documentation.

  To completely disable a check, just comment it out or delete it from the file.

  Finally, it is worth reading the documentation.

-->

<module name="Checker">

    <!-- Checks that a package.html file exists for each package.     -->
    <!-- See http://checkstyle.sf.net/config_javadoc.html#PackageHtml -->
    <module name="JavadocPackage"/>

    <!-- Checks whether files end with a new line.                        -->
    <!-- See http://checkstyle.sf.net/config_misc.html#NewlineAtEndOfFile -->
    <!-- module name="NewlineAtEndOfFile"/-->

    <!-- Checks that property files contain the same keys.         -->
    <!-- See http://checkstyle.sf.net/config_misc.html#Translation -->
    <module name="Translation"/>

    <module name="FileLength"/>
    <module name="FileTabCharacter"/>

    <module name="TreeWalker">

        <!-- Checks for Javadoc comments.                     -->
        <!-- See http://checkstyle.sf.net/config_javadoc.html -->
        <module name="JavadocType">
          <property name="scope" value="public"/>
          <property name="allowMissingParamTags" value="true"/>
          <!-- unfortunately we cannot add implNote, implSpec, apiNote and apiSpec to checkstyle -->
          <property name="allowUnknownTags" value="true"/>
        </module>
        <module name="JavadocStyle"/>

        <!-- Checks for Naming Conventions.                  -->
        <!-- See http://checkstyle.sf.net/config_naming.html -->
        <module name="ConstantName"/>
        <module name="LocalFinalVariableName"/>
        <module name="LocalVariableName"/>
        <module name="MemberName"/>
        <module name="MethodName"/>
        <module name="PackageName"/>
        <module name="ParameterName"/>
        <module name="StaticVariableName"/>
        <module name="TypeName"/>


        <!-- Checks for Headers                                -->
        <!-- See http://checkstyle.sf.net/config_header.html   -->
        <!-- <module name="Header">                            -->
            <!-- The follow property value demonstrates the ability     -->
            <!-- to have access to ANT properties. In this case it uses -->
            <!-- the ${basedir} property to allow Checkstyle to be run  -->
            <!-- from any directory within a project. See property      -->
            <!-- expansion,                                             -->
            <!-- http://checkstyle.sf.net/config.html#properties        -->
            <!-- <property                                              -->
            <!--     name="headerFile"                                  -->
            <!--     value="${basedir}/java.header"/>                   -->
        <!-- </module> -->

        <!-- Following interprets the header file as regular expressions. -->
        <!-- <module name="RegexpHeader"/>                                -->


        <!-- Checks for imports                              -->
        <!-- See http://checkstyle.sf.net/config_import.html -->
        <module name="IllegalImport"/> <!-- defaults to sun.* packages -->
        <module name="RedundantImport"/>
        <module name="UnusedImports"/>


        <!-- Checks for Size Violations.                    -->
        <!-- See http://checkstyle.sf.net/config_sizes.html -->
        <module name="LineLength">
            <property name="max" value="120"/>
        </module>
        <module name="MethodLength"/>
        <module name="ParameterNumber"/>


        <!-- Checks for whitespace                               -->
        <!-- See http://checkstyle.sf.net/config_whitespace.html -->
        <module name="EmptyForIteratorPad"/>
        <module name="MethodParamPad"/>
        <module name="NoWhitespaceAfter"/>
        <module name="NoWhitespaceBefore"/>
        <module name="ParenPad"/>
        <module name="TypecastParenPad"/>
        <module name="WhitespaceAfter">
	    	<property name="tokens" value="COMMA, SEMI"/>
		</module>


        <!-- Modifier Checks                                    -->
        <!-- See http://checkstyle.sf.net/config_modifiers.html -->
        <module name="ModifierOrder"/>
        <module name="RedundantModifier"/>


        <!-- Checks for blocks. You know, those {}'s         -->
        <!-- See http://checkstyle.sf.net/config_blocks.html -->
        <module name="AvoidNestedBlocks"/>
        <module name="EmptyBlock">
          <property name="option" value="text"/>
        </module>
        <module name="LeftCurly"/>
        <module name="NeedBraces"/>
        <module name="RightCurly"/>


        <!-- Checks for common coding problems               -->
        <!-- See http://checkstyle.sf.net/config_coding.html -->
        <!-- module name="AvoidInlineConditionals"/-->
        <module name="EmptyStatement"/>
        <module name="EqualsHashCode"/>
        <module name="HiddenField">
          <property name="ignoreConstructorParameter" value="true"/>
        </module>
        <module name="IllegalInstantiation"/>
        <module name="InnerAssignment"/>
        <module name="MissingSwitchDefault"/>
        <module name="SimplifyBooleanExpression"/>
        <module name="SimplifyBooleanReturn"/>

        <!-- Checks for class design                         -->
        <!-- See http://checkstyle.sf.net/config_design.html -->
        <module name="FinalClass"/>
        <module name="HideUtilityClassConstructor"/>
        <module name="InterfaceIsType"/>
        <module name="VisibilityModifier">
          <property name="protectedAllowed" value="true"/>
        </module>


        <!-- Miscellaneous other checks.                   -->
        <!-- See http://checkstyle.sf.net/config_misc.html -->
        <module name="ArrayTypeStyle"/>
        <module name="Indentation">
            <property name="basicOffset" value="2" />
            <property name="caseIndent" value="0" />
        </module> 
        <!-- <module name="TodoComment"/> -->
        <module name="UpperEll"/>

    </module>

</module>