Compare commits

...

5 Commits

  1. 32
      src/main/java/com/fanruan/api/cal/ParameterKit.java
  2. 16
      src/main/java/com/fanruan/api/cluster/state/FineCollectionsKit.java
  3. 2
      src/main/java/com/fanruan/api/cluster/state/RedisConfigKit.java
  4. 8
      src/main/java/com/fanruan/api/cluster/state/StateServerConfigKit.java
  5. 15
      src/main/java/com/fanruan/api/cluster/state/StoreTemplateKit.java
  6. 49
      src/test/java/com/fanruan/api/cal/ParameterKitTest.java
  7. 24
      src/test/java/com/fanruan/api/cluster/state/FineCollectionsKitTest.java
  8. 2
      src/test/java/com/fanruan/api/cluster/state/FineJedisPoolKitTest.java
  9. 4
      src/test/java/com/fanruan/api/cluster/state/RedisConfigKitTest.java
  10. 2
      src/test/java/com/fanruan/api/cluster/state/StandAloneJedisKitTest.java
  11. 17
      src/test/java/com/fanruan/api/cluster/state/StateServerConfigKitTest.java
  12. 39
      src/test/java/com/fanruan/api/cluster/state/StoreTemplateKitTest.java

32
src/main/java/com/fanruan/api/cal/ParameterKit.java

@ -18,6 +18,7 @@ import com.fr.stable.script.NameSpace;
import org.jetbrains.annotations.NotNull;
import java.util.Date;
import java.util.List;
import java.util.Map;
/**
@ -144,6 +145,37 @@ public class ParameterKit {
return parameters;
}
/**
* 获得参数并集将新的参数拼接在后面
*
* @param paramTexts sql语句
* @param ps 旧的参数集合
* @return 新参数集合
*/
public static ParameterProvider[] analyzeAndMergeParameters(String[] paramTexts, ParameterProvider[] ps) {
ParameterProvider[] parameters = ParameterKit.analyze4Parameters(paramTexts, false);
if (ArrayKit.isEmpty(parameters) || ArrayKit.isEmpty(ps)) {
return ArrayUtils.addAll(ps, parameters);
}
List<ParameterProvider> psList = ArrayKit.toList(ps);
// 检查ps中是否有parameter,如果没有就加进去
for (ParameterProvider parameter : parameters) {
for (int i = 0; i < ps.length; i ++) {
if (AssistKit.equals(ps[i].getName(), parameter.getName())) {
break;
}
else if (i >= ps.length - 1) {
psList.add(parameter);
}
}
}
return psList.toArray(new ParameterProvider[0]);
}
/**
* 从JSON中解析出来参数信息
*

16
src/main/java/com/fanruan/api/cluster/state/FineCollectionsKit.java

@ -0,0 +1,16 @@
package com.fanruan.api.cluster.state;
import com.fr.collections.FineCollections;
import com.fr.collections.api.FineCollectionClient;
/**
* @author Dylan.Liu
* @version 10.0
* Created by Dylan.Liu on 2020/10/16
*/
public class FineCollectionsKit {
public static FineCollectionClient getClient() {
return FineCollections.getInstance().getClient();
}
}

2
src/main/java/com/fanruan/api/cluster/state/RedisConfigKit.java

