package de.skuzzle.polly.core.internal.httpv2;
import de.skuzzle.polly.core.internal.persistence.PersistenceManagerV2Impl;
import de.skuzzle.polly.core.moduleloader.AbstractProvider;
import de.skuzzle.polly.core.moduleloader.ModuleLoader;
import de.skuzzle.polly.core.moduleloader.SetupException;
import de.skuzzle.polly.core.moduleloader.annotations.Module;
import de.skuzzle.polly.core.moduleloader.annotations.Provide;
import de.skuzzle.polly.core.moduleloader.annotations.Require;
import de.skuzzle.polly.sdk.PersistenceManagerV2;
@Module(
requires = {
@Require(component = PersistenceManagerV2Impl.class),
},
provides = @Provide(component = NewsManager.class)
)
public class NewsManagerProvider extends AbstractProvider {
public NewsManagerProvider(ModuleLoader loader) {
super("NEWS_MANAGER_PROVIDER", loader, false); //$NON-NLS-1$
}
@Override
public void setup() throws SetupException {
final PersistenceManagerV2 persistence = this.requireNow(
PersistenceManagerV2Impl.class, true);
persistence.registerEntity(NewsEntry.class);
final NewsManager nm = new NewsManager(persistence);
this.provideComponent(nm);
}
}