Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
 /*
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file
  * distributed with this work for additional information
  * regarding copyright ownership.  The ASF licenses this file
  * to you under the Apache License, Version 2.0 (the
  * "License"); you may not use this file except in compliance
  * with the License.  You may obtain a copy of the License at
  *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 */
package brooklyn.entity.database.crate;
public class CrateNodeImpl extends SoftwareProcessImpl implements CrateNode{
    private JmxFeed jmxFeed;
    private HttpFeed httpFeed;
    static {
        JavaAppUtils.init();
        RendererHints.register(, RendererHints.namedActionWithUrl());
    }
    @Override
    public Class getDriverInterface() {
        return CrateNodeDriver.class;
    }
    @Override
    protected void connectSensors() {
        super.connectSensors();
        connectServiceUpIsRunning();
         = JavaAppUtils.connectMXBeanSensors(this);
        setAttribute("crate://" + getAttribute() + ":" + getPort());
        String url = "http://" + getAttribute() + ":" + getHttpPort();
        setAttribute(url);
         = HttpFeed.builder()
                .entity(this)
                .baseUri(url)
                .poll(new HttpPollConfig<String>()
                        .onSuccess(HttpValueFunctions.jsonContents("name"String.class)))
                .poll(new HttpPollConfig<Integer>()
                        .onSuccess(HttpValueFunctions.jsonContents("status"Integer.class)))
                .poll(new HttpPollConfig<Boolean>()
                        .onSuccess(HttpValueFunctions.jsonContents("ok"Boolean.class)))
                .poll(new HttpPollConfig<String>()
                        .onSuccess(HttpValueFunctions.jsonContents(new String[]{"version""build_timestamp"}, String.class)))
                .poll(new HttpPollConfig<String>()
                        .onSuccess(HttpValueFunctions.jsonContents(new String[]{"version""build_hash"}, String.class)))
                .poll(new HttpPollConfig<Boolean>()
                        .onSuccess(HttpValueFunctions.jsonContents(new String[] {"version""build_snapshot"}, Boolean.class)))
                .poll(new HttpPollConfig<String>()
                        .onSuccess(HttpValueFunctions.jsonContents(new String[] {"version""lucene_version"}, String.class)))
                .poll(new HttpPollConfig<String>()
                        .onSuccess(HttpValueFunctions.jsonContents(new String[] {"version""es_version"}, String.class)))
                .build();
                .from()
                .computing(Functionals.ifNotEquals(true).value("Crate server reports it is not ok."))
                .build());
    }
    @Override
    protected void disconnectSensors() {
        if ( != null.stop();
        if ( != null.stop();
        super.disconnectSensors();
    }
    public Integer getPort() {
        return getAttribute();
    }
    public Integer getHttpPort() {
        return getAttribute();
    }
New to GrepCode? Check out our FAQ X