public void loadStatus() throws IOException, SolrCoreLoadException {
  String command=String.format("http://%s:%s/solr/admin/cores?action=STATUS&core=%s",host,SolrInteractionUtils.DEFAULT_SOLR_PORT,name);
  InputStream result=null;
  try {
    result=SolrInteractionUtils.executeSolrCommandAndGetInputStream(command);
    List<String> data=SolrInteractionUtils.parseStatusResponse(result,new String[]{String.format("/response/lst[@name='status']/lst[@name='%s']/lst[@name='index']/int[@name='numDocs']/text()",name),String.format("/response/lst[@name='status']/lst[@name='%s']/lst[@name='index']/int[@name='maxDoc']/text()",name),String.format("/response/lst[@name='status']/lst[@name='%s']/lst[@name='index']/int[@name='deletedDocs']/text()",name),String.format("/response/lst[@name='status']/lst[@name='%s']/lst[@name='index']/long[@name='version']/text()",name),String.format("/response/lst[@name='status']/lst[@name='%s']/lst[@name='index']/int[@name='segmentCount']/text()",name),String.format("/response/lst[@name='status']/lst[@name='%s']/lst[@name='index']/date[@name='lastModified']/text()",name),String.format("/response/lst[@name='status']/lst[@name='%s']/lst[@name='index']/long[@name='sizeInBytes']/text()",name),String.format("/response/lst[@name='initFailures']/lst[@name='%s']/text()",name),String.format("/response/lst[@name='status']/lst[@name='%s']/lst[@name='index']/bool[@name='current']/text()",name)});
    boolean isCleanCore=StringUtils.isBlank(data.get(7));
    if (!isCleanCore) {
      String message=String.format("Core %s  has initialization exceptions..",name);
      logger.info(message);
      throw new SolrCoreLoadException(message);
    }
    numDocs=Integer.parseInt(data.get(0));
    if (!StringUtils.isBlank(data.get(1))) {
      maxDocs=Integer.parseInt(data.get(1));
    }
    deletedDocs=Integer.parseInt(data.get(2));
    version=Long.parseLong(data.get(3));
    if (!StringUtils.isBlank(data.get(4))) {
      segmentCount=Integer.parseInt(data.get(4));
    }
    if (!StringUtils.isBlank(data.get(5))) {
      lastModified=data.get(5);
    }
    if (!StringUtils.isBlank(data.get(6))) {
      sizeInBytes=Long.parseLong(data.get(6));
    }
    if (!StringUtils.isBlank(data.get(8))) {
      this.current=Boolean.parseBoolean(data.get(8));
    }
    this.available=true;
  }
 catch (  Exception e) {
    throw new SolrCoreLoadException("Exception while trying to get core status for " + name);
  }
 finally {
    if (result != null) {
      result.close();
    }
  }
}

public void loadStatus ( ) throws IOException , SolrCoreLoadException { String command = String . format ( "http://%s:%s/solr/admin/cores?action=STATUS&core=%s" , host , SolrInteractionUtils . DEFAULT_SOLR_PORT , name ) ; InputStream result = null ; try { result = SolrInteractionUtils . executeSolrCommandAndGetInputStream ( command ) ; List < String > data = SolrInteractionUtils . parseStatusResponse ( result , new String [ ] { String . format ( "/response/lst[@name='status']/lst[@name='%s']/lst[@name='index']/int[@name='numDocs']/text()" , name ) , String . format ( "/response/lst[@name='status']/lst[@name='%s']/lst[@name='index']/int[@name='maxDoc']/text()" , name ) , String . format ( "/response/lst[@name='status']/lst[@name='%s']/lst[@name='index']/int[@name='deletedDocs']/text()" , name ) , String . format ( "/response/lst[@name='status']/lst[@name='%s']/lst[@name='index']/long[@name='version']/text()" , name ) , String . format ( "/response/lst[@name='status']/lst[@name='%s']/lst[@name='index']/int[@name='segmentCount']/text()" , name ) , String . format ( "/response/lst[@name='status']/lst[@name='%s']/lst[@name='index']/date[@name='lastModified']/text()" , name ) , String . format ( "/response/lst[@name='status']/lst[@name='%s']/lst[@name='index']/long[@name='sizeInBytes']/text()" , name ) , String . format ( "/response/lst[@name='initFailures']/lst[@name='%s']/text()" , name ) , String . format ( "/response/lst[@name='status']/lst[@name='%s']/lst[@name='index']/bool[@name='current']/text()" , name ) } ) ; boolean isCleanCore = StringUtils . isBlank ( data . get ( 7 ) ) ; if ( ! isCleanCore ) { String message = String . format ( "Core %s  has initialization exceptions.." , name ) ; logger . info ( message ) ; throw new SolrCoreLoadException ( message ) ; } numDocs = Integer . parseInt ( data . get ( 0 ) ) ; if ( ! StringUtils . isBlank ( data . get ( 1 ) ) ) { maxDocs = Integer . parseInt ( data . get ( 1 ) ) ; } deletedDocs = Integer . parseInt ( data . get ( 2 ) ) ; version = Long . parseLong ( data . get ( 3 ) ) ; if ( ! StringUtils . isBlank ( data . get ( 4 ) ) ) { segmentCount = Integer . parseInt ( data . get ( 4 ) ) ; } if ( ! StringUtils . isBlank ( data . get ( 5 ) ) ) { lastModified = data . get ( 5 ) ; } if ( ! StringUtils . isBlank ( data . get ( 6 ) ) ) { sizeInBytes = Long . parseLong ( data . get ( 6 ) ) ; } if ( ! StringUtils . isBlank ( data . get ( 8 ) ) ) { this . current = Boolean . parseBoolean ( data . get ( 8 ) ) ; } this . available = true ; } catch ( Exception e ) { throw new SolrCoreLoadException ( "Exception while trying to get core status for " + name ) ; } finally { if ( result != null ) { result . close ( ) ; } } }
load the solr core status
