Class Utils
java.lang.Object
org.qubership.atp.dataset.model.utils.Utils
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic Stream<Identified> allRefs(Identified root) Makes Stream of root and all it's dependencies tree collected byIdentified.getReferences().static StringBuilderappendFriendlyMessage(StringBuilder to, Throwable throwable) Makes a friendly message from the throwable.Creates a walker which is able to iterate over dataSetLists and attributes recursively.static <T,A, R> Stream <R> combinations(List<? extends Collection<? extends T>> values, Collector<T, A, R> collector) Makes combinations between elements in the different collections in the list.static FlatDataImpldoFlatData(DataSetList dataSetList) Takes DatasetList and creates flat data from it.static FlatDataImpldoFlatData(Identified root) Takes the root object.static UiManAttributedoUiAttr(DataSet dataSet, DsEvaluator eval, List<UUID> attrPath) Finds attribute by provided path inclusive.static UiManDataSetListdoUiDs(DataSetList dataSetList, DsEvaluator eval, boolean expandAll) CreatesUiManDataSetListdecorator for providedDataSetList.static UiManDataSetListdoUiDs(DataSetList dataSetList, MacroContext macroContext, DataSetParameterProvider dataSetParameterProvider, DsEvaluator eval, boolean evaluate, boolean expandAll) CreatesUiManDataSetListdecorator for providedDataSetList.static <T> Supplier<T> emptySup()static <T extends Identified>
booleanChecks target object has expected class and id.static <T extends Identified>
booleanTo not to copy pasteObject.equals(Object)logic.static booleanisEqual(Identified o1, Object o2) To not to copy pasteObject.equals(Object)logic.static booleanReturns true if argument is UUID.static <T> Supplier<T> SeeSuppliers.memoize(com.google.common.base.Supplier).paramsInDslWalker(DataSetList root, DsEvaluator evaluator) Creates a walker which is able to iterate over dataSets and parameters recursively.paramsInDsWalker(DataSet root, DsEvaluator evaluator) Creates a walker which is able to iterate over dataSets and parameters recursively.static com.fasterxml.jackson.databind.node.ArrayNodeserializeAttrInItfWay(DataSetList dsl, com.fasterxml.jackson.databind.ObjectMapper mapper) Serializes dataSetLists attributes in ITF way: [attribute, attribute.attribute1] and so on.static com.fasterxml.jackson.databind.node.ObjectNodeserializeInItfWay(DataSet ds, com.fasterxml.jackson.databind.ObjectMapper mapper, DsEvaluator eval) Serializes dataSet in ITF way: {attribute = parameter, attribute2 : {attribute = parameter2}} and so on.
-
Field Details
-
JOINER_DOT
public static final com.google.common.base.Joiner JOINER_DOT
-
-
Constructor Details
-
Utils
public Utils()
-
-
Method Details
-
emptySup
-
isEqual
To not to copy pasteObject.equals(Object)logic.- Parameters:
o1- object to compare with o2o2- object to compare with o1- Returns:
- true if equals
-
isEqual
public static <T extends Identified> boolean isEqual(@Nonnull Class<T> clazz, @Nonnull T o1, @Nullable Object o2) To not to copy pasteObject.equals(Object)logic.- Type Parameters:
T- general superclass of o1 and o2- Parameters:
clazz- general superclass of o1 and o2o1- object to compare with o2o2- object to compare with o1- Returns:
- true if equals
-
isEqual
public static <T extends Identified> boolean isEqual(@Nonnull Class<T> clazz, @Nonnull Object id, @Nullable Object target) Checks target object has expected class and id.- Type Parameters:
T- type- Parameters:
clazz- which should be extended by targetid- expected id of targettarget- checking object- Returns:
- true if target has expected type and id
-
allRefs
Makes Stream of root and all it's dependencies tree collected byIdentified.getReferences(). -
doFlatData
Takes the root object. Fills and returnsFlatDataImplwith this object plus all the dependencies tree collected byIdentified.getReferences(). -
doFlatData
Takes DatasetList and creates flat data from it.- Parameters:
dataSetList- rootDataSetListobject.- Returns:
- mapped data without duplicates as
FlatDataImpl
-
doUiDs
public static UiManDataSetList doUiDs(@Nonnull DataSetList dataSetList, @Nonnull DsEvaluator eval, boolean expandAll) CreatesUiManDataSetListdecorator for providedDataSetList. -
doUiDs
public static UiManDataSetList doUiDs(@Nonnull DataSetList dataSetList, MacroContext macroContext, DataSetParameterProvider dataSetParameterProvider, DsEvaluator eval, boolean evaluate, boolean expandAll) CreatesUiManDataSetListdecorator for providedDataSetList. -
doUiAttr
@Nullable public static UiManAttribute doUiAttr(@Nonnull DataSet dataSet, @Nonnull DsEvaluator eval, @Nonnull List<UUID> attrPath) Finds attribute by provided path inclusive.- Parameters:
attrPath- should not be empty.
-
memoize
SeeSuppliers.memoize(com.google.common.base.Supplier). -
paramsInDslWalker
Creates a walker which is able to iterate over dataSets and parameters recursively. Handles case when parameter references to another dataSet.- Parameters:
root- data set to find parameters in- Returns:
- walker which is able to iterate over data sets and parameters
-
paramsInDsWalker
Creates a walker which is able to iterate over dataSets and parameters recursively. Handles case when parameter references to another dataSet.- Parameters:
root- data set to find parameters in- Returns:
- walker which is able to iterate over data sets and parameters
-
attributesInDslWalker
Creates a walker which is able to iterate over dataSetLists and attributes recursively. Handles case when attribute references to another dataSetList.- Parameters:
root- data set list to find parameters in- Returns:
- walker which is able to iterate over data set lists and attributes
-
serializeInItfWay
@Nonnull public static com.fasterxml.jackson.databind.node.ObjectNode serializeInItfWay(@Nonnull DataSet ds, @Nonnull com.fasterxml.jackson.databind.ObjectMapper mapper, @Nonnull DsEvaluator eval) Serializes dataSet in ITF way: {attribute = parameter, attribute2 : {attribute = parameter2}} and so on.- Parameters:
ds- root to serializemapper- serialization factory- Returns:
- serializable json object
-
serializeAttrInItfWay
@Nonnull public static com.fasterxml.jackson.databind.node.ArrayNode serializeAttrInItfWay(@Nonnull DataSetList dsl, @Nonnull com.fasterxml.jackson.databind.ObjectMapper mapper) Serializes dataSetLists attributes in ITF way: [attribute, attribute.attribute1] and so on.- Parameters:
dsl- root to serializemapper- serialization factory- Returns:
- serializable json array
-
combinations
public static <T,A, Stream<R> combinationsR> (@Nonnull List<? extends Collection<? extends T>> values, @Nonnull Collector<T, A, R> collector) Makes combinations between elements in the different collections in the list. https://stackoverflow.com/questions/32131987/how-can-i-make-cartesian-product-with-java-8-streams . Consider usingLists.cartesianProduct(java.util.List<? extends java.util.List<? extends B>>)instead. -
appendFriendlyMessage
@Nonnull public static StringBuilder appendFriendlyMessage(@Nonnull StringBuilder to, @Nonnull Throwable throwable) Makes a friendly message from the throwable. -
isUuid
Returns true if argument is UUID.
-