Example usage for org.apache.commons.collections.map MultiKeyMap get

List of usage examples for org.apache.commons.collections.map MultiKeyMap get

Introduction

In this page you can find the example usage for org.apache.commons.collections.map MultiKeyMap get.

Prototype

public Object get(Object key1, Object key2, Object key3, Object key4) 

Source Link

Document

Gets the value mapped to the specified multi-key.

Usage

From source file:com.qq.tars.service.expand.ExpandServerService.java

@Transactional(rollbackFor = { Exception.class })
public List<ServerConf> expand(ExpandServer expandServer) {
    String application = expandServer.getApplication();
    String serverName = expandServer.getServerName();

    ServerConf sourceServer = serverMapper.loadServerConfByName(application, serverName,
            expandServer.getNodeName());
    MultiKeyMap sourceAdapters = getSoruceAdapterMap(application, serverName, expandServer.getNodeName());

    Map<Long, ServerConf> serverAdded = new HashMap<>();
    for (ExpandPreviewServer preserver : expandServer.getExpandPreviewServers()) {
        ServerConf targetServer = serverMapper.loadServerConfByName(application, serverName,
                preserver.getNodeName());
        if (null == targetServer) {
            ServerConf server = new ServerConf();
            server.setApplication(application);
            server.setServerName(serverName);
            server.setNodeName(preserver.getNodeName());

            String set = preserver.getSet();
            boolean enableSet = StringUtils.isNotBlank(set);
            server.setEnableSet(enableSet ? "Y" : "N");
            if (enableSet) {
                SetTriple setTriple = SetTriple.parseSet(set);
                server.setSetName(setTriple.getSetName());
                server.setSetArea(setTriple.getSetArea());
                server.setSetGroup(setTriple.getSetGroup());
            }/*from w w w  . ja va  2s  .  co  m*/

            // ?
            server.setServerType(sourceServer.getServerType());
            server.setTemplateName(sourceServer.getTemplateName());
            server.setBakFlag(sourceServer.getBakFlag());
            server.setBasePath(sourceServer.getBasePath());
            server.setExePath(sourceServer.getExePath());
            server.setStartScriptPath(sourceServer.getStartScriptPath());

            // ???
            if (expandServer.isCopyNodeConfig()) {
                server.setProfile(sourceServer.getProfile());

                List<ConfigFile> configs = configMapper.getNodeConfigFile(sourceServer.getApplication(),
                        sourceServer.getServerName(), sourceServer.getSetName(), sourceServer.getSetArea(),
                        sourceServer.getSetGroup());

                configs.stream().filter(config -> sourceServer.getNodeName().equals(config.getHost()))
                        .forEach(config -> {
                            ConfigFile copy = new ConfigFile();
                            BeanUtils.copyProperties(config, copy);
                            copy.setId(null);
                            copy.setPosttime(DateTime.now());
                            copy.setHost(server.getNodeName());
                            configMapper.insertConfigFile(copy);
                        });
            }

            serverMapper.insertServerConf(server);

            serverAdded.put(server.getId(), server);
        }

        AdapterConf targetAdapter = adapterMapper.loadAdapterConfByObj(application, serverName,
                preserver.getNodeName(), preserver.getObjName());
        if (null == targetAdapter) {
            AdapterConf sourceAdapter = (AdapterConf) sourceAdapters.get(application, serverName,
                    expandServer.getNodeName(), preserver.getObjName());

            AdapterConf adapter = new AdapterConf();
            adapter.setApplication(application);
            adapter.setServerName(serverName);
            adapter.setNodeName(preserver.getNodeName());

            // ?
            adapter.setServant(sourceAdapter.getServant());
            adapter.setAdapterName(sourceAdapter.getAdapterName());
            adapter.setThreadNum(sourceAdapter.getThreadNum());
            adapter.setMaxConnections(sourceAdapter.getMaxConnections());
            adapter.setQueuecap(sourceAdapter.getQueuecap());
            adapter.setQueuetimeout(sourceAdapter.getQueuetimeout());

            adapter.setEndpoint(String.format("tcp -h %s -t %s -p %s", preserver.getBindIp(),
                    sourceAdapter.getQueuetimeout(), preserver.getPort()));

            adapterMapper.insertAdapterConf(adapter);
        }
    }

    return new LinkedList<>(serverAdded.values());
}