Java Servis Yönetici

Başlatan 6ng4n, 13 Temmuz 2011 - 21:51:52

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

6ng4n

Bilgisayarımdaki servislere bir ön yüz yaptım kaynak kodunu paylaşmak istedim. kod biraz acemi olabilir.SWT kullandım o nedenle classpath belirtmek gerekiyor javac da
swt jarlarını eclipse ile ya da http://eclipse.org/swt/ adresinden elde edebilirsiniz


/**
* Ubuntu türevleri için servis listesi gereklilikler:gksudo paketi
* SWT arabirimi kullanılır classpath'a ilgili jar dosyalarını ekleyerek derleyiniz.

* @license GPL 3.0
* @author Ongun Kanat
* 13.07.2011
*/

//SWT Importları
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Table;
import org.eclipse.swt.widgets.TableItem;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.events.SelectionListener;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.TableColumn;
// IO Importları
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.BufferedReader;
import java.io.File;

//shListe Sınıf

public class shListe extends Shell implements SelectionListener {
/**
* table Ana tablo
* rtm Uygulamaları çalıştırmak için runtime
* dizin /etc/init.d ayarlı File bileşen
*/
private Table table;
private Runtime rtm=Runtime.getRuntime();
private File dizin=new File("/etc/init.d/");
private Button bCalistir;
private Button bDurdur;
private Button bYeniden;
private Button bYenile;
private Button bCik;


public static void main(String args[]) {
try {
Display display = Display.getDefault();
shListe shell = new shListe(display);
shell.open();
shell.layout();
while (!shell.isDisposed()) {
if (!display.readAndDispatch()) {
display.sleep();
}
}
} catch (Exception e) {
e.printStackTrace();
}
}

//Pencereyi Yarat
public shListe(Display display) {
//Shell
super(display, SWT.SHELL_TRIM);
setLayout(new GridLayout(6, false));

//Tablo
table = new Table(this, SWT.BORDER | SWT.FULL_SELECTION);
table.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 6, 1));
table.setHeaderVisible(true);
table.setLinesVisible(true);

TableColumn clmSAdi = new TableColumn(table, SWT.NONE);
clmSAdi.setWidth(200);
clmSAdi.setText("Servis Adı");

TableColumn clmDurum = new TableColumn(table, SWT.NONE);
clmDurum.setWidth(100);
clmDurum.setText("Durum");

//Düğmeler
bCalistir = new Button(this, SWT.NONE);
bCalistir.setText("Çalıştır");
bCalistir.addSelectionListener(this);

bDurdur = new Button(this, SWT.NONE);
bDurdur.setText("Durdur");
bDurdur.addSelectionListener(this);

bYeniden = new Button(this, SWT.NONE);
bYeniden.setText("Yeniden Başlat");
bYeniden.addSelectionListener(this);

bYenile = new Button(this, SWT.NONE);
bYenile.setText("Yenile");
bYenile.addSelectionListener(this);

new Label(this, SWT.NONE);

bCik= new Button(this, SWT.NONE);
bCik.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));
bCik.setText("Çıkış");
bCik.addSelectionListener(this);


//Servisleri Listele
listele();
pack();
setText("Servisler");
setSize(720, 405);
}


//
private void listele()
{
if(dizin.canRead())
{
for(File f:dizin.listFiles())
{
if(!f.isDirectory() && f.isFile() && f.canExecute())
{
TableItem t=new TableItem(table, SWT.NONE);
try
{
BufferedReader buf=new BufferedReader(new InputStreamReader(rtm.exec(f.getPath()+" status").getInputStream()));
String s[]={f.getName(),buf.readLine()};
t.setText(s);
t.setData("islem", f.getPath());

}
catch (IOException e)
{
e.printStackTrace();
}

}
}


}
}

//Aşırı Yüklemeler

@Override protected void checkSubclass() {}

@Override public void widgetDefaultSelected(SelectionEvent arg0) {}

//Seçim olay yönetimi
@Override public void widgetSelected(SelectionEvent arg0)
{
try
{

if(arg0.widget==bCalistir)
{

BufferedReader buf=new BufferedReader(new InputStreamReader(rtm.exec("gksudo "+(String)table.getSelection()[0].getData("islem")+" start").getInputStream()));

String l=null;
while((l=buf.readLine())!=null)
{
System.out.println(l);
}

table.removeAll();
listele();
}
else if(arg0.widget==bDurdur)
{

BufferedReader buf=new BufferedReader(new InputStreamReader(rtm.exec("gksudo "+(String)table.getSelection()[0].getData("islem")+" stop").getInputStream()));

String l=null;
while((l=buf.readLine())!=null)
{
System.out.println(l);
}

table.removeAll();
listele();
}
else if(arg0.widget==bYeniden)
{

BufferedReader buf=new BufferedReader(new InputStreamReader(rtm.exec("gksudo "+(String)table.getSelection()[0].getData("islem")+" restart").getInputStream()));

String l=null;
while((l=buf.readLine())!=null)
{
System.out.println(l);
}

table.removeAll();
listele();
}
else if(arg0.widget==bYenile)
{
table.removeAll();
listele();

}
else if(arg0.widget==bCik)
{
this.dispose();
}

}
catch (Exception e)
{
e.printStackTrace();
}
}
}