You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
29 lines
1.1 KiB
29 lines
1.1 KiB
package com.fr.design.env; |
|
|
|
import com.fr.base.Env; |
|
import com.fr.base.env.EnvConfig; |
|
import com.fr.base.env.LocalEnvConfig; |
|
import com.fr.env.RemoteEnv; |
|
import com.fr.workspace.WorkContext; |
|
import com.fr.workspace.Workspace; |
|
import com.fr.workspace.connect.WorkspaceClient; |
|
import com.fr.workspace.connect.WorkspaceConnection; |
|
|
|
/** |
|
* 根据配置生成运行环境 |
|
*/ |
|
public class DesignerWorkspaceGenerator { |
|
|
|
public static Workspace generate(EnvConfig config) { |
|
|
|
Workspace workspace = null; |
|
if (config instanceof LocalEnvConfig) { |
|
workspace = WorkContext.getFactory().build(config.getPath()); |
|
} else if (config instanceof RemoteEnvConfig) { |
|
RemoteEnvConfig remoteConfig = (RemoteEnvConfig) config; |
|
WorkspaceClient client = WorkContext.getConnector().connect(new WorkspaceConnection(remoteConfig.getHost(), remoteConfig.getPort(), remoteConfig.getUsername(), remoteConfig.getPassword())); |
|
workspace = new RemoteWorkspace(client, remoteConfig.getHost() + ":" + remoteConfig.getPort(), remoteConfig.getPassword()); |
|
} |
|
return workspace; |
|
} |
|
}
|
|
|