forked from fanruan/design
ju
7 years ago
20 changed files with 145 additions and 185 deletions
@ -0,0 +1,29 @@
|
||||
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; |
||||
} |
||||
} |
@ -1,22 +0,0 @@
|
||||
package com.fr.design.env; |
||||
|
||||
import com.fr.base.Env; |
||||
import com.fr.core.env.EnvConfig; |
||||
import com.fr.core.env.impl.LocalEnvConfig; |
||||
import com.fr.dav.LocalEnv; |
||||
import com.fr.env.RemoteEnv; |
||||
|
||||
/** |
||||
* 根据配置生成运行环境 |
||||
*/ |
||||
public class EnvGenerator { |
||||
public static Env generate(EnvConfig config) { |
||||
Env env = null; |
||||
if (config instanceof LocalEnvConfig) { |
||||
env = new LocalEnv((LocalEnvConfig)config); |
||||
} else if (config instanceof RemoteEnvConfig) { |
||||
env = new RemoteEnv((RemoteEnvConfig) config); |
||||
} |
||||
return env; |
||||
} |
||||
} |
@ -0,0 +1,61 @@
|
||||
package com.fr.design.env; |
||||
|
||||
import com.fr.general.Inter; |
||||
import com.fr.workspace.Workspace; |
||||
import com.fr.workspace.connect.WorkspaceClient; |
||||
|
||||
/** |
||||
* Created by juhaoyu on 2018/6/14. |
||||
* 远程工作目录 |
||||
*/ |
||||
public class RemoteWorkspace implements Workspace { |
||||
|
||||
private final WorkspaceClient client; |
||||
|
||||
private final String address; |
||||
|
||||
private final String userName; |
||||
|
||||
public RemoteWorkspace(WorkspaceClient client, String address, String userName) { |
||||
|
||||
this.client = client; |
||||
this.address = address; |
||||
this.userName = userName; |
||||
} |
||||
|
||||
@Override |
||||
public String getName() { |
||||
|
||||
return userName; |
||||
} |
||||
|
||||
@Override |
||||
public String getPath() { |
||||
|
||||
return address; |
||||
} |
||||
|
||||
@Override |
||||
public String getDescription() { |
||||
|
||||
return userName + "@" + "[" + Inter.getLocText("Fine-Designer_Basic_Remote_Env") + "]"; |
||||
} |
||||
|
||||
@Override |
||||
public boolean isWarDeploy() { |
||||
|
||||
return false; |
||||
} |
||||
|
||||
@Override |
||||
public boolean isLocal() { |
||||
|
||||
return false; |
||||
} |
||||
|
||||
@Override |
||||
public <T> T get(Class<T> type) { |
||||
|
||||
return client.getPool().get(type); |
||||
} |
||||
} |
@ -1,46 +0,0 @@
|
||||
package com.fr.env; |
||||
|
||||
|
||||
import com.fr.base.Env; |
||||
import com.fr.base.FRContext; |
||||
import com.fr.core.env.EnvConfig; |
||||
import com.fr.core.env.EnvContext; |
||||
import com.fr.core.env.EnvEvent; |
||||
import com.fr.design.mainframe.DesignerContext; |
||||
import com.fr.design.utils.DesignUtils; |
||||
import com.fr.event.Event; |
||||
import com.fr.event.EventDispatcher; |
||||
import com.fr.event.Listener; |
||||
import com.fr.event.Null; |
||||
import com.fr.general.ComparatorUtils; |
||||
import com.fr.general.Inter; |
||||
import com.fr.stable.AssistUtils; |
||||
|
||||
import javax.swing.*; |
||||
|
||||
|
||||
public class SignIn { |
||||
|
||||
static { |
||||
EventDispatcher.listen(EnvEvent.CONNECTION_ERROR, new Listener<Null>() { |
||||
@Override |
||||
public void on(Event event, Null param) { |
||||
JOptionPane.showMessageDialog(DesignerContext.getDesignerFrame(), Inter.getLocText("Datasource-Connection_failed")); |
||||
} |
||||
}); |
||||
} |
||||
|
||||
/** |
||||
* 注册入环境 |
||||
* |
||||
* @param selectedEnv 选择的环境 |
||||
* @throws Exception 异常 |
||||
*/ |
||||
public static void signIn(EnvConfig selectedEnv) throws Exception { |
||||
Env env = FRContext.getCurrentEnv(); |
||||
if (env != null && AssistUtils.equals(env.getEnvConfig(), selectedEnv)) { |
||||
env.disconnect(); |
||||
} |
||||
//DesignUtils.switchToEnv(selectedEnv);
|
||||
} |
||||
} |
Loading…
Reference in new issue