mirror of
https://github.com/apache/druid.git
synced 2025-02-07 02:28:19 +00:00
* Fix timestamp extract fn to match postgres Update the timestamp extract function so that it matches the PostgreSQL docs. Examples from the PostgreSQL docs were added as tests for DECADE, CENTURY and MILLENIUM extraction. There were bugs in CENTURY and MILLENIUM that were spotted because of intelliJ inspections - 'Integer division in floating point context' * Update CalciteQueryTest * remove useless round * mark integer division as an error
473 lines
42 KiB
XML
473 lines
42 KiB
XML
<component name="InspectionProjectProfileManager">
|
|
<profile version="1.0">
|
|
<option name="myName" value="Druid" />
|
|
<inspection_tool class="AccessStaticViaInstance" enabled="true" level="ERROR" enabled_by_default="true" />
|
|
<inspection_tool class="Annotator" enabled="true" level="WARNING" enabled_by_default="true" />
|
|
<inspection_tool class="AntDuplicateTargetsInspection" enabled="true" level="WARNING" enabled_by_default="true" />
|
|
<inspection_tool class="AntMissingPropertiesFileInspection" enabled="true" level="WARNING" enabled_by_default="true" />
|
|
<inspection_tool class="AntResolveInspection" enabled="true" level="WARNING" enabled_by_default="true" />
|
|
<inspection_tool class="ArrayEquality" enabled="true" level="ERROR" enabled_by_default="true" />
|
|
<inspection_tool class="ArrayEquals" enabled="true" level="ERROR" enabled_by_default="true" />
|
|
<inspection_tool class="ArrayHashCode" enabled="true" level="ERROR" enabled_by_default="true" />
|
|
<inspection_tool class="ArrayObjectsEquals" enabled="true" level="ERROR" enabled_by_default="true" />
|
|
<inspection_tool class="ArraysAsListWithZeroOrOneArgument" enabled="true" level="ERROR" enabled_by_default="true" />
|
|
<inspection_tool class="AssertWithSideEffects" enabled="true" level="ERROR" enabled_by_default="true" />
|
|
<inspection_tool class="BoxingBoxedValue" enabled="true" level="ERROR" enabled_by_default="true" />
|
|
<inspection_tool class="CStyleArrayDeclaration" enabled="true" level="ERROR" enabled_by_default="true" />
|
|
<inspection_tool class="CapturingCleaner" enabled="true" level="ERROR" enabled_by_default="true" />
|
|
<inspection_tool class="CastConflictsWithInstanceof" enabled="true" level="ERROR" enabled_by_default="true" />
|
|
<inspection_tool class="CastToIncompatibleInterface" enabled="true" level="ERROR" enabled_by_default="true" />
|
|
<inspection_tool class="CatchMayIgnoreException" enabled="true" level="WARNING" enabled_by_default="true">
|
|
<option name="m_ignoreCatchBlocksWithComments" value="false" />
|
|
</inspection_tool>
|
|
<inspection_tool class="CheckDtdRefs" enabled="true" level="Non-TeamCity Error" enabled_by_default="true" />
|
|
<inspection_tool class="CheckValidXmlInScriptTagBody" enabled="true" level="WARNING" enabled_by_default="true" />
|
|
<inspection_tool class="CheckXmlFileWithXercesValidator" enabled="true" level="Non-TeamCity Error" enabled_by_default="true" />
|
|
<inspection_tool class="ClassGetClass" enabled="true" level="ERROR" enabled_by_default="true" />
|
|
<inspection_tool class="ClassInitializerMayBeStatic" enabled="true" level="ERROR" enabled_by_default="true" />
|
|
<inspection_tool class="ClassNewInstance" enabled="true" level="WARNING" enabled_by_default="true" />
|
|
<inspection_tool class="CollectionAddedToSelf" enabled="true" level="ERROR" enabled_by_default="true" />
|
|
<inspection_tool class="ComparableImplementedButEqualsNotOverridden" enabled="true" level="WARNING" enabled_by_default="true" />
|
|
<inspection_tool class="ComparatorMethodParameterNotUsed" enabled="true" level="ERROR" enabled_by_default="true" />
|
|
<inspection_tool class="ComparatorResultComparison" enabled="true" level="ERROR" enabled_by_default="true" />
|
|
<inspection_tool class="CompareToUsesNonFinalVariable" enabled="true" level="ERROR" enabled_by_default="true" />
|
|
<inspection_tool class="ConstantAssertCondition" enabled="true" level="ERROR" enabled_by_default="true" />
|
|
<inspection_tool class="ConstantConditions" enabled="true" level="WARNING" enabled_by_default="true">
|
|
<option name="SUGGEST_NULLABLE_ANNOTATIONS" value="false" />
|
|
<option name="DONT_REPORT_TRUE_ASSERT_STATEMENTS" value="true" />
|
|
</inspection_tool>
|
|
<inspection_tool class="Contract" enabled="true" level="ERROR" enabled_by_default="true" />
|
|
<inspection_tool class="CopyConstructorMissesField" enabled="true" level="ERROR" enabled_by_default="true" />
|
|
<inspection_tool class="CovariantEquals" enabled="true" level="ERROR" enabled_by_default="true" />
|
|
<inspection_tool class="DuplicateBooleanBranch" enabled="true" level="ERROR" enabled_by_default="true" />
|
|
<inspection_tool class="DuplicateCondition" enabled="true" level="ERROR" enabled_by_default="true">
|
|
<option name="ignoreSideEffectConditions" value="true" />
|
|
</inspection_tool>
|
|
<inspection_tool class="DuplicateThrows" enabled="true" level="ERROR" enabled_by_default="true" />
|
|
<inspection_tool class="EmptyInitializer" enabled="true" level="ERROR" enabled_by_default="true" />
|
|
<inspection_tool class="EmptyStatementBody" enabled="true" level="WARNING" enabled_by_default="true">
|
|
<option name="m_reportEmptyBlocks" value="true" />
|
|
<option name="commentsAreContent" value="true" />
|
|
</inspection_tool>
|
|
<inspection_tool class="EndlessStream" enabled="true" level="ERROR" enabled_by_default="true" />
|
|
<inspection_tool class="EqualsAndHashcode" enabled="true" level="WARNING" enabled_by_default="true" />
|
|
<inspection_tool class="EqualsBetweenInconvertibleTypes" enabled="true" level="ERROR" enabled_by_default="true" />
|
|
<inspection_tool class="EqualsOnSuspiciousObject" enabled="true" level="ERROR" enabled_by_default="true" />
|
|
<inspection_tool class="EqualsUsesNonFinalVariable" enabled="true" level="WARNING" enabled_by_default="true" />
|
|
<inspection_tool class="EqualsWhichDoesntCheckParameterClass" enabled="true" level="ERROR" enabled_by_default="true" />
|
|
<inspection_tool class="EqualsWithItself" enabled="true" level="ERROR" enabled_by_default="true" />
|
|
<inspection_tool class="FieldAccessNotGuarded" enabled="true" level="ERROR" enabled_by_default="true" />
|
|
<inspection_tool class="FieldCanBeLocal" enabled="true" level="WARNING" enabled_by_default="true">
|
|
<option name="EXCLUDE_ANNOS">
|
|
<value>
|
|
<list size="1">
|
|
<item index="0" class="java.lang.String" itemvalue="com.fasterxml.jackson.annotation.JsonProperty" />
|
|
</list>
|
|
</value>
|
|
</option>
|
|
<option name="IGNORE_FIELDS_USED_IN_MULTIPLE_METHODS" value="true" />
|
|
</inspection_tool>
|
|
<inspection_tool class="FieldMayBeFinal" enabled="true" level="WARNING" enabled_by_default="true" />
|
|
<inspection_tool class="FinalStaticMethod" enabled="true" level="ERROR" enabled_by_default="true" />
|
|
<inspection_tool class="FlowJSError" enabled="false" level="Non-TeamCity Error" enabled_by_default="false" />
|
|
<inspection_tool class="ForCanBeForeach" enabled="true" level="WARNING" enabled_by_default="true">
|
|
<scope name="NonGeneratedFiles" level="ERROR" enabled="true">
|
|
<option name="REPORT_INDEXED_LOOP" value="true" />
|
|
<option name="ignoreUntypedCollections" value="false" />
|
|
</scope>
|
|
<option name="REPORT_INDEXED_LOOP" value="true" />
|
|
<option name="ignoreUntypedCollections" value="false" />
|
|
</inspection_tool>
|
|
<inspection_tool class="ForLoopThatDoesntUseLoopVariable" enabled="true" level="ERROR" enabled_by_default="true" />
|
|
<inspection_tool class="Guava" enabled="false" level="WARNING" enabled_by_default="false" />
|
|
<inspection_tool class="HashCodeUsesNonFinalVariable" enabled="true" level="WARNING" enabled_by_default="true" />
|
|
<inspection_tool class="ImplicitArrayToString" enabled="true" level="ERROR" enabled_by_default="true" />
|
|
<inspection_tool class="IndexOfReplaceableByContains" enabled="true" level="ERROR" enabled_by_default="true" />
|
|
<inspection_tool class="InfiniteRecursion" enabled="true" level="ERROR" enabled_by_default="true" />
|
|
<inspection_tool class="InjectedReferences" enabled="true" level="WARNING" enabled_by_default="true" />
|
|
<inspection_tool class="InnerClassMayBeStatic" enabled="true" level="ERROR" enabled_by_default="true" />
|
|
<inspection_tool class="InnerClassReferencedViaSubclass" enabled="true" level="ERROR" enabled_by_default="true" />
|
|
<inspection_tool class="InstanceofIncompatibleInterface" enabled="true" level="ERROR" enabled_by_default="true" />
|
|
<inspection_tool class="InstantiationOfUtilityClass" enabled="true" level="ERROR" enabled_by_default="true" />
|
|
<inspection_tool class="IntegerDivisionInFloatingPointContext" enabled="true" level="ERROR" enabled_by_default="true" />
|
|
<inspection_tool class="InvalidComparatorMethodReference" enabled="true" level="ERROR" enabled_by_default="true" />
|
|
<inspection_tool class="IteratorHasNextCallsIteratorNext" enabled="true" level="ERROR" enabled_by_default="true" />
|
|
<inspection_tool class="IteratorNextDoesNotThrowNoSuchElementException" enabled="true" level="WARNING" enabled_by_default="true" />
|
|
<inspection_tool class="JSAnnotator" enabled="true" level="Non-TeamCity Error" enabled_by_default="true" />
|
|
<inspection_tool class="JSHint" enabled="false" level="Non-TeamCity Error" enabled_by_default="false" />
|
|
<inspection_tool class="JSLint" enabled="false" level="Non-TeamCity Error" enabled_by_default="false" />
|
|
<inspection_tool class="JSRedeclarationOfBlockScope" enabled="true" level="Non-TeamCity Error" enabled_by_default="true" />
|
|
<inspection_tool class="JSReferencingArgumentsOutsideOfFunction" enabled="true" level="Non-TeamCity Error" enabled_by_default="true" />
|
|
<inspection_tool class="Java8MapForEach" enabled="true" level="ERROR" enabled_by_default="true" />
|
|
<inspection_tool class="JavadocReference" enabled="true" level="ERROR" enabled_by_default="true">
|
|
<option name="REPORT_INACCESSIBLE" value="false" />
|
|
</inspection_tool>
|
|
<inspection_tool class="Jscs" enabled="false" level="Non-TeamCity Error" enabled_by_default="false" />
|
|
<inspection_tool class="JsonDuplicatePropertyKeys" enabled="true" level="ERROR" enabled_by_default="true" />
|
|
<inspection_tool class="JsonStandardCompliance" enabled="true" level="WARNING" enabled_by_default="true" />
|
|
<inspection_tool class="LengthOneStringInIndexOf" enabled="true" level="ERROR" enabled_by_default="true" />
|
|
<inspection_tool class="ListIndexOfReplaceableByContains" enabled="true" level="ERROR" enabled_by_default="true" />
|
|
<inspection_tool class="MalformedFormatString" enabled="true" level="ERROR" enabled_by_default="true">
|
|
<option name="additionalClasses" value="org.apache.druid.java.util.common.StringUtils,org.apache.druid.java.util.common.logger.Logger" />
|
|
<option name="additionalMethods" value="trace,debug,info,warn,error,wtf,format,nonStrictFormat" />
|
|
</inspection_tool>
|
|
<inspection_tool class="MalformedRegex" enabled="true" level="ERROR" enabled_by_default="true" />
|
|
<inspection_tool class="MathRandomCastToInt" enabled="true" level="ERROR" enabled_by_default="true" />
|
|
<inspection_tool class="MavenDuplicateDependenciesInspection" enabled="true" level="ERROR" enabled_by_default="true" />
|
|
<inspection_tool class="MavenDuplicatePluginInspection" enabled="true" level="ERROR" enabled_by_default="true" />
|
|
<inspection_tool class="MavenModelInspection" enabled="true" level="WARNING" enabled_by_default="true" />
|
|
<inspection_tool class="MethodComplexity" enabled="false" level="WARNING" enabled_by_default="false" />
|
|
<inspection_tool class="MismatchedArrayReadWrite" enabled="true" level="ERROR" enabled_by_default="true" />
|
|
<inspection_tool class="MismatchedCollectionQueryUpdate" enabled="true" level="ERROR" enabled_by_default="true">
|
|
<option name="queryNames">
|
|
<value />
|
|
</option>
|
|
<option name="updateNames">
|
|
<value />
|
|
</option>
|
|
<option name="ignoredClasses">
|
|
<value />
|
|
</option>
|
|
</inspection_tool>
|
|
<inspection_tool class="MismatchedStringBuilderQueryUpdate" enabled="true" level="ERROR" enabled_by_default="true" />
|
|
<inspection_tool class="MissingOverrideAnnotation" enabled="true" level="WARNING" enabled_by_default="true">
|
|
<scope name="NonGeneratedFiles" level="ERROR" enabled="true">
|
|
<option name="ignoreObjectMethods" value="false" />
|
|
<option name="ignoreAnonymousClassMethods" value="false" />
|
|
</scope>
|
|
<option name="ignoreObjectMethods" value="false" />
|
|
<option name="ignoreAnonymousClassMethods" value="false" />
|
|
</inspection_tool>
|
|
<inspection_tool class="MisspelledEquals" enabled="true" level="ERROR" enabled_by_default="true" />
|
|
<inspection_tool class="NewStringBufferWithCharArgument" enabled="true" level="ERROR" enabled_by_default="true" />
|
|
<inspection_tool class="NonShortCircuitBoolean" enabled="true" level="ERROR" enabled_by_default="true" />
|
|
<inspection_tool class="NullArgumentToVariableArgMethod" enabled="true" level="ERROR" enabled_by_default="true" />
|
|
<inspection_tool class="NumberEquality" enabled="true" level="ERROR" enabled_by_default="true" />
|
|
<inspection_tool class="ObjectEquality" enabled="true" level="WARNING" enabled_by_default="true">
|
|
<option name="m_ignoreEnums" value="true" />
|
|
<option name="m_ignoreClassObjects" value="true" />
|
|
<option name="m_ignorePrivateConstructors" value="false" />
|
|
</inspection_tool>
|
|
<inspection_tool class="ObjectEqualsNull" enabled="true" level="ERROR" enabled_by_default="true" />
|
|
<inspection_tool class="ObjectToString" enabled="true" level="ERROR" enabled_by_default="true" />
|
|
<inspection_tool class="OverwrittenKey" enabled="true" level="ERROR" enabled_by_default="true" />
|
|
<inspection_tool class="PointlessIndexOfComparison" enabled="true" level="ERROR" enabled_by_default="true" />
|
|
<inspection_tool class="PrimitiveArrayArgumentToVariableArgMethod" enabled="true" level="ERROR" enabled_by_default="true" />
|
|
<inspection_tool class="RedundantStringOperation" enabled="true" level="ERROR" enabled_by_default="true" />
|
|
<inspection_tool class="RedundantThrows" enabled="true" level="ERROR" enabled_by_default="true" />
|
|
<inspection_tool class="RedundantTypeArguments" enabled="true" level="ERROR" enabled_by_default="true" />
|
|
<inspection_tool class="ReflectionForUnavailableAnnotation" enabled="true" level="ERROR" enabled_by_default="true" />
|
|
<inspection_tool class="RegExpRedundantEscape" enabled="true" level="ERROR" enabled_by_default="true" />
|
|
<inspection_tool class="RemoveToStringInStringTemplate" enabled="true" level="WARNING" enabled_by_default="true" />
|
|
<inspection_tool class="ReplaceAllDot" enabled="true" level="ERROR" enabled_by_default="true" />
|
|
<inspection_tool class="ReplaceInefficientStreamCount" enabled="true" level="ERROR" enabled_by_default="true" />
|
|
<inspection_tool class="ResultOfObjectAllocationIgnored" enabled="true" level="WARNING" enabled_by_default="true">
|
|
<scope name="Production" level="ERROR" enabled="true" />
|
|
</inspection_tool>
|
|
<inspection_tool class="ResultSetIndexZero" enabled="true" level="ERROR" enabled_by_default="true" />
|
|
<inspection_tool class="ReturnNull" enabled="true" level="WARNING" enabled_by_default="true">
|
|
<option name="m_reportObjectMethods" value="true" />
|
|
<option name="m_reportArrayMethods" value="true" />
|
|
<option name="m_reportCollectionMethods" value="true" />
|
|
<option name="m_ignorePrivateMethods" value="false" />
|
|
</inspection_tool>
|
|
<inspection_tool class="SSBasedInspection" enabled="true" level="ERROR" enabled_by_default="true">
|
|
<searchConfiguration name="Suboptimal IndexedInts iteration" text="$x$ < $y$.size()" recursive="false" caseInsensitive="true" type="JAVA">
|
|
<constraint name="__context__" target="true" within="" contains="" />
|
|
<constraint name="x" within="" contains="" />
|
|
<constraint name="y" nameOfExprType="IndexedInts" exprTypeWithinHierarchy="true" within="" contains="" />
|
|
</searchConfiguration>
|
|
<searchConfiguration name="Lists.newArrayList() with a single argument. Use Collections.singletonList() instead" created="1532737126203" text="Lists.newArrayList($x$)" recursive="false" caseInsensitive="true" type="JAVA">
|
|
<constraint name="x" nameOfExprType="java\.lang\.Iterable|java\.util\.Iterator|Object\[\]" expressionTypes="java.lang.Iterable|java.util.Iterator|Object[]" exprTypeWithinHierarchy="true" negateName="true" negateExprType="true" within="" contains="" />
|
|
<constraint name="__context__" target="true" within="" contains="" />
|
|
</searchConfiguration>
|
|
<searchConfiguration name="Math.abs(rnd.nextInt()) doensn't guarantee positive result. Use nextInt() & Integer.MAX_VALUE or nextInt(Integer.MAX_VALUE)" created="1535067616084" text="$Math$.abs($x$.nextInt())" recursive="false" caseInsensitive="true" type="JAVA">
|
|
<constraint name="__context__" target="true" within="" contains="" />
|
|
<constraint name="x" nameOfFormalType="java\.util\.Random" exceptedTypes="java.util.Random" exprTypeWithinHierarchy="true" formalTypeWithinHierarchy="true" within="" contains="" />
|
|
<constraint name="Math" within="" contains="" />
|
|
</searchConfiguration>
|
|
<searchConfiguration name="Math.abs(rnd.nextLong()) doesn't guarantee positive result. Use nextLong() & Long.MAX_VALUE" created="1535067616084" text="$Math$.abs($x$.nextLong())" recursive="false" caseInsensitive="true" type="JAVA">
|
|
<constraint name="__context__" target="true" within="" contains="" />
|
|
<constraint name="x" nameOfFormalType="java\.util\.Random" exceptedTypes="java.util.Random" exprTypeWithinHierarchy="true" formalTypeWithinHierarchy="true" within="" contains="" />
|
|
<constraint name="Math" within="" contains="" />
|
|
</searchConfiguration>
|
|
<searchConfiguration name="Use nextInt(bound) instead" created="1535068047572" text="$x$.nextInt() % $a$" recursive="false" caseInsensitive="true" type="JAVA">
|
|
<constraint name="__context__" target="true" within="" contains="" />
|
|
<constraint name="x" nameOfFormalType="java\.util\.Random" exceptedTypes="java.util.Random" exprTypeWithinHierarchy="true" formalTypeWithinHierarchy="true" within="" contains="" />
|
|
<constraint name="a" within="" contains="" />
|
|
</searchConfiguration>
|
|
<searchConfiguration name="Use ZKPaths.makePath() with many arguments" created="1537504371779" text="org.apache.curator.utils.ZKPaths.makePath(org.apache.curator.utils.ZKPaths.makePath($x$, $y$), $z$)" recursive="false" caseInsensitive="true" type="JAVA">
|
|
<constraint name="__context__" target="true" within="" contains="" />
|
|
<constraint name="x" within="" contains="" />
|
|
<constraint name="y" within="" contains="" />
|
|
<constraint name="z" within="" contains="" />
|
|
</searchConfiguration>
|
|
<searchConfiguration name="Use RE (a Druid's class)" created="1539352150701" text="new $E$(org.apache.druid.java.util.common.StringUtils.format($x$))" recursive="false" caseInsensitive="true" type="JAVA">
|
|
<constraint name="__context__" target="true" within="" contains="" />
|
|
<constraint name="E" regexp="java\.lang\.RuntimeException" within="" contains="" />
|
|
<constraint name="x" minCount="0" maxCount="2147483647" within="" contains="" />
|
|
</searchConfiguration>
|
|
<searchConfiguration name="Use RE (a Druid's class) with cause" created="1539353059868" text="new $E$(org.apache.druid.java.util.common.StringUtils.format($x$),$y$)" recursive="false" caseInsensitive="true" type="JAVA">
|
|
<constraint name="__context__" target="true" within="" contains="" />
|
|
<constraint name="E" regexp="java\.lang\.RuntimeException" within="" contains="" />
|
|
<constraint name="x" minCount="0" maxCount="2147483647" within="" contains="" />
|
|
<constraint name="y" minCount="0" maxCount="2147483647" within="" contains="" />
|
|
</searchConfiguration>
|
|
<searchConfiguration name="Use ISE (a Druid's class)" created="1539353519594" text="new $E$(org.apache.druid.java.util.common.StringUtils.format($x$))" recursive="false" caseInsensitive="true" type="JAVA">
|
|
<constraint name="__context__" target="true" within="" contains="" />
|
|
<constraint name="E" regexp="java\.lang\.IllegalStateException" within="" contains="" />
|
|
<constraint name="x" minCount="0" maxCount="2147483647" within="" contains="" />
|
|
</searchConfiguration>
|
|
<searchConfiguration name="Use ISE (a Druid's class) with cause" created="1539353595734" text="new $E$(org.apache.druid.java.util.common.StringUtils.format($x$),$y$)" recursive="false" caseInsensitive="true" type="JAVA">
|
|
<constraint name="__context__" target="true" within="" contains="" />
|
|
<constraint name="E" regexp="java\.lang\.IllegalStateException" within="" contains="" />
|
|
<constraint name="x" minCount="0" maxCount="2147483647" within="" contains="" />
|
|
<constraint name="y" minCount="0" maxCount="2147483647" within="" contains="" />
|
|
</searchConfiguration>
|
|
<searchConfiguration name="Use IAE (a Druid's class)" created="1539353691746" text="new $E$(org.apache.druid.java.util.common.StringUtils.format($x$))" recursive="false" caseInsensitive="true" type="JAVA">
|
|
<constraint name="__context__" target="true" within="" contains="" />
|
|
<constraint name="E" regexp="java\.lang\.IllegalArgumentException" within="" contains="" />
|
|
<constraint name="x" minCount="0" maxCount="2147483647" within="" contains="" />
|
|
</searchConfiguration>
|
|
<searchConfiguration name="Use IAE (a Druid's class) with cause" created="1539353766336" text="new $E$(org.apache.druid.java.util.common.StringUtils.format($x$),$y$)" recursive="false" caseInsensitive="true" type="JAVA">
|
|
<constraint name="__context__" target="true" within="" contains="" />
|
|
<constraint name="E" regexp="java\.lang\.IllegalArgumentException" within="" contains="" />
|
|
<constraint name="x" minCount="0" maxCount="2147483647" within="" contains="" />
|
|
<constraint name="y" minCount="0" maxCount="2147483647" within="" contains="" />
|
|
</searchConfiguration>
|
|
<searchConfiguration name="Use IOE (a Druid's class)" created="1539353913074" text="new $E$(org.apache.druid.java.util.common.StringUtils.format($x$))" recursive="false" caseInsensitive="true" type="JAVA">
|
|
<constraint name="__context__" target="true" within="" contains="" />
|
|
<constraint name="E" regexp="java\.io\.IOException" within="" contains="" />
|
|
<constraint name="x" minCount="0" maxCount="2147483647" within="" contains="" />
|
|
</searchConfiguration>
|
|
<searchConfiguration name="Use IOE (a Druid's class) with cause" created="1539354009031" text="new $E$(org.apache.druid.java.util.common.StringUtils.format($x$),$y$)" recursive="false" caseInsensitive="true" type="JAVA">
|
|
<constraint name="__context__" target="true" within="" contains="" />
|
|
<constraint name="E" regexp="java\.io\.IOException" within="" contains="" />
|
|
<constraint name="x" minCount="0" maxCount="2147483647" within="" contains="" />
|
|
<constraint name="y" minCount="0" maxCount="2147483647" within="" contains="" />
|
|
</searchConfiguration>
|
|
<searchConfiguration name="Use UOE (a Druid's class)" created="1539354091201" text="new $E$(org.apache.druid.java.util.common.StringUtils.format($x$))" recursive="false" caseInsensitive="true" type="JAVA">
|
|
<constraint name="__context__" target="true" within="" contains="" />
|
|
<constraint name="E" regexp="java\.lang\.UnsupportedOperationException" within="" contains="" />
|
|
<constraint name="x" minCount="0" maxCount="2147483647" within="" contains="" />
|
|
</searchConfiguration>
|
|
<searchConfiguration name="Use TypeReference<List<...>> instead" created="1539884261626" text="TypeReference<ArrayList<$E$>>" recursive="false" caseInsensitive="true" type="JAVA">
|
|
<constraint name="__context__" target="true" within="" contains="" />
|
|
<constraint name="E" within="" contains="" />
|
|
</searchConfiguration>
|
|
<searchConfiguration name="Use TypeReference<Map<...>> instead" created="1539884261626" text="TypeReference<HashMap<$K$, $V$>>" recursive="false" caseInsensitive="true" type="JAVA">
|
|
<constraint name="__context__" target="true" within="" contains="" />
|
|
<constraint name="K" within="" contains="" />
|
|
<constraint name="V" within="" contains="" />
|
|
</searchConfiguration>
|
|
<searchConfiguration name="Use TypeReference<Set<...>> instead" created="1539884261626" text="TypeReference<HashSet<$E$>>" recursive="false" caseInsensitive="true" type="JAVA">
|
|
<constraint name="__context__" target="true" within="" contains="" />
|
|
<constraint name="E" within="" contains="" />
|
|
</searchConfiguration>
|
|
<searchConfiguration name="Concurrent maps should be assigned into variables of ConcurrentMap type or more specific" text="Map<$K$, $V$> $x$ = $y$;" recursive="true" caseInsensitive="true" type="JAVA">
|
|
<constraint name="__context__" target="true" within="" contains="" />
|
|
<constraint name="K" within="" contains="" />
|
|
<constraint name="V" within="" contains="" />
|
|
<constraint name="x" within="" contains="" />
|
|
<constraint name="y" nameOfExprType="java\.util\.concurrent\.ConcurrentMap" expressionTypes="java.util.concurrent.ConcurrentMap" exprTypeWithinHierarchy="true" within="" contains="" />
|
|
</searchConfiguration>
|
|
<searchConfiguration name="A ConcurrentHashMap on which compute() is called should be assinged into variables of ConcurrentHashMap type, not ConcurrentMap" text="$x$.compute($y$, $z$)" recursive="true" caseInsensitive="true" type="JAVA">
|
|
<constraint name="__context__" target="true" within="" contains="" />
|
|
<constraint name="x" nameOfExprType="java\.util\.concurrent\.ConcurrentMap" expressionTypes="java.util.concurrent.ConcurrentMap" within="" contains="" />
|
|
<constraint name="y" within="" contains="" />
|
|
<constraint name="z" within="" contains="" />
|
|
</searchConfiguration>
|
|
<searchConfiguration name="A ConcurrentHashMap on which computeIfAbsent() is called should be assigned into variables of ConcurrentHashMap type, not ConcurrentMap" text="$x$.computeIfAbsent($y$, $z$)" recursive="true" caseInsensitive="true" type="JAVA">
|
|
<constraint name="__context__" target="true" within="" contains="" />
|
|
<constraint name="x" nameOfExprType="java\.util\.concurrent\.ConcurrentMap" expressionTypes="java.util.concurrent.ConcurrentMap" within="" contains="" />
|
|
<constraint name="y" within="" contains="" />
|
|
<constraint name="z" within="" contains="" />
|
|
</searchConfiguration>
|
|
<searchConfiguration name="A ConcurrentHashMap on which computeIfPresent() is called should be assigned into variables of ConcurrentHashMap type, not ConcurrentMap" text="$x$.computeIfPresent($y$, $z$)" recursive="true" caseInsensitive="true" type="JAVA">
|
|
<constraint name="__context__" target="true" within="" contains="" />
|
|
<constraint name="x" nameOfExprType="java\.util\.concurrent\.ConcurrentMap" expressionTypes="java.util.concurrent.ConcurrentMap" within="" contains="" />
|
|
<constraint name="y" within="" contains="" />
|
|
<constraint name="z" within="" contains="" />
|
|
</searchConfiguration>
|
|
<searchConfiguration name="A ConcurrentHashMap on which merge() is called should be assigned into variables of ConcurrentHashMap type, not ConcurrentMap" text="$x$.merge($a$, $b$, $c$)" recursive="true" caseInsensitive="true" type="JAVA">
|
|
<constraint name="__context__" target="true" within="" contains="" />
|
|
<constraint name="x" nameOfExprType="java\.util\.concurrent\.ConcurrentMap" expressionTypes="java.util.concurrent.ConcurrentMap" within="" contains="" />
|
|
<constraint name="a" within="" contains="" />
|
|
<constraint name="b" within="" contains="" />
|
|
<constraint name="c" within="" contains="" />
|
|
</searchConfiguration>
|
|
<searchConfiguration name="No need to wrap a collection as unmodifiable before addAll()" text="$c$.addAll(Collections.$unmodifiableMethod$($c2$))" recursive="true" caseInsensitive="true" type="JAVA">
|
|
<constraint name="__context__" target="true" within="" contains="" />
|
|
<constraint name="c" within="" contains="" />
|
|
<constraint name="unmodifiableMethod" regexp="unmodifiable.*" within="" contains="" />
|
|
<constraint name="c2" within="" contains="" />
|
|
</searchConfiguration>
|
|
<searchConfiguration name="No need to copy a collection as immutable before addAll()" text="$m$.addAll($ImmutableCollection$.copyOf($x$))" recursive="true" caseInsensitive="true" type="JAVA">
|
|
<constraint name="__context__" target="true" within="" contains="" />
|
|
<constraint name="m" within="" contains="" />
|
|
<constraint name="x" maxCount="2147483647" within="" contains="" />
|
|
<constraint name="ImmutableCollection" regexp="Immutable.*" within="" contains="" />
|
|
</searchConfiguration>
|
|
<searchConfiguration name="No need to wrap a map as unmodifiable before putAll()" text="$m$.putAll(Collections.$unmodifiableMapMethod$($m2$))" recursive="true" caseInsensitive="true" type="JAVA">
|
|
<constraint name="__context__" target="true" within="" contains="" />
|
|
<constraint name="m" within="" contains="" />
|
|
<constraint name="m2" within="" contains="" />
|
|
<constraint name="unmodifiableMapMethod" regexp="unmodifiable.*" within="" contains="" />
|
|
</searchConfiguration>
|
|
<searchConfiguration name="No need to copy a map to immutable before putAll()" text="$m$.putAll($ImmutableMap$.copyOf($x$))" recursive="true" caseInsensitive="true" type="JAVA">
|
|
<constraint name="__context__" target="true" within="" contains="" />
|
|
<constraint name="m" within="" contains="" />
|
|
<constraint name="x" maxCount="2147483647" within="" contains="" />
|
|
<constraint name="ImmutableMap" regexp="Immutable.*" within="" contains="" />
|
|
</searchConfiguration>
|
|
<searchConfiguration name="Use map.putIfAbsent(k,v) or map.computeIfAbsent(k,v) where appropriate instead of containsKey() + put(). If computing v is expensive or has side effects use map.computeIfAbsent() instead" created="1558868694225" text="if (!$m$.containsKey($k$)) { $m$.put($k$, $v$); }" recursive="false" caseInsensitive="true" type="JAVA">
|
|
<constraint name="m" within="" contains="" />
|
|
<constraint name="k" within="" contains="" />
|
|
<constraint name="v" within="" contains="" />
|
|
</searchConfiguration>
|
|
<searchConfiguration name="Prohibit Thread.getState() != TERMINATED antipattern" text="$t$.getState()!=Thread.State.$state$" recursive="true" caseInsensitive="true" type="JAVA">
|
|
<constraint name="t" within="" contains="" />
|
|
<constraint name="state" within="" contains="" />
|
|
</searchConfiguration>
|
|
<searchConfiguration name="Prohibit Thread.getState() == TERMINATED antipattern" text="$t$.getState()==Thread.State.$state$" recursive="true" caseInsensitive="true" type="JAVA">
|
|
<constraint name="t" within="" contains="" />
|
|
<constraint name="state" within="" contains="" />
|
|
</searchConfiguration>
|
|
<searchConfiguration name="Use CollectionUtils.mapValues(Map<K,V>, Function<V,V2>)" text="$x$.entrySet().stream().collect(Collectors.toMap($k$ -> $k$.getKey(), $y$))" recursive="true" caseInsensitive="true" type="JAVA">
|
|
<constraint name="x" within="" contains="" />
|
|
<constraint name="y" within="" contains="" />
|
|
<constraint name="k" within="" contains="" />
|
|
<constraint name="__context__" target="true" within="" contains="" />
|
|
</searchConfiguration>
|
|
<searchConfiguration name="Use CollectionUtils.mapValues(Map<k,v>, Function<v,v2>)" text="$x$.entrySet().stream().collect(Collectors.toMap(Entry::getKey, $y$))" recursive="true" caseInsensitive="true" type="JAVA">
|
|
<constraint name="x" within="" contains="" />
|
|
<constraint name="y" within="" contains="" />
|
|
<constraint name="__context__" target="true" within="" contains="" />
|
|
</searchConfiguration>
|
|
<searchConfiguration name="Use CollectionUtils.mapKeys(Map<K,V>, Function<K,K2>)" text="$x$.entrySet().stream().collect(Collectors.toMap($y$, $v$ -> $v$.getValue()))" recursive="true" caseInsensitive="true" type="JAVA">
|
|
<constraint name="x" within="" contains="" />
|
|
<constraint name="y" within="" contains="" />
|
|
<constraint name="__context__" target="true" within="" contains="" />
|
|
<constraint name="v" within="" contains="" />
|
|
</searchConfiguration>
|
|
<searchConfiguration name="Use CollectionUtils.mapKeys(Map<k,v>, Function<k,k2>)" text="$x$.entrySet().stream().collect(Collectors.toMap($y$, Map.Entry::getValue))" recursive="true" caseInsensitive="true" type="JAVA">
|
|
<constraint name="x" within="" contains="" />
|
|
<constraint name="y" within="" contains="" />
|
|
<constraint name="__context__" target="true" within="" contains="" />
|
|
</searchConfiguration>
|
|
<searchConfiguration name="new Collection(Arrays.asList()), or some utility from CollectionUtils (or create an utility)" text="Stream.of($x$).collect($c$())" recursive="true" caseInsensitive="true" type="JAVA">
|
|
<constraint name="__context__" target="true" within="" contains="" />
|
|
<constraint name="c" within="" contains="" />
|
|
<constraint name="x" minCount="0" maxCount="2147483647" within="" contains="" />
|
|
</searchConfiguration>
|
|
<searchConfiguration name="Use computeIfAbsent(...).somethingElse(...) chain instead" text="$m$.putIfAbsent($k$, $l$); $m$.get($k$).$x$($y$);" recursive="true" caseInsensitive="true" type="JAVA">
|
|
<constraint name="__context__" target="true" within="" contains="" />
|
|
<constraint name="m" within="" contains="" />
|
|
<constraint name="x" within="" contains="" />
|
|
<constraint name="k" within="" contains="" />
|
|
<constraint name="l" within="" contains="" />
|
|
<constraint name="y" minCount="0" maxCount="2147483647" within="" contains="" />
|
|
</searchConfiguration>
|
|
<searchConfiguration name="Create a simple ExecutorService (not scheduled)" text="$x$ = $y$;" recursive="true" caseInsensitive="true" type="JAVA" pattern_context="default">
|
|
<constraint name="__context__" within="" contains="" />
|
|
<constraint name="x" nameOfExprType="java\.util\.concurrent\.ExecutorService" expressionTypes="java.util.concurrent.ExecutorService" within="" contains="" />
|
|
<constraint name="y" nameOfExprType="java\.util\.concurrent\.ScheduledExecutorService" expressionTypes="java.util.concurrent.ScheduledExecutorService" exprTypeWithinHierarchy="true" within="" contains="" />
|
|
</searchConfiguration>
|
|
</inspection_tool>
|
|
<inspection_tool class="SimplifyStreamApiCallChains" enabled="true" level="ERROR" enabled_by_default="true" />
|
|
<inspection_tool class="SpellCheckingInspection" enabled="false" level="TYPO" enabled_by_default="false">
|
|
<option name="processCode" value="true" />
|
|
<option name="processLiterals" value="true" />
|
|
<option name="processComments" value="true" />
|
|
</inspection_tool>
|
|
<inspection_tool class="StandardJS" enabled="false" level="Non-TeamCity Error" enabled_by_default="false" />
|
|
<inspection_tool class="StaticCallOnSubclass" enabled="true" level="ERROR" enabled_by_default="true" />
|
|
<inspection_tool class="StaticFieldReferenceOnSubclass" enabled="true" level="ERROR" enabled_by_default="true" />
|
|
<inspection_tool class="StaticPseudoFunctionalStyleMethod" enabled="true" level="INFORMATION" enabled_by_default="true" />
|
|
<inspection_tool class="StringConcatenationInFormatCall" enabled="true" level="ERROR" enabled_by_default="true" />
|
|
<inspection_tool class="StringConcatenationInLoops" enabled="true" level="ERROR" enabled_by_default="true" />
|
|
<inspection_tool class="StringConcatenationInMessageFormatCall" enabled="true" level="ERROR" enabled_by_default="true" />
|
|
<inspection_tool class="StringConcatenationInsideStringBufferAppend" enabled="true" level="ERROR" enabled_by_default="true" />
|
|
<inspection_tool class="StringConcatenationMissingWhitespace" enabled="true" level="WARNING" enabled_by_default="true" />
|
|
<inspection_tool class="StringEquality" enabled="true" level="ERROR" enabled_by_default="true" />
|
|
<inspection_tool class="StringEqualsCharSequence" enabled="true" level="ERROR" enabled_by_default="true" />
|
|
<inspection_tool class="StringTokenizerDelimiter" enabled="true" level="ERROR" enabled_by_default="true" />
|
|
<inspection_tool class="SubtractionInCompareTo" enabled="true" level="ERROR" enabled_by_default="true" />
|
|
<inspection_tool class="SuspiciousArrayCast" enabled="true" level="WARNING" enabled_by_default="true" />
|
|
<inspection_tool class="SuspiciousArrayMethodCall" enabled="true" level="ERROR" enabled_by_default="true" />
|
|
<inspection_tool class="SuspiciousIndentAfterControlStatement" enabled="true" level="ERROR" enabled_by_default="true" />
|
|
<inspection_tool class="SuspiciousListRemoveInLoop" enabled="true" level="ERROR" enabled_by_default="true" />
|
|
<inspection_tool class="SuspiciousMethodCalls" enabled="true" level="ERROR" enabled_by_default="true">
|
|
<option name="REPORT_CONVERTIBLE_METHOD_CALLS" value="true" />
|
|
</inspection_tool>
|
|
<inspection_tool class="SuspiciousNameCombination" enabled="true" level="ERROR" enabled_by_default="true">
|
|
<group names="x,width,left,right" />
|
|
<group names="y,height,top,bottom" />
|
|
<ignored>
|
|
<option name="METHOD_MATCHER_CONFIG" value="java.io.PrintStream,println,java.io.PrintWriter,println,java.lang.System,identityHashCode,java.sql.PreparedStatement,set.*,java.sql.ResultSet,update.*,java.sql.SQLOutput,write.*,java.lang.Integer,compare.*,java.lang.Long,compare.*,java.lang.Short,compare,java.lang.Byte,compare,java.lang.Character,compare,java.lang.Boolean,compare,java.lang.Math,.*,java.lang.StrictMath,.*" />
|
|
</ignored>
|
|
</inspection_tool>
|
|
<inspection_tool class="SuspiciousSystemArraycopy" enabled="true" level="ERROR" enabled_by_default="true" />
|
|
<inspection_tool class="SuspiciousToArrayCall" enabled="true" level="ERROR" enabled_by_default="true" />
|
|
<inspection_tool class="SyntaxError" enabled="true" level="Non-TeamCity Warning" enabled_by_default="true" />
|
|
<inspection_tool class="TextLabelInSwitchStatement" enabled="true" level="ERROR" enabled_by_default="true" />
|
|
<inspection_tool class="ThrowableNotThrown" enabled="true" level="ERROR" enabled_by_default="true" />
|
|
<inspection_tool class="ToArrayCallWithZeroLengthArrayArgument" enabled="true" level="WARNING" enabled_by_default="true">
|
|
<option name="myMode" value="BY_LEVEL" />
|
|
</inspection_tool>
|
|
<inspection_tool class="UnnecessaryCallToStringValueOf" enabled="true" level="ERROR" enabled_by_default="true" />
|
|
<inspection_tool class="UnnecessaryEnumModifier" enabled="true" level="ERROR" enabled_by_default="true" />
|
|
<inspection_tool class="UnnecessaryFullyQualifiedName" enabled="true" level="WARNING" enabled_by_default="true">
|
|
<scope name="NonGeneratedFiles" level="ERROR" enabled="true">
|
|
<option name="m_ignoreJavadoc" value="true" />
|
|
<option name="ignoreInModuleStatements" value="true" />
|
|
</scope>
|
|
<option name="m_ignoreJavadoc" value="true" />
|
|
<option name="ignoreInModuleStatements" value="true" />
|
|
</inspection_tool>
|
|
<inspection_tool class="UnnecessaryInterfaceModifier" enabled="true" level="ERROR" enabled_by_default="true" />
|
|
<inspection_tool class="UnnecessaryToStringCall" enabled="true" level="ERROR" enabled_by_default="true" />
|
|
<inspection_tool class="UnusedAssignment" enabled="true" level="ERROR" enabled_by_default="true">
|
|
<option name="REPORT_PREFIX_EXPRESSIONS" value="true" />
|
|
<option name="REPORT_POSTFIX_EXPRESSIONS" value="true" />
|
|
<option name="REPORT_REDUNDANT_INITIALIZER" value="true" />
|
|
</inspection_tool>
|
|
<inspection_tool class="UnusedCatchParameter" enabled="true" level="WARNING" enabled_by_default="true">
|
|
<option name="m_ignoreCatchBlocksWithComments" value="false" />
|
|
<option name="m_ignoreTestCases" value="false" />
|
|
</inspection_tool>
|
|
<inspection_tool class="UnusedImport" enabled="true" level="WARNING" enabled_by_default="true" />
|
|
<inspection_tool class="UnusedLibrary" enabled="true" level="WARNING" enabled_by_default="true" />
|
|
<inspection_tool class="UseBulkOperation" enabled="true" level="ERROR" enabled_by_default="true" />
|
|
<inspection_tool class="UseOfPropertiesAsHashtable" enabled="true" level="WARNING" enabled_by_default="true" />
|
|
<inspection_tool class="VariableNotUsedInsideIf" enabled="true" level="WARNING" enabled_by_default="true" />
|
|
<inspection_tool class="XmlDuplicatedId" enabled="true" level="Non-TeamCity Error" enabled_by_default="true" />
|
|
<inspection_tool class="XmlHighlighting" enabled="true" level="Non-TeamCity Warning" enabled_by_default="true" />
|
|
<inspection_tool class="XmlInvalidId" enabled="true" level="Non-TeamCity Error" enabled_by_default="true" />
|
|
<inspection_tool class="XmlPathReference" enabled="true" level="Non-TeamCity Error" enabled_by_default="true" />
|
|
<inspection_tool class="unused" enabled="true" level="WARNING" enabled_by_default="true" isSelected="false">
|
|
<scope name="UnusedInspectionsScope" level="ERROR" enabled="true" isSelected="false">
|
|
<option name="LOCAL_VARIABLE" value="true" />
|
|
<option name="FIELD" value="true" />
|
|
<option name="METHOD" value="true" />
|
|
<option name="CLASS" value="true" />
|
|
<option name="PARAMETER" value="true" />
|
|
<option name="REPORT_PARAMETER_FOR_PUBLIC_METHODS" value="true" />
|
|
<option name="ADD_MAINS_TO_ENTRIES" value="true" />
|
|
<option name="ADD_APPLET_TO_ENTRIES" value="true" />
|
|
<option name="ADD_SERVLET_TO_ENTRIES" value="true" />
|
|
<option name="ADD_NONJAVA_TO_ENTRIES" value="true" />
|
|
</scope>
|
|
<option name="LOCAL_VARIABLE" value="true" />
|
|
<option name="FIELD" value="true" />
|
|
<option name="METHOD" value="true" />
|
|
<option name="CLASS" value="true" />
|
|
<option name="PARAMETER" value="true" />
|
|
<option name="REPORT_PARAMETER_FOR_PUBLIC_METHODS" value="true" />
|
|
<option name="ADD_MAINS_TO_ENTRIES" value="true" />
|
|
<option name="ADD_APPLET_TO_ENTRIES" value="true" />
|
|
<option name="ADD_SERVLET_TO_ENTRIES" value="true" />
|
|
<option name="ADD_NONJAVA_TO_ENTRIES" value="true" />
|
|
</inspection_tool>
|
|
</profile>
|
|
</component> |