com.google.common.cache.CacheLoader#InvalidCacheLoadException ( )源码实例Demo

下面列出了com.google.common.cache.CacheLoader#InvalidCacheLoadException ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: poli   文件: ReportService.java
public List<Report> getReportsByUser(User user) {
    if (StringUtils.isEmpty(user)) {
        return Collections.emptyList();
    }

    try {
        List<Report> rt = USER_REPORT_CACHE.get(user.getId(), () -> {
            List<Report> reports = new ArrayList<>();
            if (Constants.SYS_ROLE_VIEWER.equals(user.getSysRole())) {
                reports = reportDao.findByViewer(user.getId());
            } else {
                reports = reportDao.findAll();
            }

            return reports;
        });
        return rt;
    } catch (ExecutionException | CacheLoader.InvalidCacheLoadException e) {
        return Collections.emptyList();
    }
}
 
源代码2 项目: poli   文件: SharedReportService.java
public SharedLinkInfo getSharedLinkInfoByShareKey(String shareKey) {
    if (StringUtils.isEmpty(shareKey)) {
        return null;
    }

    try {
        SharedLinkInfo info = SHARE_LINK_INFO_CACHE.get(shareKey, () -> {
            User u = userDao.findByShareKey(shareKey);
            u.setUserAttributes(userDao.findUserAttributes(u.getId()));
            SharedReport sharedReport = sharedReportDao.findByShareKey(shareKey);
            long reportId = sharedReport.getReportId();
            List<Component> components = componentDao.findByReportId(reportId);
            Set<String> componentQueryUrls = new HashSet<>();
            for (Component component : components) {
                componentQueryUrls.add("/ws/jdbcquery/component/" + component.getId());
            }

            return new SharedLinkInfo(u, reportId, componentQueryUrls);
        });
        return info;
    } catch (ExecutionException | CacheLoader.InvalidCacheLoadException e) {
        return null;
    }
}
 
源代码3 项目: poli   文件: UserService.java
public User getUserBySessionKey(String sessionKey) {
    if (StringUtils.isEmpty(sessionKey)) {
        return null;
    }

    try {
        User user = SESSION_USER_CACHE.get(sessionKey, () -> {
            User u = userDao.findBySessionKey(sessionKey);
            u.setUserAttributes(userDao.findUserAttributes(u.getId()));
            return u;
        });
        return user;
    } catch (ExecutionException | CacheLoader.InvalidCacheLoadException e) {
        return null;
    }
}
 
源代码4 项目: poli   文件: UserService.java
public User getUserByApiKey(String apiKey) {
    if (StringUtils.isEmpty(apiKey)) {
        return null;
    }

    try {
        User user = API_KEY_USER_CACHE.get(apiKey, () -> {
            User u = userDao.findByApiKey(apiKey);
            u.setUserAttributes(userDao.findUserAttributes(u.getId()));
            return u;
        });
        return user;
    } catch (ExecutionException | CacheLoader.InvalidCacheLoadException e) {
        return null;
    }
}
 
源代码5 项目: 07kit   文件: PriceLookup.java
public static List<PriceInfo> search(String term, int limit) {
	try {
		Request request = Request.Get(API_URL + "search?term=" + URLEncoder.encode(term, "UTF-8") + "&limit=" + limit);
		request.addHeader(AUTH_HEADER_KEY, "Bearer " + Session.get().getApiToken());

		HttpResponse response = Executor.newInstance(HttpUtil.getClient()).execute(request).returnResponse();
		if (response != null) {
			if (response.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
				byte[] bytes = EntityUtils.toByteArray(response.getEntity());
				return GSON.fromJson(new String(bytes), PRICE_INFO_LIST_TYPE);
			}
		}
		return new ArrayList<>();
	} catch (IOException | CacheLoader.InvalidCacheLoadException e) {
		e.printStackTrace();
		return new ArrayList<>();
	}
}
 
