import com.thinkaurelius.titan.core.schema.TitanManagement; //导入方法依赖的package包/类
public void clopen(Object... settings) {
config = getConfiguration();
if (mgmt!=null && mgmt.isOpen()) mgmt.rollback();
if (null != tx && tx.isOpen()) tx.commit();
if (settings!=null && settings.length>0) {
//Parse settings
Preconditions.checkArgument(settings.length%2==0,"Expected even number of settings: %s",settings);
Map options = Maps.newHashMap();
for (int i=0;i
Preconditions.checkArgument(settings[i] instanceof TestConfigOption,"Expected configuration option but got: %s",settings[i]);
Preconditions.checkNotNull(settings[i+1],"Null setting at position [%s]",i+1);
options.put((TestConfigOption)settings[i],settings[i+1]);
}
TitanManagement gconf = null;
ModifiableConfiguration lconf = new ModifiableConfiguration(GraphDatabaseConfiguration.ROOT_NS,config, BasicConfiguration.Restriction.LOCAL);
for (Map.Entry option : options.entrySet()) {
if (option.getKey().option.isLocal()) {
lconf.set(option.getKey().option,option.getValue(),option.getKey().umbrella);
} else {
if (gconf==null) gconf = graph.getManagementSystem();
gconf.set(ConfigElement.getPath(option.getKey().option,option.getKey().umbrella),option.getValue());
}
}
if (gconf!=null) gconf.commit();
lconf.close();
}
if (null != graph && graph.isOpen())
graph.shutdown();
Preconditions.checkNotNull(config);
open(config);
}