use of com.tvd12.calabash.core.IAtomicLong in project calabash by youngmonkeys.
the class CalabashClientTest method test.
@SuppressWarnings("unchecked")
public void test() throws Exception {
CalabaseClient client = CalabashClientFactory.builder().build().newClient();
EntityMap<String, String> map = client.getMap("world", String.class, String.class);
System.out.println("Map: " + map);
map.set("Hello", "World");
System.out.println("set ok");
map.put("Foo", "Bar");
System.out.println("put ok");
map.putAll(EzyMapBuilder.mapBuilder().put("Who", "Are You?").build());
System.out.println("Hello " + map.get("Hello"));
System.out.println("Hello " + map.get(Sets.newHashSet("Hello", "Who")));
IAtomicLong atomicLong = client.getAtomicLong("hello");
System.out.println("AtomicLong.id = " + atomicLong);
System.out.println("AtomicLong.value1 = " + atomicLong.incrementAndGet());
System.out.println("AtomicLong.value2 = " + atomicLong.addAndGet(100));
MessageChannel<String> messageChannel = client.getMessageChannel("hello", String.class);
messageChannel.addSubscriber(message -> {
System.out.println("received message: " + message);
});
System.out.println("message channel: " + messageChannel);
Thread.sleep(500);
messageChannel.publish("Don't do that");
System.out.println("publish message ok");
}
use of com.tvd12.calabash.core.IAtomicLong in project calabash by youngmonkeys.
the class LocalMapPersistExample method test.
@SuppressWarnings("rawtypes")
public void test() throws Exception {
SimpleSettings settings = new SimpleSettings();
SimpleEntityMapPersistSetting mapPersistSetting = new SimpleEntityMapPersistSetting();
mapPersistSetting.setWriteDelay(0);
SimpleEntityMapSetting mapSetting = new SimpleEntityMapSetting();
mapSetting.setMapName(CollectionNames.PERSON);
mapSetting.setPersistSetting(mapPersistSetting);
settings.addMapSetting(mapSetting);
EzyBeanContext beanContext = newBeanContext();
SimpleEntityMapPersistFactory.Builder mapPersistFactoryBuilder = SimpleEntityMapPersistFactory.builder();
List mapPersistenceList = beanContext.getSingletons(MapPersistence.class);
for (Object mapPersist : mapPersistenceList) {
String mapName = MapPersistenceAnnotations.getMapName(mapPersist);
mapPersistFactoryBuilder.addMapPersist(mapName, (EntityMapPersist) mapPersist);
}
Calabash calabash = new CalabashBuilder().settings(settings).mapPersistFactory(mapPersistFactoryBuilder.build()).build();
Person person = new Person(11, "person 6", 18);
EntityMap<Long, Person> entityMap = calabash.getEntityMap(CollectionNames.PERSON);
entityMap.put(person.getId(), person);
IAtomicLong atomicLong = calabash.getAtomicLong("hello");
long newValue = atomicLong.addAndGet(100L);
System.out.println("atomic long new value: " + newValue);
Map<String, Object> statistics = new HashMap<>();
// noinspection InfiniteLoopStatement
while (true) {
// noinspection BusyWait
Thread.sleep(1000);
((StatisticsAware) calabash).addStatistics(statistics);
System.out.println("statistics: " + statistics);
}
}
use of com.tvd12.calabash.core.IAtomicLong in project calabash by youngmonkeys.
the class SimpleAtomicLongManager method newAtomicLong.
protected IAtomicLong newAtomicLong(String name) {
synchronized (atomicLongs) {
IAtomicLong atomicLong = atomicLongs.get(name);
if (atomicLong == null) {
atomicLong = new AtomicLongImpl(name, map);
atomicLongs.put(name, atomicLong);
}
return atomicLong;
}
}
use of com.tvd12.calabash.core.IAtomicLong in project calabash by youngmonkeys.
the class SimpleAtomicLongManager method newAtomicLong.
protected IAtomicLong newAtomicLong(String name) {
synchronized (atomicLongs) {
IAtomicLong atomicLong = atomicLongs.get(name);
if (atomicLong == null) {
atomicLong = new AtomicLongImpl(name, map);
atomicLongs.put(name, atomicLong);
}
return atomicLong;
}
}
use of com.tvd12.calabash.core.IAtomicLong in project calabash by youngmonkeys.
the class AtomicLongProvider method newAtomicLong.
protected IAtomicLong newAtomicLong(String name) {
synchronized (atomicLongs) {
IAtomicLong atomicLong = atomicLongs.get(name);
if (atomicLong == null) {
atomicLong = atomicLongFactory.newAtomicLong(name);
atomicLongs.put(name, atomicLong);
}
return atomicLong;
}
}
Aggregations