/*******************************************************************************
* Copyright (c) 2005, 2012 eBay Inc.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
*******************************************************************************/
package org.eclipse.vjet.eclipse.core.ts;
// DEPRECATED
import org.eclipse.vjet.dsf.jst.IJstType;
import org.eclipse.vjet.dsf.ts.event.EventListenerStatus;
import org.eclipse.vjet.dsf.ts.event.ISourceEventCallback;
import org.eclipse.vjet.eclipse.core.VjetPlugin;
import org.eclipse.vjet.vjo.tool.typespace.TypeSpaceLoadEvent;
import org.eclipse.vjet.vjo.tool.typespace.TypeSpaceMgr;
import org.eclipse.core.resources.WorkspaceJob;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status;
import org.eclipse.dltk.mod.core.DLTKCore;
/**
* Job to loading all types of the workspace to type space.
*
*
*
*/
public class TypeSpaceLoadJob extends WorkspaceJob {
private static final String TYPE_SPACE_LOADING = "Type Space loading";
public TypeSpaceLoadJob() {
super(TYPE_SPACE_LOADING);
}
@Override
public IStatus runInWorkspace(IProgressMonitor monitor)
throws CoreException {
// TypeSpaceMgr mgr = TypeSpaceMgr.getInstance();
// try {
// mgr
// .load(new EclipseTypeLoadMonitor(monitor),
// getErrorLogCallback());
// } catch (Exception e) {
// e.printStackTrace();
// DLTKCore.error(e.getMessage(), e);
// }
return Status.OK_STATUS;
}
private ISourceEventCallback<IJstType> getErrorLogCallback() {
return InnerErrorLogCallBack.getInstance();
}
}
class InnerErrorLogCallBack implements ISourceEventCallback<IJstType> {
private static ISourceEventCallback<IJstType> m_instance;
public static ISourceEventCallback<IJstType> getInstance() {
if (m_instance == null) {
m_instance = new InnerErrorLogCallBack();
}
return m_instance;
}
public void onComplete(EventListenerStatus<IJstType> status) {
if (status.getCode() == EventListenerStatus.Code.Failed
|| status.getCode() == EventListenerStatus.Code.Exception) {
String messagesDetail = TypeSpaceLoadEvent.getErrorString(status);
String message = status.getMsg();
if (message == null) {
message = "";
}
if (messagesDetail == null) {
messagesDetail = "";
}
VjetPlugin.error("Encounted exception when loading type space: "
+ message + "{" + messagesDetail + "}", IStatus.WARNING);
}
}
@Override
public void onProgress(float percentage) {
// do nothing
}
}