// Path: semantic-ide/src/main/java/ch/ethz/inf/vs/semantics/ide/domain/WorkspaceInfo.java
// public class WorkspaceInfo {
// 
// 	private int id;
// 	private String name;
// 	private Backup backup;
// 	private String type;
// 	private String url;
// 
// 	public WorkspaceInfo() {
// 	}
// 
// 	public WorkspaceInfo(int id, String name, String type, String url) {
// 		this.id = id;
// 		this.name = name;
// 		this.type = type;
// 		this.url = url;
// 	}
// 
// 	public int getId() {
// 		return id;
// 	}
// 
// 	public void setId(int id) {
// 		this.id = id;
// 	}
// 
// 	public String getName() {
// 		return name;
// 	}
// 
// 	public void setName(String name) {
// 		this.name = name;
// 	}
// 
// 	public String getType() {
// 		return type;
// 	}
// 
// 	public void setType(String type) {
// 		this.type = type;
// 	}
// 
// 	public String getUrl() {
// 		return url;
// 	}
// 
// 	public void setUrl(String url) {
// 		this.url = url;
// 	}
// 
// 	public Backup getBackup() {
// 		return backup;
// 	}
// 
// 	public void setBackup(Backup backup) {
// 		this.backup = backup;
// 	}
// }


import ch.ethz.inf.vs.semantics.ide.domain.WorkspaceInfo;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
package ch.ethz.inf.vs.semantics.ide.workspace;



public class WorkspaceManager {
	private static volatile WorkspaceManager instance = null;
	private static File persistenceFolder;
	private static Object lock = new Object();
	private Map<Integer, Workspace> workspaces;
	private int ID;

	private WorkspaceManager() {
		workspaces = new HashMap<>();
		ID = 1;
		for (File ws : getFolder().listFiles()) {
			ObjectMapper mapper = new ObjectMapper(); // can reuse, share globally
			try {
// Path: semantic-ide/src/main/java/ch/ethz/inf/vs/semantics/ide/domain/WorkspaceInfo.java
// public class WorkspaceInfo {
// 
// 	private int id;
// 	private String name;
// 	private Backup backup;
// 	private String type;
// 	private String url;
// 
// 	public WorkspaceInfo() {
// 	}
// 
// 	public WorkspaceInfo(int id, String name, String type, String url) {
// 		this.id = id;
// 		this.name = name;
// 		this.type = type;
// 		this.url = url;
// 	}
// 
// 	public int getId() {
// 		return id;
// 	}
// 
// 	public void setId(int id) {
// 		this.id = id;
// 	}
// 
// 	public String getName() {
// 		return name;
// 	}
// 
// 	public void setName(String name) {
// 		this.name = name;
// 	}
// 
// 	public String getType() {
// 		return type;
// 	}
// 
// 	public void setType(String type) {
// 		this.type = type;
// 	}
// 
// 	public String getUrl() {
// 		return url;
// 	}
// 
// 	public void setUrl(String url) {
// 		this.url = url;
// 	}
// 
// 	public Backup getBackup() {
// 		return backup;
// 	}
// 
// 	public void setBackup(Backup backup) {
// 		this.backup = backup;
// 	}
// }


// Path: semantic-ide/src/main/java/ch/ethz/inf/vs/semantics/ide/workspace/WorkspaceManager.java
import ch.ethz.inf.vs.semantics.ide.domain.WorkspaceInfo;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;

package ch.ethz.inf.vs.semantics.ide.workspace;



public class WorkspaceManager {
	private static volatile WorkspaceManager instance = null;
	private static File persistenceFolder;
	private static Object lock = new Object();
	private Map<Integer, Workspace> workspaces;
	private int ID;

	private WorkspaceManager() {
		workspaces = new HashMap<>();
		ID = 1;
		for (File ws : getFolder().listFiles()) {
			ObjectMapper mapper = new ObjectMapper(); // can reuse, share globally
			try {
				WorkspaceInfo workspaceinfo = mapper.readValue(ws, WorkspaceInfo.class);