源代码6 项目: poli   文件: JdbcDataSourceService.java
public DataSource getDataSource(long dataSourceId) {
    if (dataSourceId == 0) {
        return null;
    }

    try {
        DataSource hiDs = DATA_SOURCE_CACHE.get(dataSourceId, () -> {
            JdbcDataSource dataSource = jdbcDataSourceDao.findById(dataSourceId);
            if (dataSource == null) {
                return null;
            }
            HikariDataSource newHiDs = new HikariDataSource();
            newHiDs.setJdbcUrl(dataSource.getConnectionUrl());
            newHiDs.setUsername(dataSource.getUsername());
            newHiDs.setPassword(dataSource.getPassword());
            if (!StringUtils.isEmpty(dataSource.getDriverClassName())) {
                newHiDs.setDriverClassName(dataSource.getDriverClassName());
            }
            newHiDs.setMaximumPoolSize(appProperties.getDatasourceMaximumPoolSize());
            newHiDs.setLeakDetectionThreshold(LEAK_DETECTION_THRESHOLD);
            return newHiDs;
        });
        return hiDs;
    } catch (ExecutionException | CacheLoader.InvalidCacheLoadException e) {
        return null;
    }
}
 
源代码7 项目: dremio-oss   文件: TokenManagerImpl.java
private SessionState getSessionState(final String token) {
  checkArgument(token != null, "invalid token");
  final SessionState value;
  try {
    value = tokenCache.getUnchecked(token);
  } catch (CacheLoader.InvalidCacheLoadException ignored) {
    throw new IllegalArgumentException("invalid token");
  }

  return value;
}
 
源代码8 项目: 07kit   文件: PriceLookup.java
public static Map<Integer, Integer> getPrices(Collection<Integer> ids) {
	try {
		Map<Integer, Integer> prices = new HashMap<>();
		List<Integer> idsClone = new ArrayList<>(ids);

		idsClone.forEach(id -> {
			if (id == 995) {
				prices.put(id, 1);
			} else {
				PriceInfo info = PRICE_INFO_CACHE.getIfPresent(String.valueOf(id));
				if (info != null) {
					prices.put(info.getItemId(), info.getBuyAverage());
				}
			}
		});

		idsClone.removeAll(prices.keySet());

		if (idsClone.size() == 0) {
			return prices;
		}

		Request request = Request.Post(API_URL + "ids");
		request.addHeader(AUTH_HEADER_KEY, "Bearer " + Session.get().getApiToken());
		request.bodyString(GSON.toJson(idsClone), ContentType.APPLICATION_JSON);

		HttpResponse response = Executor.newInstance(HttpUtil.getClient()).execute(request).returnResponse();
		if (response != null) {
			if (response.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
				byte[] bytes = EntityUtils.toByteArray(response.getEntity());
				List<PriceInfo> infos = GSON.fromJson(new String(bytes), PRICE_INFO_LIST_TYPE);
				infos.forEach(i -> {
					PRICE_INFO_CACHE.put(String.valueOf(i.getItemId()), i);
					prices.put(i.getItemId(), i.getBuyAverage());
				});
			}
		}

		return prices;
	} catch (IOException | CacheLoader.InvalidCacheLoadException e) {
		e.printStackTrace();
		return new HashMap<>();
	}
}
 
源代码9 项目: MantaroBot   文件: MantaroListener.java
private void logDelete(GuildMessageDeleteEvent event) {
    try {
        String hour = df.format(new Date(System.currentTimeMillis()));
        final ManagedDatabase db = MantaroData.db();

        final DBGuild dbGuild = db.getGuild(event.getGuild());
        final GuildData data = dbGuild.getData();

        String logChannel = data.getGuildLogChannel();
        if (logChannel != null) {
            TextChannel tc = event.getGuild().getTextChannelById(logChannel);
            if (tc == null)
                return;

            CachedMessage deletedMessage = messageCache.get(event.getMessageIdLong(), Optional::empty).orElse(null);
            if (deletedMessage != null && !deletedMessage.getContent().isEmpty() && !event.getChannel().getId().equals(logChannel) && !deletedMessage.getAuthor().getId().equals(event.getJDA().getSelfUser().getId())) {
                if (data.getModlogBlacklistedPeople().contains(deletedMessage.getAuthor().getId())) {
                    return;
                }

                if (data.getLogExcludedChannels().contains(event.getChannel().getId())) {
                    return;
                }

                if (!data.getModLogBlacklistWords().isEmpty()) {
                    //This is not efficient at all I'm pretty sure, is there a better way?
                    List<String> splitMessage = Arrays.asList(deletedMessage.getContent().split("\\s+"));
                    if (data.getModLogBlacklistWords().stream().anyMatch(splitMessage::contains)) {
                        return;
                    }
                }

                String message;
                if (data.getDeleteMessageLog() != null) {
                    message = new DynamicModifiers()
                            .set("hour", hour)
                            .set("content", deletedMessage.getContent().replace("```", ""))
                            .mapEvent("event", event)
                            .mapChannel("event.channel", event.getChannel())
                            .mapUser("event.user", deletedMessage.getAuthor())
                            .set("event.message.id", event.getMessageId())
                            .resolve(data.getDeleteMessageLog());
                } else {
                    message = String.format(EmoteReference.WARNING + "`[%s]` Message (ID: %s) created by **%s#%s** (ID: %s) in channel **%s** was deleted.\n" +
                            "```diff\n-%s```", hour, event.getMessageId(), deletedMessage.getAuthor().getName(), deletedMessage.getAuthor().getDiscriminator(), deletedMessage.getAuthor().getId(), event.getChannel().getName(), deletedMessage.getContent().replace("```", ""));
                }

                logTotal++;
                tc.sendMessage(message).queue();
            }
        }
    } catch (Exception e) {
        if (!(e instanceof IllegalArgumentException) && !(e instanceof NullPointerException) && !(e instanceof CacheLoader.InvalidCacheLoadException) && !(e instanceof PermissionException)) {
            log.warn("Unexpected exception while logging a deleted message.", e);
        }
    }
}
 
