/** * Copyright © 2016-2017 The Thingsboard Authors * * 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.thingsboard.server.dao.service; import org.thingsboard.server.common.data.id.UUIDBased; import org.thingsboard.server.common.data.page.TextPageLink; import org.thingsboard.server.dao.exception.IncorrectParameterException; import java.util.List; import java.util.UUID; public class Validator { /** * This method validate <code>String</code> string. If string is invalid than throw * <code>IncorrectParameterException</code> exception * * @param val the val * @param errorMessage the error message for exception */ public static void validateString(String val, String errorMessage) { if (val == null || val.isEmpty()) { throw new IncorrectParameterException(errorMessage); } } /** * This method validate <code>String</code> string. If string is invalid than throw * <code>IncorrectParameterException</code> exception * * @param val the val * @param errorMessage the error message for exception */ public static void validatePositiveNumber(long val, String errorMessage) { if (val <= 0) { throw new IncorrectParameterException(errorMessage); } } /** * This method validate <code>UUID</code> id. If id is null than throw * <code>IncorrectParameterException</code> exception * * @param id the id * @param errorMessage the error message for exception */ public static void validateId(UUID id, String errorMessage) { if (id == null) { throw new IncorrectParameterException(errorMessage); } } /** * This method validate <code>UUIDBased</code> id. If id is null than throw * <code>IncorrectParameterException</code> exception * * @param id the id * @param errorMessage the error message for exception */ public static void validateId(UUIDBased id, String errorMessage) { if (id == null || id.getId() == null) { throw new IncorrectParameterException(errorMessage); } } /** * This method validate list of <code>UUIDBased</code> ids. If at least one of the ids is null than throw * <code>IncorrectParameterException</code> exception * * @param ids the list of ids * @param errorMessage the error message for exception */ public static void validateIds(List<? extends UUIDBased> ids, String errorMessage) { if (ids == null || ids.isEmpty()) { throw new IncorrectParameterException(errorMessage); } else { for (UUIDBased id : ids) { validateId(id, errorMessage); } } } /** * This method validate <code>PageLink</code> page link. If pageLink is invalid than throw * <code>IncorrectParameterException</code> exception * * @param pageLink the page link * @param errorMessage the error message for exception */ public static void validatePageLink(TextPageLink pageLink, String errorMessage) { if (pageLink == null) { throw new IncorrectParameterException(errorMessage); } else if (pageLink.getLimit() < 1) { throw new IncorrectParameterException(errorMessage); } else if (pageLink.getIdOffset() != null && pageLink.getIdOffset().version() != 1) { throw new IncorrectParameterException(errorMessage); } } }