@ -14,7 +14,6 @@ public class RedisConfigKit {
* @return Redis 里表名的统一的前缀
*/
public static String getTableNamePrefix() {
return RedisConfig.getInstance().getTableNamePrefix();
}
@ -23,7 +22,6 @@ public class RedisConfigKit {
* @return Redis 里过期 key 删除间隔时间
*/
public static int getExpireStateRemoveInterval() {
return RedisConfig.getInstance().getExpireStateRemoveInterval();
}
}

8
src/main/java/com/fanruan/api/cluster/state/StateServerConfigKit.java

@ -16,7 +16,6 @@ public class StateServerConfigKit {
* @return 当前状态服务器类型
*/
public static String getType() {
return StateServerConfig.getInstance().getType();
}
@ -25,16 +24,18 @@ public class StateServerConfigKit {
* @param isShareMode 当前是否开启状态服务器
*/
public static void setShareMode(boolean isShareMode) {
StateServerConfig.getInstance().setShareMode(isShareMode);
}
public static boolean isShareMode() {
return StateServerConfig.getInstance().isShareMode();
}
/**
* 设置状态服务器类型
* @param type 状态服务器类型
*/
public static void setType(String type) {
StateServerConfig.getInstance().setType(type);
}
@ -43,7 +44,6 @@ public class StateServerConfigKit {
* @return StateServerConfig 类对象
*/
public static Class<? extends Configuration> getConfigClass() {
return StateServerConfig.class;
}
}

15
src/main/java/com/fanruan/api/cluster/state/StoreTemplateKit.java

@ -0,0 +1,15 @@
package com.fanruan.api.cluster.state;
import com.fr.store.impl.StoreTemplate;
/**
* @author Dylan.Liu
* @version 10.0
* Created by Dylan.Liu on 2020/10/16
*/
public class StoreTemplateKit {
public static void close(){
StoreTemplate.getInstance().close();
}
}

49
src/test/java/com/fanruan/api/cal/ParameterKitTest.java

@ -132,6 +132,55 @@ public class ParameterKitTest extends Prepare {
}
}
@Test
public void testAnalyzeAndMergeParameters() {
ParameterProvider param1 = ParameterKit.newParameter("test1", "1");
ParameterProvider param2 = ParameterKit.newParameter("test2", "2");
String text1 = "${a}";
String text2 = "${test1}";
ParameterProvider[] parameters1 = ParameterKit.analyzeAndMergeParameters(
new String[]{text1, text2},
new ParameterProvider[] {param1, param2}
);
ParameterProvider[] parameters2 = ParameterKit.analyzeAndMergeParameters(null, null);
ParameterProvider[] parameters3 = ParameterKit.analyzeAndMergeParameters(
null,
new ParameterProvider[] {param1, param2}
);
ParameterProvider[] parameters4 = ParameterKit.analyzeAndMergeParameters(
new String[] {},
new ParameterProvider[] {param1, param2}
);
ParameterProvider[] parameters5 = ParameterKit.analyzeAndMergeParameters(
new String[]{text1, text2},
new ParameterProvider[] {}
);
Assert.assertEquals(parameters1.length, 3);
Assert.assertEquals(parameters1[0], param1);
Assert.assertEquals(parameters1[1], param2);
Assert.assertEquals(parameters1[2].getName(), "a");
Assert.assertEquals(parameters1[2].getValue(), "");
Assert.assertEquals(parameters2.length, 0);
Assert.assertEquals(parameters3.length, 2);
Assert.assertEquals(parameters3[0], param1);
Assert.assertEquals(parameters3[1], param2);
Assert.assertEquals(parameters4.length, 2);
Assert.assertEquals(parameters4[0], param1);
Assert.assertEquals(parameters4[1], param2);
Assert.assertEquals(parameters5.length, 2);
Assert.assertEquals(parameters5[0].getName(), "a");
Assert.assertEquals(parameters5[0].getValue(), "");
Assert.assertEquals(parameters5[1].getName(), "test1");
Assert.assertEquals(parameters5[1].getValue(), "");
}
@Test
public void json2Parameter() {
String text = "{\"name\":\"p1\", \"type\":\"Formula\", \"value\":\"=1+1\"}";

24
src/test/java/com/fanruan/api/cluster/state/FineCollectionsKitTest.java

@ -0,0 +1,24 @@
package com.fanruan.api.cluster.state;
import com.fr.collections.api.FineCollectionClient;
import com.fr.collections.api.FineCollectionClientWrapper;
import org.junit.Test;
import static org.easymock.EasyMock.*;
import static org.junit.Assert.*;
/**
* @author Dylan.Liu
* @version 10.0
* Created by Dylan.Liu on 2020/10/23
*/
public class FineCollectionsKitTest {
@Test
public void testGetClient() throws Exception {
// test
FineCollectionClient client = FineCollectionsKit.getClient();
assertTrue(client instanceof FineCollectionClientWrapper);
}
}

2
src/test/java/com/fanruan/api/cluster/state/FineJedisPoolKitTest.java

@ -19,7 +19,7 @@ import static org.easymock.EasyMock.mock;
public class FineJedisPoolKitTest {
@Test
public void TestSetRealClient() {
public void testSetRealClient() {
FineJedisPoolKit.setRealClient(new FineStoreWrapper() {

4
src/test/java/com/fanruan/api/cluster/state/RedisConfigKitTest.java

@ -13,7 +13,7 @@ import org.junit.Test;
public class RedisConfigKitTest extends Prepare {
@Test
public void TestGetTableNamePrefix() {
public void testGetTableNamePrefix() {
RedisConfig.getInstance().setTableNamePrefix("test_table name_prefix");
Assert.assertEquals("test_table name_prefix", RedisConfigKit.getTableNamePrefix());
@ -23,7 +23,7 @@ public class RedisConfigKitTest extends Prepare {
}
@Test
public void TestGetExpireStateRemoveInterval() {
public void testGetExpireStateRemoveInterval() {
RedisConfig.getInstance().setExpireStateRemoveInterval(111);
Assert.assertEquals(111, RedisConfig.getInstance().getExpireStateRemoveInterval());

2
src/test/java/com/fanruan/api/cluster/state/StandAloneJedisKitTest.java

@ -18,7 +18,7 @@ import static org.easymock.EasyMock.mock;
public class StandAloneJedisKitTest {
@Test
public void TestCreateStandAloneJedis() {
public void testCreateStandAloneJedis() {
Jedis mockJedis = mock(Jedis.class);
expect(mockJedis.type(anyObject(byte[].class))).andReturn("test_echo");

17
src/test/java/com/fanruan/api/cluster/state/StateServerConfigKitTest.java

@ -13,7 +13,7 @@ import org.junit.Test;
public class StateServerConfigKitTest extends Prepare {
@Test
public void TestGetType() {
public void testGetType() {
StateServerConfig.getInstance().setType("test_type");
Assert.assertEquals("test_type", StateServerConfigKit.getType());
@ -23,7 +23,7 @@ public class StateServerConfigKitTest extends Prepare {
}
@Test
public void TestSetShareMode() {
public void testSetShareMode() {
StateServerConfigKit.setShareMode(true);
Assert.assertTrue(StateServerConfig.getInstance().isShareMode());
@ -33,7 +33,7 @@ public class StateServerConfigKitTest extends Prepare {
}
@Test
public void TestSetType() {
public void testSetType() {
StateServerConfigKit.setType("test_type3");
Assert.assertEquals("test_type3", StateServerConfig.getInstance().getType());
@ -43,8 +43,17 @@ public class StateServerConfigKitTest extends Prepare {
}
@Test
public void TestGetConfigClass() {
public void testGetConfigClass() {
Assert.assertEquals(StateServerConfigKit.getConfigClass(), StateServerConfig.class);
}
@Test
public void testIsShareMode() {
StateServerConfig.getInstance().setShareMode(false);
Assert.assertFalse(StateServerConfigKit.isShareMode());
StateServerConfig.getInstance().setShareMode(true);
Assert.assertTrue(StateServerConfigKit.isShareMode());
}
}

39
src/test/java/com/fanruan/api/cluster/state/StoreTemplateKitTest.java

@ -0,0 +1,39 @@
package com.fanruan.api.cluster.state;
import com.fr.ftp.client.FineSFTPClient;
import com.fr.store.impl.accessor.FineStorePool;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.powermock.api.easymock.PowerMock;
import org.powermock.core.classloader.annotations.PrepareForTest;
import org.powermock.modules.junit4.PowerMockRunner;
import static org.easymock.EasyMock.*;
import static org.junit.Assert.*;
/**
* @author Dylan.Liu
* @version 10.0
* Created by Dylan.Liu on 2020/10/23
*/
@RunWith(PowerMockRunner.class)
@PrepareForTest({FineStorePool.class})
public class StoreTemplateKitTest {
@Test
public void testClose() throws Exception {
// test
FineStorePool fineStorePool = mock(FineStorePool.class);
fineStorePool.close();
expectLastCall().times(1);
PowerMock.mockStaticPartial(FineStorePool.class, "getPool");
expect(FineStorePool.getPool()).andReturn(fineStorePool).times(1);
PowerMock.replayAll();
StoreTemplateKit.close();
PowerMock.verifyAll();
}
}
Loading…
Cancel
Save