/** * */ package proj.zoie.hourglass.mbean; import java.io.IOException; import java.util.Date; import proj.zoie.api.ZoieException; import proj.zoie.api.ZoieHealth; import proj.zoie.hourglass.impl.Hourglass; /** * @author "Xiaoyang Gu<xgu@linkedin.com>" * */ public class HourglassAdmin implements HourglassAdminMBean { private final Hourglass<?, ?> hourglass; public HourglassAdmin(Hourglass<?, ?> hourglass) { this.hourglass = hourglass; } @Override public void flushToDiskIndex() throws ZoieException { } @Override public void flushToMemoryIndex() throws ZoieException { // TODO Auto-generated method stub } @Override public long getBatchDelay() { return hourglass.getzConfig().getBatchDelay(); } @Override public int getBatchSize() { return hourglass.getzConfig().getBatchSize(); } @Override public int getCurrentDiskBatchSize() { return hourglass.getCurrentZoie().getCurrentDiskBatchSize(); } @Override public String getCurrentDiskVersion() throws IOException { return hourglass.getCurrentZoie().getCurrentDiskVersion(); } @Override public int getCurrentMemBatchSize() { return hourglass.getCurrentZoie().getCurrentMemBatchSize(); } @Override public long getDiskFreeSpaceBytes() { return hourglass.getCurrentZoie().getAdminMBean().getDiskFreeSpaceBytes(); } @Override public int getDiskIndexSegmentCount() throws IOException { return hourglass.getCurrentZoie().getAdminMBean().getDiskIndexSegmentCount(); } @Override public long getDiskIndexSizeBytes() { return hourglass.getSizeBytes(); } @Override public String getDiskIndexerStatus() { return hourglass.getCurrentZoie().getAdminMBean().getDiskIndexerStatus(); } @Override public String getIndexDir() { return hourglass.getDirMgrFactory().getRoot().getAbsolutePath(); } @Override public Date getLastDiskIndexModifiedTime() { return hourglass.getCurrentZoie().getAdminMBean().getLastDiskIndexModifiedTime(); } @Override public int getMaxBatchSize() { return hourglass.getCurrentZoie().getAdminMBean().getMaxBatchSize(); } @Override public int getMaxMergeDocs() { return hourglass.getCurrentZoie().getAdminMBean().getMaxMergeDocs(); } @Override public void setMaxMergeDocs(int maxMergeDocs) { hourglass.getCurrentZoie().getAdminMBean().setMaxMergeDocs(maxMergeDocs); } @Override public int getMaxSmallSegments() { return hourglass.getCurrentZoie().getAdminMBean().getMaxSmallSegments(); } @Override public void setNumLargeSegments(int numLargeSegments) { hourglass.getCurrentZoie().getAdminMBean().setNumLargeSegments(numLargeSegments); } @Override public void setMaxSmallSegments(int maxSmallSegments) { hourglass.getCurrentZoie().getAdminMBean().setMaxSmallSegments(maxSmallSegments); } @Override public int getMergeFactor() { return hourglass.getCurrentZoie().getAdminMBean().getMergeFactor(); } @Override public void setMergeFactor(int mergeFactor) { hourglass.getCurrentZoie().getAdminMBean().setMergeFactor(mergeFactor); } @Override public int getNumLargeSegments() { return hourglass.getCurrentZoie().getAdminMBean().getNumLargeSegments(); } @Override public int getRAMASegmentCount() { return hourglass.getCurrentZoie().getAdminMBean().getRAMASegmentCount(); } @Override public int getRAMBSegmentCount() { return hourglass.getCurrentZoie().getAdminMBean().getRAMBSegmentCount(); } @Override public int getRamAIndexSize() { return hourglass.getCurrentZoie().getAdminMBean().getRamAIndexSize(); } @Override public String getRamAVersion() { return hourglass.getCurrentZoie().getAdminMBean().getRamAVersion(); } @Override public int getRamBIndexSize() { return hourglass.getCurrentZoie().getAdminMBean().getRamBIndexSize(); } @Override public String getRamBVersion() { return hourglass.getCurrentZoie().getAdminMBean().getRamBVersion(); } @Override public boolean isRealtime() { return hourglass.getCurrentZoie().getAdminMBean().isRealtime(); } @Override public boolean isUseCompoundFile() { return hourglass.getCurrentZoie().getAdminMBean().isUseCompoundFile(); } @Override public void refreshDiskReader() throws IOException { hourglass.getCurrentZoie().getAdminMBean().refreshDiskReader(); } @Override public void setBatchDelay(long delay) { hourglass.getzConfig().setBatchDelay(delay); hourglass.getCurrentZoie().getAdminMBean().setBatchDelay(delay); } @Override public void setBatchSize(int batchSize) { hourglass.getzConfig().setBatchSize(batchSize); hourglass.getCurrentZoie().getAdminMBean().setBatchSize(batchSize); } @Override public void setMaxBatchSize(int maxBatchSize) { hourglass.getzConfig().setMaxBatchSize(maxBatchSize); hourglass.getCurrentZoie().getAdminMBean().setMaxBatchSize(maxBatchSize); } @Override public long getHealth() { return ZoieHealth.getHealth(); } @Override public void resetHealth() { ZoieHealth.setOK(); } @Override public long getSLA() { return hourglass.SLA; } @Override public void setSLA(long sla) { hourglass.SLA = sla; } }