summaryrefslogblamecommitdiffstats
path: root/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/table/NetshareTable.java
blob: 7ebde4ebd51c911af52a661a4d0953f3f4aa07bb (plain) (tree)














































                                                                                                        
package org.openslx.dozmod.gui.control.table;

import org.openslx.bwlp.thrift.iface.NetShare;
import org.openslx.dozmod.thrift.Sorters;
import org.openslx.dozmod.util.FormatHelper;

@SuppressWarnings("serial")
public class NetshareTable extends ListTable<NetShare> {

	public static final ListTableColumn COL_PATH = new ListTableColumn("Pfad");
	public static final ListTableColumn COL_TYPE = new ListTableColumn("Typ", Sorters.netShareAuth);
	public static final ListTableColumn COL_USER = new ListTableColumn("Username");
	public static final ListTableColumn COL_PASSWORD = new ListTableColumn("Passwort");

	public NetshareTable() {
		super(COL_PATH, COL_TYPE, COL_USER, COL_PASSWORD);
	}

	@Override
	protected Object getValueAtInternal(NetShare item, ListTableColumn columnIndex) {
		if (columnIndex == COL_PATH)
			return item.path;
		if (columnIndex == COL_TYPE)
			return FormatHelper.netShareAuthName(item.auth);
		if (columnIndex == COL_USER)
			return item.username;
		if (columnIndex == COL_PASSWORD)
			return item.password;
		//TODO others!
		throw new IndexOutOfBoundsException();
	}
	
	@Override
	public Object modelValueToDisplayFormat(Object object, ListTableColumn column) {
		if (column == COL_PATH)
			return (String) object;
		if (column == COL_TYPE)
			return object.toString();
		if (column == COL_USER)
			return (String) object;
		if (column == COL_PASSWORD) {
			String pass = (String) object;
			return pass != null ? pass.replaceAll(".", "*") : "";
		}
		throw new IndexOutOfBoundsException();
	}
}