Source code: com/gammastream/validity/GSVEOModel.java
1 package com.gammastream.validity;
2
3 import com.webobjects.foundation.*;
4 import com.webobjects.appserver.*;
5 import com.webobjects.eocontrol.*;
6 import com.webobjects.eoaccess.*;
7 import java.io.*;
8
9 public class GSVEOModel {
10
11 private NSDictionary model = null;
12 private String path = null;
13 private String name = null;
14 private String eomodelVersion = null;
15 private String adaptorName = null;
16 private NSDictionary connectionDictionary = null;
17 private NSArray entities = null;
18 private NSArray gsveoEntities = null;
19
20 public GSVEOModel(NSDictionary d, String p){
21 model = d;
22 path = p;
23 }
24
25 public GSVEOModel(String p) throws java.io.IOException{
26 path=p;
27 File f = new File(path+"/index.eomodeld");
28 FileInputStream fis = new FileInputStream(f);
29 byte[] bytes = new byte[(int)f.length()];
30 fis.read(bytes);
31 model = (NSDictionary)NSPropertyListSerialization.propertyListFromString(new String(bytes));
32 }
33
34
35 public String path(){
36 return path;
37 }
38
39 public String name(){
40 if(name != null)
41 return name;
42 name = NSPathUtilities.stringByDeletingPathExtension(NSPathUtilities.lastPathComponent(path));
43 return name;
44 }
45
46 public String eomodelVersion(){
47 if(eomodelVersion != null)
48 return eomodelVersion;
49 eomodelVersion = (String)model.objectForKey("EOModelVersion");
50 return name;
51 }
52
53 public String adaptorName(){
54 if(adaptorName != null)
55 return adaptorName;
56 adaptorName = (String)model.objectForKey("adaptorName");
57 return name;
58 }
59
60 public NSDictionary connectionDictionary(){
61 if(connectionDictionary != null)
62 return connectionDictionary;
63 connectionDictionary = (NSDictionary)model.objectForKey("connectionDictionary");
64 return connectionDictionary;
65 }
66
67 public NSArray entities(){
68 if(entities != null)
69 return entities;
70 entities = (NSArray)model.objectForKey("entities");
71 return entities;
72 }
73
74 public NSArray gsveoEntities(){
75 if(gsveoEntities != null)
76 return gsveoEntities;
77 NSMutableArray temp = new NSMutableArray();
78 for(int i=0;i<entities().count();i++)
79 temp.addObject(new GSVEOEntity(this, (String)((NSDictionary)(entities().objectAtIndex(i))).objectForKey("name")));
80 gsveoEntities = temp;
81 return gsveoEntities;
82 }
83
84
85 public GSVEOEntity entityNamed(String name){
86 NSDictionary currentEntity = null;
87 for(int i=0;i<this.entities().count();i++){
88 currentEntity = (NSDictionary)this.entities().objectAtIndex(i);
89 if(currentEntity.objectForKey("name").equals(name))
90 return new GSVEOEntity(this,name);
91 }
92 return null;
93 }
94
95 }