本文整理汇总了Java中com.vexsoftware.votifier.model.Vote类的典型用法代码示例。如果您正苦于以下问题:Java Vote类的具体用法?Java Vote怎么用?Java Vote使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
Vote类属于com.vexsoftware.votifier.model包,在下文中一共展示了Vote类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: onVoteReceived
import com.vexsoftware.votifier.model.Vote; //导入依赖的package包/类
@Override
public void onVoteReceived(Channel channel, final Vote vote, VotifierSession.ProtocolVersion protocolVersion) throws Exception {
if (debug) {
if (protocolVersion == VotifierSession.ProtocolVersion.ONE) {
getLogger().info("Got a protocol v1 vote record from " + channel.remoteAddress() + " -> " + vote);
} else {
getLogger().info("Got a protocol v2 vote record from " + channel.remoteAddress() + " -> " + vote);
}
}
Bukkit.getScheduler().runTask(this, new Runnable() {
@Override
public void run() {
Bukkit.getPluginManager().callEvent(new VotifierEvent(vote));
}
});
}
开发者ID:NuVotifier,项目名称:NuVotifier,代码行数:17,代码来源:NuVotifierBukkit.java
示例2: onVoteReceived
import com.vexsoftware.votifier.model.Vote; //导入依赖的package包/类
@Override
public void onVoteReceived(Channel channel, final Vote vote, VotifierSession.ProtocolVersion protocolVersion) throws Exception {
if (debug) {
if (protocolVersion == VotifierSession.ProtocolVersion.ONE) {
logger.info("Got a protocol v1 vote record from " + channel.remoteAddress() + " -> " + vote);
} else {
logger.info("Got a protocol v2 vote record from " + channel.remoteAddress() + " -> " + vote);
}
}
Sponge.getScheduler().createTaskBuilder()
.execute(new Runnable() {
@Override
public void run() {
VotifierEvent event = new VotifierEvent(vote, Sponge.getCauseStackManager().getCurrentCause());
Sponge.getEventManager().post(event);
}
})
.submit(this);
}
开发者ID:NuVotifier,项目名称:NuVotifier,代码行数:20,代码来源:VotifierPlugin.java
示例3: onVoteReceived
import com.vexsoftware.votifier.model.Vote; //导入依赖的package包/类
@Override
public void onVoteReceived(Channel channel, final Vote vote, VotifierSession.ProtocolVersion protocolVersion) throws Exception {
if (debug) {
if (protocolVersion == VotifierSession.ProtocolVersion.ONE) {
getLogger().info("Got a protocol v1 vote record from " + channel.remoteAddress() + " -> " + vote);
} else {
getLogger().info("Got a protocol v2 vote record from " + channel.remoteAddress() + " -> " + vote);
}
}
getProxy().getScheduler().runAsync(this, new Runnable() {
@Override
public void run() {
getProxy().getPluginManager().callEvent(new VotifierEvent(vote));
}
});
if (forwardingMethod != null) {
getProxy().getScheduler().runAsync(this, new Runnable() {
@Override
public void run() {
forwardingMethod.forward(vote);
}
});
}
}
开发者ID:NuVotifier,项目名称:NuVotifier,代码行数:27,代码来源:NuVotifier.java
示例4: testFailureDecodeBadRsa
import com.vexsoftware.votifier.model.Vote; //导入依赖的package包/类
@Test(expected = CorruptedFrameException.class)
public void testFailureDecodeBadRsa() throws Exception {
// Decode our bad RSA key
KeyFactory keyFactory = KeyFactory.getInstance("RSA");
X509EncodedKeySpec publicKeySpec = new X509EncodedKeySpec(TestVotifierPlugin.r("/bad_public.key"));
PublicKey badPublicKey = keyFactory.generatePublic(publicKeySpec);
// Send the bad vote
EmbeddedChannel channel = createChannel();
byte[] encrypted = VoteUtil.encodePOJOv1(new Vote("Test", "test", "test", "test"), badPublicKey);
ByteBuf encryptedByteBuf = Unpooled.wrappedBuffer(encrypted);
try {
channel.writeInbound(encryptedByteBuf);
} finally {
channel.close();
}
}
开发者ID:NuVotifier,项目名称:NuVotifier,代码行数:20,代码来源:VotifierProtocol1DecoderTest.java
示例5: tryIdentifyRealVotev1
import com.vexsoftware.votifier.model.Vote; //导入依赖的package包/类
@Test
public void tryIdentifyRealVotev1() throws Exception {
EmbeddedChannel channel = new EmbeddedChannel(new VotifierProtocolDifferentiator(true, true));
VotifierSession session = new VotifierSession();
channel.attr(VotifierSession.KEY).set(session);
Vote votePojo = new Vote("Test", "test", "test", "test");
byte[] encrypted = VoteUtil.encodePOJOv1(votePojo);
ByteBuf encryptedByteBuf = Unpooled.wrappedBuffer(encrypted);
channel.writeInbound(encryptedByteBuf);
assertEquals(VotifierSession.ProtocolVersion.ONE, session.getVersion());
channel.close();
}
开发者ID:NuVotifier,项目名称:NuVotifier,代码行数:17,代码来源:VotifierProtocolDifferentiatorTest.java
示例6: sendVote
import com.vexsoftware.votifier.model.Vote; //导入依赖的package包/类
private void sendVote(Vote vote, Key key, boolean expectSuccess) throws Exception {
// Create a well-formed request
EmbeddedChannel channel = createChannel();
JSONObject object = new JSONObject();
JSONObject payload = vote.serialize();
payload.put("challenge", SESSION.getChallenge());
object.put("payload", payload.toString());
Mac mac = Mac.getInstance("HmacSHA256");
mac.init(key);
object.put("signature",
Base64.getEncoder().encodeToString(mac.doFinal(payload.toString().getBytes(StandardCharsets.UTF_8))));
if (expectSuccess) {
assertTrue(channel.writeInbound(object.toString()));
assertEquals(vote, channel.readInbound());
assertFalse(channel.finish());
} else {
try {
channel.writeInbound(object.toString());
} finally {
channel.close();
}
}
}
开发者ID:NuVotifier,项目名称:NuVotifier,代码行数:26,代码来源:VotifierProtocol2DecoderTest.java
示例7: testFailureDecodeBadPacket
import com.vexsoftware.votifier.model.Vote; //导入依赖的package包/类
@Test(expected = DecoderException.class)
public void testFailureDecodeBadPacket() throws Exception {
// Create a well-formed request
EmbeddedChannel channel = createChannel();
Vote vote = new Vote("Test", "test", "test", "0");
JSONObject object = new JSONObject();
JSONObject payload = vote.serialize();
payload.put("challenge", SESSION.getChallenge());
object.put("payload", payload.toString());
// We "forget" the signature.
try {
channel.writeInbound(object.toString());
} finally {
channel.close();
}
}
开发者ID:NuVotifier,项目名称:NuVotifier,代码行数:19,代码来源:VotifierProtocol2DecoderTest.java
示例8: testFailureDecodeBadVoteField
import com.vexsoftware.votifier.model.Vote; //导入依赖的package包/类
@Test(expected = DecoderException.class)
public void testFailureDecodeBadVoteField() throws Exception {
// Create a well-formed request
EmbeddedChannel channel = createChannel();
Vote vote = new Vote("Test", "test", "test", "0");
JSONObject object = new JSONObject();
JSONObject payload = vote.serialize();
// We "forget" the challenge.
object.put("payload", payload.toString());
Mac mac = Mac.getInstance("HmacSHA256");
mac.init(TestVotifierPlugin.getI().getTokens().get("default"));
object.put("signature",
Base64.getEncoder().encodeToString(mac.doFinal(payload.toString().getBytes(StandardCharsets.UTF_8))));
try {
channel.writeInbound(object.toString());
} finally {
channel.close();
}
}
开发者ID:NuVotifier,项目名称:NuVotifier,代码行数:22,代码来源:VotifierProtocol2DecoderTest.java
示例9: testFailureDecodeBadChallenge
import com.vexsoftware.votifier.model.Vote; //导入依赖的package包/类
@Test(expected = DecoderException.class)
public void testFailureDecodeBadChallenge() throws Exception {
// Create a well-formed request
EmbeddedChannel channel = createChannel();
Vote vote = new Vote("Test", "test", "test", "0");
JSONObject object = new JSONObject();
JSONObject payload = vote.serialize();
// We provide the wrong challenge.
payload.put("challenge", "not a challenge for me");
object.put("payload", payload.toString());
Mac mac = Mac.getInstance("HmacSHA256");
mac.init(TestVotifierPlugin.getI().getTokens().get("default"));
object.put("signature",
Base64.getEncoder().encode(mac.doFinal(payload.toString().getBytes(StandardCharsets.UTF_8))));
try {
channel.writeInbound(object.toString());
} finally {
channel.close();
}
}
开发者ID:NuVotifier,项目名称:NuVotifier,代码行数:23,代码来源:VotifierProtocol2DecoderTest.java
示例10: onVotifierEvent
import com.vexsoftware.votifier.model.Vote; //导入依赖的package包/类
@EventHandler(priority = EventPriority.NORMAL)
public void onVotifierEvent(VotifierEvent event) {
Vote vote = event.getVote();
System.out.println("Received vote: " + vote);
String name = vote.getUsername();
Runnable callback = () -> {
System.out.println("Processed vote for " + name + " from " + vote.getServiceName() + ".");
};
RewardsManager.givePoints(name, 1, VOTE_MESSAGE, callback);
}
开发者ID:edasaki,项目名称:ZentrelaRPG,代码行数:11,代码来源:VoteManager.java
示例11: onPluginMessageReceived
import com.vexsoftware.votifier.model.Vote; //导入依赖的package包/类
@Override
public void onPluginMessageReceived(String s, Player player, byte[] bytes) {
try {
String message = new String(bytes, StandardCharsets.UTF_8);
JSONObject jsonObject = new JSONObject(message);
Vote v = new Vote(jsonObject);
listener.onForward(v);
} catch (Exception e) {
NuVotifierBukkit.getInstance().getLogger().log(Level.SEVERE, "There was an unknown error when processing a forwarded vote.", e);
}
}
开发者ID:NuVotifier,项目名称:NuVotifier,代码行数:12,代码来源:BukkitPluginMessagingForwardingSink.java
示例12: onForward
import com.vexsoftware.votifier.model.Vote; //导入依赖的package包/类
@Override
public void onForward(final Vote v) {
if (debug) {
getLogger().info("Got a forwarded vote -> " + v);
}
Bukkit.getScheduler().runTask(this, new Runnable() {
@Override
public void run() {
Bukkit.getPluginManager().callEvent(new VotifierEvent(v));
}
});
}
开发者ID:NuVotifier,项目名称:NuVotifier,代码行数:13,代码来源:NuVotifierBukkit.java
示例13: handlePayload
import com.vexsoftware.votifier.model.Vote; //导入依赖的package包/类
@Override
public void handlePayload(ChannelBuf channelBuf, RemoteConnection remoteConnection, Platform.Type type) {
try {
String message = new String(channelBuf.array(), StandardCharsets.UTF_8);
JSONObject jsonObject = new JSONObject(message);
Vote v = new Vote(jsonObject);
listener.onForward(v);
} catch (Exception e) {
p.getLogger().error("There was an unknown error when processing a forwarded vote.", e);
}
}
开发者ID:NuVotifier,项目名称:NuVotifier,代码行数:12,代码来源:SpongePluginMessagingForwardingSink.java
示例14: onForward
import com.vexsoftware.votifier.model.Vote; //导入依赖的package包/类
@Override
public void onForward(final Vote v) {
if (debug) {
logger.info("Got a forwarded vote -> " + v);
}
Sponge.getScheduler().createTaskBuilder()
.execute(new Runnable() {
@Override
public void run() {
VotifierEvent event = new VotifierEvent(v, Sponge.getCauseStackManager().getCurrentCause());
Sponge.getEventManager().post(event);
}
})
.submit(this);
}
开发者ID:NuVotifier,项目名称:NuVotifier,代码行数:16,代码来源:VotifierPlugin.java
示例15: forward
import com.vexsoftware.votifier.model.Vote; //导入依赖的package包/类
@Override
public void forward(Vote v) {
ProxiedPlayer p = ProxyServer.getInstance().getPlayer(v.getUsername());
if (p == null || !forwardSpecific(p.getServer().getInfo(), v)) {
ServerInfo serverInfo = ProxyServer.getInstance().getServers().get(fallbackServer);
// nowhere to fall back to, yet still not online. lets save this vote yet!
if (serverInfo == null)
attempToAddToPlayerCache(v, v.getUsername());
else if (!forwardSpecific(serverInfo, v))
attemptToAddToCache(v, fallbackServer);
}
}
开发者ID:NuVotifier,项目名称:NuVotifier,代码行数:15,代码来源:OnlineForwardPluginMessagingForwardingSource.java
示例16: handleFailure
import com.vexsoftware.votifier.model.Vote; //导入依赖的package包/类
private void handleFailure(final BackendServer server, final Vote v, Throwable cause, final int tries) {
int nextDelay = fib(tries + 1);
boolean willRetry = tries < MAX_RETRIES;
String msg = "Unable to send vote to " + server.address + ".";
if (willRetry) {
msg += " Will retry sending in " + nextDelay + " second(s).";
} else {
if (voteCache == null) {
msg += " This vote will be lost!";
} else {
voteCache.addToCache(v, server.name);
}
}
if (plugin.isDebug()) {
plugin.getLogger().log(Level.SEVERE, msg, cause);
} else {
plugin.getLogger().log(Level.SEVERE, msg);
}
if (willRetry) {
plugin.getProxy().getScheduler().schedule(plugin, new Runnable() {
@Override
public void run() {
forwardVote(server, v, tries + 1);
}
}, nextDelay, TimeUnit.SECONDS);
}
}
开发者ID:NuVotifier,项目名称:NuVotifier,代码行数:31,代码来源:ProxyForwardingVoteSource.java
示例17: readVotes
import com.vexsoftware.votifier.model.Vote; //导入依赖的package包/类
private Collection<Vote> readVotes(JSONArray voteArray) {
List<Vote> votes = new ArrayList<>(voteArray.length());
for (int i = 0; i < voteArray.length(); i++) {
JSONObject voteObject = voteArray.getJSONObject(i);
Vote v = new Vote(voteObject);
if (hasTimedOut(v))
l.log(Level.WARNING, "Purging out of date vote.", v);
else
votes.add(v);
}
return votes;
}
开发者ID:NuVotifier,项目名称:NuVotifier,代码行数:13,代码来源:FileVoteCache.java
示例18: serializeMap
import com.vexsoftware.votifier.model.Vote; //导入依赖的package包/类
public JSONObject serializeMap(Map<String, Collection<Vote>> map) {
JSONObject o = new JSONObject();
Iterator<Map.Entry<String, Collection<Vote>>> entryItr = map.entrySet().iterator();
while (entryItr.hasNext()) {
Map.Entry<String, Collection<Vote>> entry = entryItr.next();
JSONArray array = new JSONArray();
Iterator<Vote> voteItr = entry.getValue().iterator();
while (voteItr.hasNext()) {
Vote vote = voteItr.next();
// if the vote is no longer valid, notify and remove
if (hasTimedOut(vote)) {
l.log(Level.WARNING, "Purging out of date vote.", vote);
voteItr.remove();
} else {
array.put(vote.serialize());
}
}
// if, during our iteration, we TTL invalidated all of the votes
if (entry.getValue().isEmpty())
entryItr.remove();
o.put(entry.getKey(), o);
}
return o;
}
开发者ID:NuVotifier,项目名称:NuVotifier,代码行数:29,代码来源:FileVoteCache.java
示例19: addToCache
import com.vexsoftware.votifier.model.Vote; //导入依赖的package包/类
@Override
public void addToCache(Vote v, String server) {
if (server == null) throw new NullPointerException();
cacheLock.lock();
try {
Collection<Vote> voteCollection = voteCache.get(server);
if (voteCollection == null) {
voteCollection = new ArrayList<>();
voteCache.put(server, voteCollection);
}
voteCollection.add(v);
} finally {
cacheLock.unlock();
}
}
开发者ID:NuVotifier,项目名称:NuVotifier,代码行数:16,代码来源:MemoryVoteCache.java
示例20: addToCachePlayer
import com.vexsoftware.votifier.model.Vote; //导入依赖的package包/类
@Override
public void addToCachePlayer(Vote v, String player) {
if (player == null) throw new NullPointerException();
cacheLock.lock();
try {
Collection<Vote> voteCollection = playerVoteCache.get(player);
if (voteCollection == null) {
voteCollection = new ArrayList<>();
playerVoteCache.put(player, voteCollection);
}
voteCollection.add(v);
} finally {
cacheLock.unlock();
}
}
开发者ID:NuVotifier,项目名称:NuVotifier,代码行数:16,代码来源:MemoryVoteCache.java
注:本文中的com.vexsoftware.votifier.model.Vote类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论