lenboo
4 years ago
124 changed files with 1385 additions and 1200 deletions
@ -1,262 +0,0 @@
|
||||
/* |
||||
* 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.dolphinscheduler.alert.utils; |
||||
|
||||
import static org.apache.dolphinscheduler.alert.utils.Constants.ALERT_PROPERTIES_PATH; |
||||
|
||||
import org.apache.dolphinscheduler.common.utils.IOUtils; |
||||
import org.apache.dolphinscheduler.common.utils.StringUtils; |
||||
|
||||
import java.io.IOException; |
||||
import java.io.InputStream; |
||||
import java.util.Properties; |
||||
import java.util.regex.PatternSyntaxException; |
||||
|
||||
import org.slf4j.Logger; |
||||
import org.slf4j.LoggerFactory; |
||||
|
||||
/** |
||||
* property utils |
||||
* single instance |
||||
*/ |
||||
public class PropertyUtils { |
||||
|
||||
/** |
||||
* logger |
||||
*/ |
||||
private static final Logger logger = LoggerFactory.getLogger(PropertyUtils.class); |
||||
|
||||
private static final Properties properties = new Properties(); |
||||
|
||||
/** |
||||
* init properties |
||||
*/ |
||||
private static final PropertyUtils propertyUtils = new PropertyUtils(); |
||||
|
||||
private PropertyUtils() { |
||||
init(); |
||||
} |
||||
|
||||
private void init() { |
||||
String[] propertyFiles = new String[]{ALERT_PROPERTIES_PATH}; |
||||
for (String fileName : propertyFiles) { |
||||
InputStream fis = null; |
||||
try { |
||||
fis = PropertyUtils.class.getResourceAsStream(fileName); |
||||
properties.load(fis); |
||||
|
||||
} catch (IOException e) { |
||||
logger.error(e.getMessage(), e); |
||||
if (fis != null) { |
||||
IOUtils.closeQuietly(fis); |
||||
} |
||||
System.exit(1); |
||||
} finally { |
||||
IOUtils.closeQuietly(fis); |
||||
} |
||||
} |
||||
} |
||||
|
||||
/** |
||||
* get property value |
||||
* |
||||
* @param key property name |
||||
* @return the value |
||||
*/ |
||||
public static String getString(String key) { |
||||
if (StringUtils.isEmpty(key)) { |
||||
return null; |
||||
} |
||||
return properties.getProperty(key.trim()); |
||||
} |
||||
|
||||
/** |
||||
* get property value |
||||
* |
||||
* @param key property name |
||||
* @param defaultVal default value |
||||
* @return property value |
||||
*/ |
||||
public static String getString(String key, String defaultVal) { |
||||
String val = properties.getProperty(key.trim()); |
||||
return val == null ? defaultVal : val; |
||||
} |
||||
|
||||
/** |
||||
* get property value |
||||
* |
||||
* @param key property name |
||||
* @return get property int value , if key == null, then return -1 |
||||
*/ |
||||
public static int getInt(String key) { |
||||
|
||||
return getInt(key, -1); |
||||
} |
||||
|
||||
/** |
||||
* get int value |
||||
* |
||||
* @param key the key |
||||
* @param defaultValue the default value |
||||
* @return the value related the key or the default value if the key not existed |
||||
*/ |
||||
public static int getInt(String key, int defaultValue) { |
||||
String value = getString(key); |
||||
if (value == null) { |
||||
return defaultValue; |
||||
} |
||||
|
||||
try { |
||||
return Integer.parseInt(value); |
||||
} catch (NumberFormatException e) { |
||||
logger.info(e.getMessage(), e); |
||||
} |
||||
return defaultValue; |
||||
} |
||||
|
||||
/** |
||||
* get property value |
||||
* |
||||
* @param key property name |
||||
* @return the boolean result value |
||||
*/ |
||||
public static Boolean getBoolean(String key) { |
||||
|
||||
if (StringUtils.isEmpty(key)) { |
||||
return false; |
||||
} |
||||
|
||||
String value = properties.getProperty(key.trim()); |
||||
if (null != value) { |
||||
return Boolean.parseBoolean(value); |
||||
} |
||||
|
||||
return false; |
||||
} |
||||
|
||||
/** |
||||
* get long value |
||||
* |
||||
* @param key the key |
||||
* @return if the value not existed, return -1, or will return the related value |
||||
*/ |
||||
public static long getLong(String key) { |
||||
return getLong(key, -1); |
||||
} |
||||
|
||||
/** |
||||
* get long value |
||||
* |
||||
* @param key the key |
||||
* @param defaultVal the default value |
||||
* @return the value related the key or the default value if the key not existed |
||||
*/ |
||||
public static long getLong(String key, long defaultVal) { |
||||
|
||||
String val = getString(key); |
||||
if (val == null) { |
||||
return defaultVal; |
||||
} |
||||
|
||||
try { |
||||
return Long.parseLong(val); |
||||
} catch (NumberFormatException e) { |
||||
logger.info(e.getMessage(), e); |
||||
} |
||||
|
||||
return defaultVal; |
||||
} |
||||
|
||||
/** |
||||
* get double value |
||||
* |
||||
* @param key the key |
||||
* @return if the value not existed, return -1.0, or will return the related value |
||||
*/ |
||||
public static double getDouble(String key) { |
||||
return getDouble(key, -1.0); |
||||
} |
||||
|
||||
/** |
||||
* get double value |
||||
* |
||||
* @param key the key |
||||
* @param defaultVal the default value |
||||
* @return the value related the key or the default value if the key not existed |
||||
*/ |
||||
public static double getDouble(String key, double defaultVal) { |
||||
|
||||
String val = getString(key); |
||||
if (val == null) { |
||||
return defaultVal; |
||||
} |
||||
|
||||
try { |
||||
return Double.parseDouble(val); |
||||
} catch (NumberFormatException e) { |
||||
logger.info(e.getMessage(), e); |
||||
} |
||||
|
||||
return defaultVal; |
||||
} |
||||
|
||||
/** |
||||
* get array |
||||
* |
||||
* @param key property name |
||||
* @param splitStr separator |
||||
* @return the result array |
||||
*/ |
||||
public static String[] getArray(String key, String splitStr) { |
||||
String value = getString(key); |
||||
if (value == null || StringUtils.isEmpty(splitStr)) { |
||||
return null; |
||||
} |
||||
try { |
||||
return value.split(splitStr); |
||||
} catch (PatternSyntaxException e) { |
||||
logger.info(e.getMessage(), e); |
||||
} |
||||
return null; |
||||
} |
||||
|
||||
/** |
||||
* get enum |
||||
* |
||||
* @param key the key |
||||
* @param type the class type |
||||
* @param defaultValue the default value |
||||
* @param <T> the generic class type |
||||
* @return get enum value |
||||
*/ |
||||
public static <T extends Enum<T>> T getEnum(String key, Class<T> type, |
||||
T defaultValue) { |
||||
String val = getString(key); |
||||
if (val == null) { |
||||
return defaultValue; |
||||
} |
||||
|
||||
try { |
||||
return Enum.valueOf(type, val); |
||||
} catch (IllegalArgumentException e) { |
||||
logger.info(e.getMessage(), e); |
||||
} |
||||
|
||||
return defaultValue; |
||||
} |
||||
} |
@ -0,0 +1,33 @@
|
||||
/* |
||||
* 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.dolphinscheduler.common.utils; |
||||
|
||||
public class BooleanUtils { |
||||
|
||||
public static boolean isTrue(Boolean bool) { |
||||
if (bool == null) { |
||||
return false; |
||||
} else { |
||||
return bool; |
||||
} |
||||
} |
||||
|
||||
public static boolean isNotTrue(Boolean bool) { |
||||
return !isTrue(bool); |
||||
} |
||||
} |
@ -0,0 +1,68 @@
|
||||
/* |
||||
* 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.dolphinscheduler.common.task; |
||||
|
||||
import org.apache.dolphinscheduler.common.task.sql.SqlParameters; |
||||
import org.apache.dolphinscheduler.common.utils.CollectionUtils; |
||||
|
||||
import org.junit.Assert; |
||||
import org.junit.Test; |
||||
|
||||
public class SqlParametersTest { |
||||
|
||||
private final String type = "MYSQL"; |
||||
private final String sql = "select * from t_ds_user"; |
||||
private final String udfs = "test-udfs-1.0.0-SNAPSHOT.jar"; |
||||
private final int datasource = 1; |
||||
private final int sqlType = 0; |
||||
private final Boolean sendEmail = true; |
||||
private final int displayRows = 10; |
||||
private final String showType = "TABLE"; |
||||
private final String title = "sql test"; |
||||
private final int groupId = 0; |
||||
|
||||
@Test |
||||
public void testSqlParameters() { |
||||
SqlParameters sqlParameters = new SqlParameters(); |
||||
Assert.assertTrue(CollectionUtils.isEmpty(sqlParameters.getResourceFilesList())); |
||||
|
||||
sqlParameters.setType(type); |
||||
sqlParameters.setSql(sql); |
||||
sqlParameters.setUdfs(udfs); |
||||
sqlParameters.setDatasource(datasource); |
||||
sqlParameters.setSqlType(sqlType); |
||||
sqlParameters.setSendEmail(sendEmail); |
||||
sqlParameters.setDisplayRows(displayRows); |
||||
sqlParameters.setShowType(showType); |
||||
sqlParameters.setTitle(title); |
||||
sqlParameters.setGroupId(groupId); |
||||
|
||||
Assert.assertEquals(type, sqlParameters.getType()); |
||||
Assert.assertEquals(sql, sqlParameters.getSql()); |
||||
Assert.assertEquals(udfs, sqlParameters.getUdfs()); |
||||
Assert.assertEquals(datasource, sqlParameters.getDatasource()); |
||||
Assert.assertEquals(sqlType, sqlParameters.getSqlType()); |
||||
Assert.assertEquals(sendEmail, sqlParameters.getSendEmail()); |
||||
Assert.assertEquals(displayRows, sqlParameters.getDisplayRows()); |
||||
Assert.assertEquals(showType, sqlParameters.getShowType()); |
||||
Assert.assertEquals(title, sqlParameters.getTitle()); |
||||
Assert.assertEquals(groupId, sqlParameters.getGroupId()); |
||||
|
||||
Assert.assertTrue(sqlParameters.checkParameters()); |
||||
} |
||||
} |
@ -1,162 +0,0 @@
|
||||
/* |
||||
* 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.dolphinscheduler.dao.utils; |
||||
|
||||
import org.apache.dolphinscheduler.common.Constants; |
||||
import com.baomidou.mybatisplus.core.toolkit.IOUtils; |
||||
import org.slf4j.Logger; |
||||
import org.slf4j.LoggerFactory; |
||||
|
||||
import java.io.IOException; |
||||
import java.io.InputStream; |
||||
import java.util.Properties; |
||||
|
||||
|
||||
/** |
||||
* property utils |
||||
* single instance |
||||
*/ |
||||
public class PropertyUtils { |
||||
|
||||
/** |
||||
* logger |
||||
*/ |
||||
private static final Logger logger = LoggerFactory.getLogger(PropertyUtils.class); |
||||
|
||||
private static final Properties properties = new Properties(); |
||||
|
||||
private static final PropertyUtils propertyUtils = new PropertyUtils(); |
||||
|
||||
private PropertyUtils(){ |
||||
init(); |
||||
} |
||||
|
||||
/** |
||||
* init |
||||
*/ |
||||
private void init(){ |
||||
String[] propertyFiles = new String[]{Constants.DATASOURCE_PROPERTIES}; |
||||
for (String fileName : propertyFiles) { |
||||
InputStream fis = null; |
||||
try { |
||||
fis = PropertyUtils.class.getResourceAsStream(fileName); |
||||
properties.load(fis); |
||||
|
||||
} catch (IOException e) { |
||||
logger.error(e.getMessage(), e); |
||||
if (fis != null) { |
||||
IOUtils.closeQuietly(fis); |
||||
} |
||||
System.exit(1); |
||||
} finally { |
||||
IOUtils.closeQuietly(fis); |
||||
} |
||||
} |
||||
} |
||||
|
||||
/** |
||||
* get property value |
||||
* @param key property name |
||||
* @return get string value |
||||
*/ |
||||
public static String getString(String key) { |
||||
return properties.getProperty(key); |
||||
} |
||||
|
||||
/** |
||||
* get property value |
||||
* |
||||
* @param key property name |
||||
* @param defaultVal default value |
||||
* @return property value |
||||
*/ |
||||
public static String getString(String key, String defaultVal) { |
||||
String val = properties.getProperty(key.trim()); |
||||
return val == null ? defaultVal : val; |
||||
} |
||||
|
||||
/** |
||||
* get property value |
||||
* @param key property name |
||||
* @return get property int value , if key == null, then return -1 |
||||
*/ |
||||
public static int getInt(String key) { |
||||
return getInt(key, -1); |
||||
} |
||||
|
||||
/** |
||||
* get property value |
||||
* @param key key |
||||
* @param defaultValue defaultValue |
||||
* @return get property int value,if key == null ,then return defaultValue |
||||
*/ |
||||
public static int getInt(String key, int defaultValue) { |
||||
String value = getString(key); |
||||
if (value == null) { |
||||
return defaultValue; |
||||
} |
||||
|
||||
try { |
||||
return Integer.parseInt(value); |
||||
} catch (NumberFormatException e) { |
||||
logger.info(e.getMessage(),e); |
||||
} |
||||
return defaultValue; |
||||
} |
||||
|
||||
/** |
||||
* get property value |
||||
* |
||||
* @param key property name |
||||
* @return property value |
||||
*/ |
||||
public static Boolean getBoolean(String key) { |
||||
String value = properties.getProperty(key.trim()); |
||||
if(null != value){ |
||||
return Boolean.parseBoolean(value); |
||||
} |
||||
|
||||
return false; |
||||
} |
||||
|
||||
/** |
||||
* get property value |
||||
* |
||||
* @param key property name |
||||
* @param defaultValue default value |
||||
* @return property value |
||||
*/ |
||||
public static Boolean getBoolean(String key, boolean defaultValue) { |
||||
String value = properties.getProperty(key.trim()); |
||||
if(null != value){ |
||||
return Boolean.parseBoolean(value); |
||||
} |
||||
|
||||
return defaultValue; |
||||
} |
||||
|
||||
/** |
||||
* get property long value |
||||
* @param key key |
||||
* @param defaultVal default value |
||||
* @return property value |
||||
*/ |
||||
public static long getLong(String key, long defaultVal) { |
||||
String val = getString(key); |
||||
return val == null ? defaultVal : Long.parseLong(val); |
||||
} |
||||
} |
@ -0,0 +1,77 @@
|
||||
/* |
||||
* 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.dolphinscheduler.server.master.dispatch.host.assign; |
||||
|
||||
import org.apache.dolphinscheduler.remote.utils.Host; |
||||
|
||||
/** |
||||
* host worker |
||||
*/ |
||||
public class HostWorker extends Host { |
||||
|
||||
/** |
||||
* host weight |
||||
*/ |
||||
private int hostWeight; |
||||
|
||||
/** |
||||
* worker group |
||||
*/ |
||||
private String workerGroup; |
||||
|
||||
public HostWorker(String ip, int port, int hostWeight, String workerGroup) { |
||||
super(ip, port); |
||||
this.hostWeight = hostWeight; |
||||
this.workerGroup = workerGroup; |
||||
} |
||||
|
||||
public HostWorker(String address, int hostWeight, String workerGroup) { |
||||
super(address); |
||||
this.hostWeight = hostWeight; |
||||
this.workerGroup = workerGroup; |
||||
} |
||||
|
||||
public int getHostWeight() { |
||||
return hostWeight; |
||||
} |
||||
|
||||
public void setHostWeight(int hostWeight) { |
||||
this.hostWeight = hostWeight; |
||||
} |
||||
|
||||
public String getWorkerGroup() { |
||||
return workerGroup; |
||||
} |
||||
|
||||
public void setWorkerGroup(String workerGroup) { |
||||
this.workerGroup = workerGroup; |
||||
} |
||||
|
||||
public static HostWorker of(String address, int hostWeight, String workerGroup) { |
||||
return new HostWorker(address, hostWeight, workerGroup); |
||||
} |
||||
|
||||
@Override |
||||
public String toString() { |
||||
return "Host{" |
||||
+ "hostWeight=" + hostWeight |
||||
+ ", workerGroup='" + workerGroup + '\'' |
||||
+ '}'; |
||||
} |
||||
|
||||
} |
@ -0,0 +1,43 @@
|
||||
/* |
||||
* 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.dolphinscheduler.server.master.dispatch.host.assign; |
||||
|
||||
import org.junit.Assert; |
||||
import org.junit.Test; |
||||
|
||||
public class HostWorkerTest { |
||||
|
||||
@Test |
||||
public void testHostWorker1() { |
||||
HostWorker hostWorker = new HostWorker("192.158.2.2", 11, 20, "default"); |
||||
Assert.assertEquals("192.158.2.2", hostWorker.getIp()); |
||||
Assert.assertEquals(11, hostWorker.getPort()); |
||||
Assert.assertEquals(20, hostWorker.getHostWeight()); |
||||
Assert.assertEquals("default", hostWorker.getWorkerGroup()); |
||||
} |
||||
|
||||
@Test |
||||
public void testHostWorker2() { |
||||
HostWorker hostWorker = HostWorker.of("192.158.2.2:22", 80, "default"); |
||||
Assert.assertEquals("192.158.2.2", hostWorker.getIp()); |
||||
Assert.assertEquals(22, hostWorker.getPort()); |
||||
Assert.assertEquals(80, hostWorker.getHostWeight()); |
||||
Assert.assertEquals("default", hostWorker.getWorkerGroup()); |
||||
} |
||||
|
||||
} |
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue