001package co.codewizards.cloudstore.ls.rest.server.service;
002
003import javax.ws.rs.core.Context;
004import javax.ws.rs.core.SecurityContext;
005
006import co.codewizards.cloudstore.core.Uid;
007import co.codewizards.cloudstore.ls.core.invoke.ObjectManager;
008import co.codewizards.cloudstore.ls.rest.server.InverseInvoker;
009
010public abstract class AbstractService {
011        @Context
012        protected SecurityContext securityContext;
013
014        protected Uid getClientId() {
015                return new Uid(securityContext.getUserPrincipal().getName());
016        }
017
018        protected ObjectManager getObjectManager() {
019                return ObjectManager.getInstance(getClientId());
020        }
021
022        protected InverseInvoker getInverseInvoker() {
023                return InverseInvoker.getInverseInvoker(getObjectManager());
024        }
025}