Repository navigation
Expand file tree
/
Copy pathMain.java
More file actions
executable file
·65 lines (61 loc) · 2.63 KB
/
Copy pathMain.java
File metadata and controls
executable file
·65 lines (61 loc) · 2.63 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
/*
* Main.java
*
*
*/
package client;
import org.omg.CORBA.*;
import org.omg.CosNaming.*;
/**
* Êëèåíò òåõíîëîãèè CORBA
*/
public class Main {
/**
* ïîëó÷èòü âñå ñåðâèñû, êîòîðûå äîñòóïíû äëÿ ïðîãðàììû
*/
public static void getServices(String[] args){
try{
/** èíèöèàëèçàöèÿ áðîêåðà*/
ORB orb=ORB.init(args,null);
/** ñïèñîê äîñòóïíûõ ñåðâèñîâ*/
String[] services=orb.list_initial_services();
/** âûâîäèì íà ïå÷àòü äîñòóïíûå ñåðâèñû*/
for(int i=0;i<services.length;i++){
System.out.println(i+" : "+services[i]);
}
}catch(Exception e){
System.out.println("Error in trying get all Services");
}
}
/**
* òî÷êà âõîäà â ïðîãðàììó
*/
public static void main(String[] args) {
try{
getServices(args);
/** Èíèöèàëèçàöèÿ áðîêåðà ORB*/
ORB orb=ORB.init(args,null);
/** ïîëó÷åíèå ññûëêè íà îáúåêò äàííîãî ñåðâèñà,
* òî åñòü íà îáúåêò, êîòîðûé âûïîëíÿåò îäèí èç ñåðâèñîâ */
System.out.println("get reference on object of service");
org.omg.CORBA.Object namingContextObj=orb.resolve_initial_references("NameService");
/** ïðåîáðàçîâàíèå ññûëêè ê òèïó NamingContext äëÿ ïðåäîñòàâëåíèÿ âîçìîæíîñòè âûçîâà ìåòîäîâ èíòåðôåéñà êîíòåêñòà íàèìåíîâàíèÿ
* âîçâðàùàåò îáúåêò, êîòîðûé ñâÿçàí ñ òåêóùèì èìåíåì
*/
System.out.println("returns object, which is connected with current name");
NamingContext namingContext=NamingContextHelper.narrow(namingContextObj);
/** ïîëó÷åíèå êëàññà ñïðàâêè öåëåâîãî èíòåðôåéñà */
// êîìïîíåíò-èìÿ ñîñòîèò èç èäåíòèôèêàòîðà(id),âèäà(kind) id,kind
System.out.println("reception of the class of the reference of the target interface");
NameComponent[] path={//new NameComponent("corejava","Context"),
new NameComponent("Env","Object")};
/** ïîëó÷åíèå îáúåêòà, ñâÿçàííîãî ñ óêàçàííûì èìåíåì */
System.out.println("reception of the object, connected with specified by name");
org.omg.CORBA.Object envObj=namingContext.resolve(path);
Env env=EnvHelper.narrow(envObj);
System.out.println("The Reception of the result removed to functions:"+env.getenv("value of remote PATH"));
}catch(Exception e){
System.out.println("CORBA Client Exception: "+e.getMessage());
}
}
}