--
You received this message because you are subscribed to the Google Groups "MongoEMF" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mongoemf+u...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
package iop.storet.cmd;
import java.io.IOException;
import java.util.Dictionary;
import java.util.Hashtable;
import org.apache.felix.service.command.CommandProcessor;
import org.eclipselabs.emongo.MongoClientProvider;
import org.eclipselabs.emongo.MongoDatabaseProvider;
import org.eclipselabs.emongo.config.ConfigurationProperties;
import org.eclipselabs.emongo.configurator.ConfigurationException;
import org.osgi.service.cm.Configuration;
import org.osgi.service.cm.ConfigurationAdmin;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import aQute.bnd.annotation.component.Activate;
import aQute.bnd.annotation.component.Component;
import aQute.bnd.annotation.component.Reference;
@Component(properties = { CommandProcessor.COMMAND_SCOPE + ":String=sr",
CommandProcessor.COMMAND_FUNCTION + ":String=cmd"}, provide = Object.class)
public class StoretCommand {
Logger log = LoggerFactory.getLogger(StoretCommand.class);
String clientId = "storet";
String clientURI = "storet";
@Activate
public void activate() {
log.info("activate ran");
}
public void cmd() {
log.info("cmd ran");
}
@Reference
void setConfigurationAdmin(ConfigurationAdmin configurationAdmin)
throws ConfigurationException {
log.info("setConfigurationAdmin configurationAdmin="
+ configurationAdmin);
try {
Configuration config = configurationAdmin.getConfiguration(
ConfigurationProperties.CLIENT_PID, null);
@SuppressWarnings("unchecked")
Dictionary<String, Object> properties = config.getProperties();
if (properties == null)
properties = new Hashtable<String, Object>();
properties.put(MongoClientProvider.PROP_CLIENT_ID, "storet");
properties.put(MongoClientProvider.PROP_URI, "mongodb://localhost");
config.update(properties);
} catch (IOException e) {
throw new ConfigurationException(e);
}
try {
Configuration config = configurationAdmin.getConfiguration(
ConfigurationProperties.DATABASE_PID, null);
@SuppressWarnings("unchecked")
Dictionary<String, Object> properties = config.getProperties();
if (properties == null)
properties = new Hashtable<String, Object>();
properties.put(MongoDatabaseProvider.PROP_DATABASE, "storet");
properties.put(MongoDatabaseProvider.PROP_ALIAS, "storet");
config.update(properties);
} catch (IOException e) {
log.error("", e);
}
}
// If I un-comment either of these two groupings the bundle will not deploy properly and command will
// not work.
// MongoClientProvider clProvider;
//
// @Reference
// public void setClientProvider(MongoClientProvider clProvider) {
// log.info("clProvider=" + clProvider);
// this.clProvider = clProvider;
// }
// MongoDatabaseProvider dbProvider;
//
// @Reference
// public void setDatabaseProvider(MongoDatabaseProvider dbProvider) {
// log.info("dbProvider=" + dbProvider);
// this.dbProvider = dbProvider;
// }
Brian,
//this.dbProvider = dbProvider;