源代码10 项目: MantaroBot   文件: MantaroListener.java
private void logEdit(GuildMessageUpdateEvent event) {
    try {
        String hour = df.format(new Date(System.currentTimeMillis()));
        final ManagedDatabase db = MantaroData.db();
        final GuildData guildData = db.getGuild(event.getGuild()).getData();
        String logChannel = guildData.getGuildLogChannel();

        if (logChannel != null) {
            TextChannel tc = event.getGuild().getTextChannelById(logChannel);
            if (tc == null)
                return;

            User author = event.getAuthor();
            CachedMessage editedMessage = messageCache.get(event.getMessage().getIdLong(), Optional::empty).orElse(null);

            if (editedMessage != null && !editedMessage.getContent().isEmpty() && !event.getChannel().getId().equals(logChannel)) {
                //Update message in cache in any case.
                messageCache.put(event.getMessage().getIdLong(), Optional.of(new CachedMessage(event.getAuthor().getIdLong(), event.getMessage().getContentDisplay())));

                if (guildData.getLogExcludedChannels().contains(event.getChannel().getId())) {
                    return;
                }

                if (guildData.getModlogBlacklistedPeople().contains(editedMessage.getAuthor().getId())) {
                    return;
                }

                //Don't log if content is equal but update in cache (cc: message is still relevant).
                if (event.getMessage().getContentDisplay().equals(editedMessage.getContent()))
                    return;

                if (!guildData.getModLogBlacklistWords().isEmpty()) {
                    //This is not efficient at all I'm pretty sure, is there a better way?
                    List<String> splitMessage = Arrays.asList(editedMessage.getContent().split("\\s+"));
                    if (guildData.getModLogBlacklistWords().stream().anyMatch(splitMessage::contains)) {
                        return;
                    }
                }

                String message;
                if (guildData.getEditMessageLog() != null) {
                    message = new DynamicModifiers()
                            .set("hour", hour)
                            .set("old", editedMessage.getContent().replace("```", ""))
                            .set("new", event.getMessage().getContentDisplay().replace("```", ""))
                            .mapEvent("event", event)
                            .mapChannel("event.channel", event.getChannel())
                            .mapUser("event.user", editedMessage.getAuthor())
                            .mapMessage("event.message", event.getMessage())
                            .resolve(guildData.getEditMessageLog());
                } else {
                    message = String.format(EmoteReference.WARNING + "`[%s]` Message (ID: %s) created by **%s#%s** in channel **%s** was modified.\n```diff\n-%s\n+%s```",
                            hour, event.getMessage().getId(), author.getName(), author.getDiscriminator(), event.getChannel().getName(), editedMessage.getContent().replace("```", ""), event.getMessage().getContentDisplay().replace("```", ""));
                }

                tc.sendMessage(message).queue();

                logTotal++;
            }
        }
    } catch (Exception e) {
        if (!(e instanceof NullPointerException) && !(e instanceof IllegalArgumentException) && !(e instanceof CacheLoader.InvalidCacheLoadException) && !(e instanceof PermissionException)) {
            log.warn("Unexpected error while logging a edit.", e);
        }
    }
}