Package org.platformlayer.service.solr.ops

Source Code of org.platformlayer.service.solr.ops.SolrServerController

package org.platformlayer.service.solr.ops;

import org.platformlayer.ops.Handler;
import org.platformlayer.ops.OpsContext;
import org.platformlayer.ops.OpsException;
import org.platformlayer.ops.instances.InstanceBuilder;
import org.platformlayer.ops.networks.PublicEndpoint;
import org.platformlayer.ops.tree.OpsTreeBase;
import org.platformlayer.service.solr.model.SolrServer;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class SolrServerController extends OpsTreeBase {

  private static final Logger log = LoggerFactory.getLogger(SolrServerController.class);

  @Handler
  public void doOperation() {
  }

  @Override
  protected void addChildren() throws OpsException {
    SolrServer model = OpsContext.get().getInstance(SolrServer.class);

    int port = SolrConstants.API_PORT;

    InstanceBuilder vm;

    {
      vm = InstanceBuilder.build(model.dnsName, this, model.getTags());
      vm.publicPorts.add(port);

      vm.hostPolicy.allowRunInContainer = true;

      // TODO: This needs to be configurable...
      vm.minimumMemoryMb = 2048;

      addChild(vm);
    }

    {
      SolrInstall install = injected(SolrInstall.class);
      vm.addChild(install);
    }

    {
      SolrInstance service = injected(SolrInstance.class);
      vm.addChild(service);
    }

    {
      PublicEndpoint endpoint = injected(PublicEndpoint.class);
      // endpoint.network = null;
      endpoint.publicPort = port;
      endpoint.backendPort = port;
      endpoint.dnsName = model.dnsName;

      endpoint.tagItem = model.getKey();
      endpoint.parentItem = model.getKey();

      vm.addChild(endpoint);
    }
  }
}
TOP

Related Classes of org.platformlayer.service.solr.ops.SolrServerController

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.