PageRenderTime 58ms CodeModel.GetById 29ms RepoModel.GetById 1ms app.codeStats 0ms

/app/com/atlassian/connect/play/java/plugin/TokenPlugin.java

https://bitbucket.org/awei/ac-play-java
Java | 43 lines | 32 code | 8 blank | 3 comment | 2 complexity | efaa99e2d00e0c0e63c35b2cac0be5c3 MD5 | raw file
Possible License(s): Apache-2.0
  1. package com.atlassian.connect.play.java.plugin;
  2. import com.atlassian.connect.play.java.AC;
  3. import com.atlassian.fugue.Option;
  4. import org.apache.commons.lang3.StringUtils;
  5. import play.Application;
  6. import java.util.concurrent.TimeUnit;
  7. import static com.atlassian.connect.play.java.Constants.AC_TOKEN_EXPIRY;
  8. import static com.atlassian.fugue.Option.none;
  9. import static com.atlassian.fugue.Option.some;
  10. /**
  11. * Takes care of initialising the pluggable token store
  12. */
  13. public class TokenPlugin extends AbstractPlugin
  14. {
  15. private static final long DEFAULT_TOKEN_EXPIRY = TimeUnit.MILLISECONDS.convert(15, TimeUnit.MINUTES);
  16. public TokenPlugin(final Application application)
  17. {
  18. super(application);
  19. }
  20. @Override
  21. public void onStart()
  22. {
  23. AC.tokenExpiry = getConfiguredTokenExpiry().getOrElse(DEFAULT_TOKEN_EXPIRY);
  24. super.onStart();
  25. }
  26. private Option<Long> getConfiguredTokenExpiry()
  27. {
  28. final String tokenExpiry = application.configuration().getString(AC_TOKEN_EXPIRY);
  29. if (StringUtils.isNotBlank(tokenExpiry) && StringUtils.isNumeric(tokenExpiry))
  30. {
  31. return some(TimeUnit.MILLISECONDS.convert(Long.parseLong(tokenExpiry), TimeUnit.SECONDS));
  32. }
  33. return none();
  34. }
  35. }