/**
SpagoBI, the Open Source Business Intelligence suite
Copyright (C) 2012 Engineering Ingegneria Informatica S.p.A. - SpagoBI Competency Center
This Source Code Form is subject to the terms of the Mozilla Public
License, v. 2.0. If a copy of the MPL was not distributed with this file,
You can obtain one at http://mozilla.org/MPL/2.0/.
**/
package it.eng.spagobi.studio.extchart.editors.pages.editorComponent;
import java.io.Serializable;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import org.slf4j.LoggerFactory;
public class DraggedObject implements Serializable{
Map<Integer, String> indexNameSelected;
Map<Integer, String> indexTypeSelected;
private static org.slf4j.Logger logger = LoggerFactory.getLogger(DraggedObject.class);
public DraggedObject() {
super();
indexNameSelected = new HashMap<Integer, String>();
indexTypeSelected = new HashMap<Integer, String>();
}
public Map<Integer, String> getIndexNameSelected() {
return indexNameSelected;
}
public void setIndexNameSelected(Map<Integer, String> indexNameSelected) {
this.indexNameSelected = indexNameSelected;
}
public Map<Integer, String> getIndexTypeSelected() {
return indexTypeSelected;
}
public void setIndexTypeSelected(Map<Integer, String> indexTypeSelected) {
this.indexTypeSelected = indexTypeSelected;
}
@Override
public String toString() {
logger.debug("IN");
String buffer="";
for (Iterator iterator = indexNameSelected.keySet().iterator(); iterator.hasNext();) {
Integer index = (Integer) iterator.next();
String name = indexNameSelected.get(index);
String type = indexTypeSelected.get(index);
buffer+=index+","+name+","+type;
if(iterator.hasNext())
buffer+=",";
}
logger.debug("Dragged information is "+buffer);
logger.debug("OUT");
return buffer;
}
static public DraggedObject fromString(String string) {
logger.debug("IN");
logger.debug("String to parse is "+string);
DraggedObject toReturn = new DraggedObject();
String[] splits = string.split(",");
// one index and one name
for (int i = 0; i < splits.length; i++) {
String indexS = splits[i];
Integer index = Integer.valueOf(indexS);
i++;
String name = splits[i];
i++;
String type = splits[i];
toReturn.getIndexNameSelected().put(index, name);
toReturn.getIndexTypeSelected().put(index, type);
}
logger.debug("OUT");
return toReturn;
}
public String toFieldString(){
logger.debug("IN");
String buffer="";
for (Iterator iterator = indexNameSelected.keySet().iterator(); iterator.hasNext();) {
Integer index = (Integer) iterator.next();
String name = indexNameSelected.get(index);
buffer+=name;
if(iterator.hasNext())
buffer+=",";
}
logger.debug("Field list is "+buffer);
logger.debug("OUT");
return buffer;
}
public String toAllFieldsString(){
logger.debug("IN");
String buffer="";
for (Iterator iterator = indexNameSelected.keySet().iterator(); iterator.hasNext();) {
Integer index = (Integer) iterator.next();
String name = indexNameSelected.get(index);
buffer+=name;
if(iterator.hasNext())
buffer+=",";
}
logger.debug("Field list is "+buffer);
logger.debug("OUT");
return buffer;
}
public int getSize(){
return indexNameSelected.keySet().size();
}
public String getFirstElement(){
Set<Integer> keys = indexNameSelected.keySet();
for (Iterator iterator = keys.iterator(); iterator.hasNext();) {
Integer key = (Integer) iterator.next();
return indexNameSelected.get(key);
}
return null;
}
}