/*******************************************************************
 * 
 * Copyright (C) 2013 Kevin Reverchon
 * This file/program is part of gZFS free software
 * See COPYING file for details
 * 
 *******************************************************************/
package gZFS;

import java.util.ArrayList;
import java.util.Hashtable;
import java.util.List;

public class ziscsi {
	public Hashtable<String,zProperties> zProperties = new Hashtable<String, zProperties>();
	
	ziscsi(){
		Hashtable<Object,Object> permitValueName = new Hashtable<Object,Object>();
		zProperties zPropertyName = new zProperties();
		permitValueName.clear();
		zPropertyName.setNameProperty("name");
		zPropertyName.setLabelProperty("Name Device");
		zPropertyName.setType("noupdateable");
		zPropertyName.setValue("");
		zPropertyName.setPermitValue(null);
		zProperties.put("name", zPropertyName);
		
		Hashtable<Object,Object> permitValueTID = new Hashtable<Object,Object>();
		zProperties zPropertyTID= new zProperties();
		permitValueTID.clear();
		zPropertyTID.setNameProperty("tid");
		zPropertyTID.setLabelProperty("target Id");
		zPropertyTID.setType("noupdateable");
		zPropertyTID.setValue("");
		zPropertyTID.setPermitValue(null);
		zProperties.put("tid", zPropertyTID);
		
		Hashtable<Object,Object> permitValueTarget = new Hashtable<Object,Object>();
		zProperties zPropertyTarget = new zProperties();
		permitValueTarget.clear();
		zPropertyTarget.setNameProperty("target");
		zPropertyTarget.setLabelProperty("Name for IQN");
		zPropertyTarget.setType("noupdateable");
		zPropertyTarget.setValue("");
		zPropertyTarget.setPermitValue(null);
		zProperties.put("target", zPropertyTarget);
		
		Hashtable<Object,Object> permitValueDevPath = new Hashtable<Object,Object>();
		zProperties zPropertyDevPath = new zProperties();
		permitValueDevPath.clear();
		zPropertyDevPath.setNameProperty("devhPath");
		zPropertyDevPath.setLabelProperty("Device path to iscsi export");
		zPropertyDevPath.setType("noupdateable");
		zPropertyDevPath.setValue("");
		zPropertyDevPath.setPermitValue(null);
		zProperties.put("devPath", zPropertyDevPath);
		
		Hashtable<Object,Object> permitValueExportType = new Hashtable<Object,Object>();
		zProperties zPropertyExportType = new zProperties();
		permitValueExportType.clear();
		zPropertyExportType.setNameProperty("exportType");
		zPropertyExportType.setLabelProperty("ISCSI Export Type");
		zPropertyExportType.setType("nofreeentry");
		zPropertyExportType.setValue("");
		permitValueExportType.put("fileoio", "fileio");
		permitValueExportType.put("blockio", "blockio");
		zPropertyExportType.setPermitValue(permitValueExportType);
		zProperties.put("exportType", zPropertyExportType);
		
		Hashtable<Object,Object> permitValueIOMode = new Hashtable<Object,Object>();
		zProperties zPropertyIOMode = new zProperties();
		permitValueIOMode.clear();
		zPropertyIOMode.setNameProperty("iomode");
		zPropertyIOMode.setLabelProperty("IO Mode");
		zPropertyIOMode.setType("nofreeentry");
		zPropertyIOMode.setValue("");
		permitValueIOMode.put("wt", "wt");
		permitValueIOMode.put("ro", "ro");
		zPropertyIOMode.setPermitValue(permitValueIOMode);
		zProperties.put("iomode", zPropertyIOMode);
		
		
		Hashtable<Object,Object> permitValueIscsiLogin = new Hashtable<Object,Object>();
		zProperties zPropertyIscsiLogin = new zProperties();
		permitValueIscsiLogin.clear();
		zPropertyIscsiLogin.setNameProperty("login");
		zPropertyIscsiLogin.setLabelProperty("Login CHAP");
		zPropertyIscsiLogin.setType("freeentry");
		zPropertyIscsiLogin.setValue("");
		zPropertyIscsiLogin.setPermitValue(null);
		zProperties.put("login", zPropertyIscsiLogin);
		
		Hashtable<Object,Object> permitValueIscsiPasswd = new Hashtable<Object,Object>();
		zProperties zPropertyIscsiPasswd = new zProperties();
		permitValueIscsiPasswd.clear();
		zPropertyIscsiPasswd.setNameProperty("passwd");
		zPropertyIscsiPasswd.setLabelProperty("Password CHAP");
		zPropertyIscsiPasswd.setType("freeentry");
		zPropertyIscsiPasswd.setValue("");
		zPropertyIscsiPasswd.setPermitValue(null);
		zProperties.put("passwd", zPropertyIscsiPasswd);
		
		Hashtable<Object,Object> permitValueAllowIP = new Hashtable<Object,Object>();
		zProperties zPropertyAllowIP= new zProperties();
		permitValueAllowIP.clear();
		zPropertyAllowIP.setNameProperty("allowIP");
		zPropertyAllowIP.setLabelProperty("Restricted IP (separate by ;)");
		zPropertyAllowIP.setType("freeentry");
		zPropertyAllowIP.setValue("");
		zPropertyAllowIP.setPermitValue(null);
		zProperties.put("allowIP", zPropertyAllowIP);
		
		Hashtable<Object,Object> permitValueSession = new Hashtable<Object,Object>();
		zProperties zPropertySession= new zProperties();
		permitValueSession.clear();
		zPropertySession.setNameProperty("sid");
		zPropertySession.setLabelProperty("ISCSI Session ID :)");
		zPropertySession.setType("multinoupdateable");
		zPropertySession.setValue("");
		zPropertySession.setPermitValue(null);
		zPropertySession.setMultivalues(null);
		zProperties.put("sid", zPropertySession);
		
		Hashtable<Object,Object> permitValueSessionIP = new Hashtable<Object,Object>();
		zProperties zPropertySessionIP= new zProperties();
		permitValueSessionIP.clear();
		zPropertySessionIP.setNameProperty("sessionIP");
		zPropertySessionIP.setLabelProperty("ISCSI Session IP Client;)");
		zPropertySessionIP.setType("multinoupdateable");
		zPropertySessionIP.setValue("");
		zPropertySessionIP.setPermitValue(null);
		zPropertySessionIP.setMultivalues(null);
		zProperties.put("sessionIP", zPropertySessionIP);
	}

}
