yaccl 0.1.5 → 1.0.pre.alpha
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/yaccl/children.rb +55 -0
- data/lib/yaccl/connection.rb +147 -0
- data/lib/yaccl/document.rb +62 -0
- data/lib/yaccl/folder.rb +76 -0
- data/lib/yaccl/helpers.rb +59 -0
- data/lib/yaccl/item.rb +11 -0
- data/lib/yaccl/object.rb +122 -0
- data/lib/yaccl/object_factory.rb +27 -0
- data/lib/yaccl/policy.rb +26 -0
- data/lib/yaccl/property_definition.rb +32 -0
- data/lib/yaccl/query.rb +53 -0
- data/lib/yaccl/query_result.rb +15 -0
- data/lib/yaccl/relationship.rb +18 -0
- data/lib/yaccl/repository.rb +108 -0
- data/lib/yaccl/server.rb +37 -0
- data/lib/yaccl/type.rb +106 -0
- data/lib/yaccl/version.rb +1 -1
- data/lib/yaccl.rb +21 -11
- data/readme.md +0 -3
- data/spec/{model/document_spec.rb → document_spec.rb} +4 -4
- data/spec/{model/folder_spec.rb → folder_spec.rb} +6 -6
- data/spec/helper.rb +12 -12
- data/spec/{model/object_spec.rb → object_spec.rb} +6 -6
- data/spec/relationship_spec.rb +19 -0
- data/spec/repository_spec.rb +150 -0
- data/spec/server_spec.rb +22 -0
- data/spec/{model/type_spec.rb → type_spec.rb} +6 -4
- data/yaccl.gemspec +1 -0
- metadata +48 -50
- data/examples/create_type_manual.rb +0 -40
- data/lib/yaccl/model/document.rb +0 -68
- data/lib/yaccl/model/folder.rb +0 -74
- data/lib/yaccl/model/item.rb +0 -9
- data/lib/yaccl/model/object.rb +0 -159
- data/lib/yaccl/model/object_factory.rb +0 -24
- data/lib/yaccl/model/policy.rb +0 -20
- data/lib/yaccl/model/property_definition.rb +0 -66
- data/lib/yaccl/model/relationship.rb +0 -22
- data/lib/yaccl/model/repository.rb +0 -155
- data/lib/yaccl/model/server.rb +0 -13
- data/lib/yaccl/model/type.rb +0 -146
- data/lib/yaccl/model.rb +0 -11
- data/lib/yaccl/services/acl_services.rb +0 -23
- data/lib/yaccl/services/discovery_services.rb +0 -29
- data/lib/yaccl/services/internal/browser_binding_service.rb +0 -170
- data/lib/yaccl/services/internal/simple_cache.rb +0 -103
- data/lib/yaccl/services/multi_filing_services.rb +0 -22
- data/lib/yaccl/services/navigation_services.rb +0 -84
- data/lib/yaccl/services/object_services.rb +0 -211
- data/lib/yaccl/services/policy_services.rb +0 -30
- data/lib/yaccl/services/relationship_services.rb +0 -18
- data/lib/yaccl/services/repository_services.rb +0 -67
- data/lib/yaccl/services/versioning_services.rb +0 -69
- data/lib/yaccl/services.rb +0 -34
- data/spec/model/relationship_spec.rb +0 -15
- data/spec/model/repository_spec.rb +0 -138
- data/spec/model/server_spec.rb +0 -16
- data/spec/services/navigation_services_spec.rb +0 -64
- data/spec/services/object_services_spec.rb +0 -44
- data/spec/services/repository_services_spec.rb +0 -35
@@ -1,84 +0,0 @@
|
|
1
|
-
module YACCL
|
2
|
-
module NavigationServices
|
3
|
-
def get_children(repository_id, folder_id, filter, order_by, include_allowable_actions, include_relationships, rendition_filter, include_path_segment, max_items, skip_count, succinct=false)
|
4
|
-
required = {succinct: succinct,
|
5
|
-
cmisselector: 'children',
|
6
|
-
repositoryId: repository_id,
|
7
|
-
objectId: folder_id}
|
8
|
-
optional = {filter: filter,
|
9
|
-
orderBy: order_by,
|
10
|
-
includeAllowableActions: include_allowable_actions,
|
11
|
-
includeRelationships: include_relationships,
|
12
|
-
renditionFilter: rendition_filter,
|
13
|
-
includePathSegment: include_path_segment,
|
14
|
-
maxItems: max_items,
|
15
|
-
skipCount: skip_count}
|
16
|
-
perform_request(required, optional)
|
17
|
-
end
|
18
|
-
|
19
|
-
def get_descendants(repository_id, folder_id, depth, filter, include_allowable_actions, include_relationships, rendition_filter, include_path_segment, succinct=false)
|
20
|
-
required = {succinct: succinct,
|
21
|
-
cmisselector: 'descendants',
|
22
|
-
repositoryId: repository_id,
|
23
|
-
objectId: folder_id}
|
24
|
-
optional = {depth: depth,
|
25
|
-
filter: filter,
|
26
|
-
includeAllowableActions: include_allowable_actions,
|
27
|
-
includeRelationships: include_relationships,
|
28
|
-
renditionFilter: rendition_filter,
|
29
|
-
includePathSegment: include_path_segment}
|
30
|
-
perform_request(required, optional)
|
31
|
-
end
|
32
|
-
|
33
|
-
def get_folder_tree(repository_id, folder_id, depth, filter, include_allowable_actions, include_relationships, rendition_filter, include_path_segment, succinct=false)
|
34
|
-
required = {succinct: succinct,
|
35
|
-
cmisselector: 'folderTree',
|
36
|
-
repositoryId: repository_id,
|
37
|
-
objectId: folder_id}
|
38
|
-
optional = {depth: depth,
|
39
|
-
filter: filter,
|
40
|
-
includeAllowableActions: include_allowable_actions,
|
41
|
-
includeRelationships: include_relationships,
|
42
|
-
renditionFilter: rendition_filter,
|
43
|
-
includePathSegment: include_path_segment}
|
44
|
-
perform_request(required, optional)
|
45
|
-
end
|
46
|
-
|
47
|
-
def get_folder_parent(repository_id, folder_id, filter, succinct=false)
|
48
|
-
required = {succinct: succinct,
|
49
|
-
cmisselector: 'parent',
|
50
|
-
repositoryId: repository_id,
|
51
|
-
objectId: folder_id}
|
52
|
-
optional = {filter: filter}
|
53
|
-
perform_request(required, optional)
|
54
|
-
end
|
55
|
-
|
56
|
-
def get_object_parents(repository_id, cmis_object_id, filter, include_allowable_actions, include_relationships, rendition_filter, include_relative_path_segment, succinct=false)
|
57
|
-
required = {succinct: succinct,
|
58
|
-
cmisselector: 'parents',
|
59
|
-
repositoryId: repository_id,
|
60
|
-
objectId: cmis_object_id}
|
61
|
-
optional = {filter: filter,
|
62
|
-
includeAllowableActions: include_allowable_actions,
|
63
|
-
includeRelationships: include_relationships,
|
64
|
-
renditionFilter: rendition_filter,
|
65
|
-
includeRelativePathSegment: include_relative_path_segment}
|
66
|
-
perform_request(required, optional)
|
67
|
-
end
|
68
|
-
|
69
|
-
def get_checked_out_docs(repository_id, folder_id, filter, order_by, include_allowable_actions, include_relationships, rendition_filter, max_items, skip_count, succinct=false)
|
70
|
-
required = {succinct: succinct,
|
71
|
-
cmisselector: 'checkedout',
|
72
|
-
repositoryId: repository_id}
|
73
|
-
optional = {objectId: folder_id,
|
74
|
-
filter: filter,
|
75
|
-
orderBy: order_by,
|
76
|
-
includeAllowableActions: include_allowable_actions,
|
77
|
-
includeRelationships: include_relationships,
|
78
|
-
renditionFilter: rendition_filter,
|
79
|
-
maxItems: max_items,
|
80
|
-
skipCount: skip_count}
|
81
|
-
perform_request(required, optional)
|
82
|
-
end
|
83
|
-
end
|
84
|
-
end
|
@@ -1,211 +0,0 @@
|
|
1
|
-
module YACCL
|
2
|
-
module ObjectServices
|
3
|
-
def get_object(repository_id, cmis_object_id, filter, include_allowable_actions, include_relationships, rendition_filter, include_policy_ids, include_acl, succinct=false)
|
4
|
-
required = {succinct: succinct,
|
5
|
-
cmisselector: 'object',
|
6
|
-
repositoryId: repository_id,
|
7
|
-
objectId: cmis_object_id}
|
8
|
-
optional = {filter: filter,
|
9
|
-
includeAllowableActions: include_allowable_actions,
|
10
|
-
includeRelationships: include_relationships,
|
11
|
-
renditionFilter: rendition_filter,
|
12
|
-
includePolicyIds: include_policy_ids,
|
13
|
-
includeAcl: include_acl}
|
14
|
-
perform_request(required, optional)
|
15
|
-
end
|
16
|
-
|
17
|
-
def get_properties(repository_id, cmis_object_id, filter, succinct=false)
|
18
|
-
required = {succinct: succinct,
|
19
|
-
cmisselector: 'properties',
|
20
|
-
repositoryId: repository_id,
|
21
|
-
objectId: cmis_object_id}
|
22
|
-
optional = {filter: filter}
|
23
|
-
perform_request(required, optional)
|
24
|
-
end
|
25
|
-
|
26
|
-
def create_document(repository_id, properties, folder_id, content, versioning_state, policies, add_aces, remove_aces, succinct=false)
|
27
|
-
required = {succinct: succinct,
|
28
|
-
cmisaction: 'createDocument',
|
29
|
-
repositoryId: repository_id,
|
30
|
-
properties: properties,
|
31
|
-
objectId: folder_id}
|
32
|
-
optional = {folderId: folder_id,
|
33
|
-
content: content,
|
34
|
-
versioningState: versioning_state,
|
35
|
-
policies: policies,
|
36
|
-
addACEs: add_aces,
|
37
|
-
removeACEs: remove_aces}
|
38
|
-
perform_request(required, optional)
|
39
|
-
end
|
40
|
-
|
41
|
-
def create_document_from_source(repository_id, source_id, properties, folder_id, versioning_state, policies, add_aces, remove_aces, succinct=false)
|
42
|
-
required = {succinct: succinct,
|
43
|
-
cmisaction: 'createDocument',
|
44
|
-
repositoryId: repository_id,
|
45
|
-
sourceId: source_id}
|
46
|
-
optional = {properties: properties,
|
47
|
-
objectId: folder_id,
|
48
|
-
versioningState: versioning_state,
|
49
|
-
policies: policies,
|
50
|
-
addACEs: add_aces,
|
51
|
-
removeACEs: remove_aces}
|
52
|
-
perform_request(required, optional)
|
53
|
-
end
|
54
|
-
|
55
|
-
def create_folder(repository_id, properties, folder_id, policies, add_aces, remove_aces, succinct=false)
|
56
|
-
required = {succinct: succinct,
|
57
|
-
cmisaction: 'createFolder',
|
58
|
-
repositoryId: repository_id,
|
59
|
-
properties: properties,
|
60
|
-
objectId: folder_id}
|
61
|
-
optional = {policies: policies,
|
62
|
-
addACEs: add_aces,
|
63
|
-
removeACEs: remove_aces}
|
64
|
-
perform_request(required, optional)
|
65
|
-
end
|
66
|
-
|
67
|
-
def create_relationship(repository_id, properties, policies, add_aces, remove_aces, succinct=false)
|
68
|
-
required = {succinct: succinct,
|
69
|
-
cmisaction: 'createRelationship',
|
70
|
-
repositoryId: repository_id,
|
71
|
-
properties: properties}
|
72
|
-
optional = {policies: policies,
|
73
|
-
addACEs: add_aces,
|
74
|
-
removeACEs: remove_aces}
|
75
|
-
perform_request(required, optional)
|
76
|
-
end
|
77
|
-
|
78
|
-
def create_policy(repository_id, properties, folder_id, policies, add_aces, remove_aces, succinct=false)
|
79
|
-
required = {succinct: succinct,
|
80
|
-
cmisaction: 'createPolicy',
|
81
|
-
repositoryId: repository_id,
|
82
|
-
properties: properties}
|
83
|
-
optional = {objectId: folder_id,
|
84
|
-
policies: policies,
|
85
|
-
addACEs: add_aces,
|
86
|
-
removeACEs: remove_aces}
|
87
|
-
perform_request(required, optional)
|
88
|
-
end
|
89
|
-
|
90
|
-
def create_item(repository_id, properties, folder_id, policies, add_aces, remove_aces, succinct=false)
|
91
|
-
required = {succinct: succinct,
|
92
|
-
cmisaction: 'createItem',
|
93
|
-
repositoryId: repository_id,
|
94
|
-
properties: properties}
|
95
|
-
optional = {objectId: folder_id,
|
96
|
-
policies: policies,
|
97
|
-
addACEs: add_aces,
|
98
|
-
removeACEs: remove_aces}
|
99
|
-
perform_request(required, optional)
|
100
|
-
end
|
101
|
-
|
102
|
-
def get_allowable_actions(repository_id, cmis_object_id, succinct=false)
|
103
|
-
required = {succinct: succinct,
|
104
|
-
cmisselector: 'allowableActions',
|
105
|
-
repositoryId: repository_id,
|
106
|
-
objectId: cmis_object_id}
|
107
|
-
perform_request(required)
|
108
|
-
end
|
109
|
-
|
110
|
-
def get_renditions(repository_id, cmis_object_id, rendition_filter, max_items, skip_count, succinct=false)
|
111
|
-
required = {succinct: succinct,
|
112
|
-
cmisselector: 'renditions',
|
113
|
-
repositoryId: repository_id,
|
114
|
-
objectId: cmis_object_id}
|
115
|
-
optional = {renditionFilter: rendition_filter,
|
116
|
-
maxItems: max_items,
|
117
|
-
skipCount: skip_count}
|
118
|
-
perform_request(required, optional)
|
119
|
-
end
|
120
|
-
|
121
|
-
def get_object_by_path(repository_id, path, filter, include_allowable_actions, include_relationships, rendition_filter, include_policy_ids, include_acl, succinct=false)
|
122
|
-
raise 'Not supported.'
|
123
|
-
end
|
124
|
-
|
125
|
-
def get_content_stream(repository_id, cmis_object_id, stream_id, offset, length, succinct=false)
|
126
|
-
required = {succinct: succinct,
|
127
|
-
cmisselector: 'content',
|
128
|
-
repositoryId: repository_id,
|
129
|
-
objectId: cmis_object_id}
|
130
|
-
optional = {streamId: stream_id,
|
131
|
-
offset: offset,
|
132
|
-
length: length}
|
133
|
-
perform_request(required, optional)
|
134
|
-
end
|
135
|
-
|
136
|
-
def update_properties(repository_id, cmis_object_id, change_token, properties, succinct=false)
|
137
|
-
required = {succinct: succinct,
|
138
|
-
cmisaction: 'update',
|
139
|
-
repositoryId: repository_id,
|
140
|
-
objectId: cmis_object_id,
|
141
|
-
properties: properties}
|
142
|
-
optional = {changeToken: change_token}
|
143
|
-
perform_request(required, optional)
|
144
|
-
end
|
145
|
-
|
146
|
-
def bulk_update_properties(repository_id, cmis_object_ids_and_change_tokens, properties, add_secondary_type_ids, remove_secondary_type_ids, succinct=false)
|
147
|
-
# TODO
|
148
|
-
end
|
149
|
-
|
150
|
-
def move_object(repository_id, cmis_object_id, target_folder_id, source_folder_id, succinct=false)
|
151
|
-
required = {succinct: succinct,
|
152
|
-
cmisaction: 'move',
|
153
|
-
repositoryId: repository_id,
|
154
|
-
objectId: cmis_object_id,
|
155
|
-
targetFolderId: target_folder_id,
|
156
|
-
sourceFolderId: source_folder_id}
|
157
|
-
perform_request(required)
|
158
|
-
end
|
159
|
-
|
160
|
-
def delete_object(repository_id, cmis_object_id, all_versions, succinct=false)
|
161
|
-
required = {succinct: succinct,
|
162
|
-
cmisaction: 'delete',
|
163
|
-
repositoryId: repository_id,
|
164
|
-
objectId: cmis_object_id}
|
165
|
-
optional = {allVersions: all_versions}
|
166
|
-
perform_request(required, optional)
|
167
|
-
end
|
168
|
-
|
169
|
-
def delete_tree(repository_id, folder_id, all_versions, unfile_objects, continue_on_failure, succinct=false)
|
170
|
-
required = {succinct: succinct,
|
171
|
-
cmisaction: 'deleteTree',
|
172
|
-
repositoryId: repository_id,
|
173
|
-
objectId: folder_id}
|
174
|
-
optional = {allVersions: all_versions,
|
175
|
-
unfileObjects: unfile_objects,
|
176
|
-
continueOnFailure: continue_on_failure}
|
177
|
-
perform_request(required, optional)
|
178
|
-
end
|
179
|
-
|
180
|
-
def set_content_stream(repository_id, cmis_object_id, overwrite_flag, change_token, content, succinct=false)
|
181
|
-
required = {succinct: succinct,
|
182
|
-
cmisaction: 'setContent',
|
183
|
-
repositoryId: repository_id,
|
184
|
-
objectId: cmis_object_id,
|
185
|
-
content: content}
|
186
|
-
optional = {overwriteFlag: overwrite_flag,
|
187
|
-
changeToken:change_token}
|
188
|
-
perform_request(required, optional)
|
189
|
-
end
|
190
|
-
|
191
|
-
def delete_content_stream(repository_id, cmis_object_id, change_token, succinct=false)
|
192
|
-
required = {succinct: succinct,
|
193
|
-
cmisaction: 'deleteContent',
|
194
|
-
repositoryId: repository_id,
|
195
|
-
objectId: cmis_object_id}
|
196
|
-
optional = {changeToken: change_token}
|
197
|
-
perform_request(required, optional)
|
198
|
-
end
|
199
|
-
|
200
|
-
def append_content_stream(repository_id, cmis_object_id, change_token, content, is_last_chunk, succinct=false)
|
201
|
-
required = {succinct: succinct,
|
202
|
-
cmisaction: 'appendContent',
|
203
|
-
repositoryId: repository_id,
|
204
|
-
objectId: cmis_object_id,
|
205
|
-
content: content}
|
206
|
-
optional = {isLastChunk: is_last_chunk,
|
207
|
-
changeToken: change_token}
|
208
|
-
perform_request(required, optional)
|
209
|
-
end
|
210
|
-
end
|
211
|
-
end
|
@@ -1,30 +0,0 @@
|
|
1
|
-
module YACCL
|
2
|
-
module PolicyServices
|
3
|
-
def apply_policy(repository_id, policy_id, cmis_object_id, succinct=false)
|
4
|
-
required = {succinct: succinct,
|
5
|
-
cmisaction: 'applyPolicy',
|
6
|
-
repositoryId: repository_id,
|
7
|
-
policyId: policy_id,
|
8
|
-
objectId: cmis_object_id}
|
9
|
-
perform_request(required)
|
10
|
-
end
|
11
|
-
|
12
|
-
def remove_policy(repository_id, policy_id, cmis_object_id, succinct=false)
|
13
|
-
required = {succinct: succinct,
|
14
|
-
cmisaction: 'removePolicy',
|
15
|
-
repositoryId: repository_id,
|
16
|
-
policyId: policy_id,
|
17
|
-
objectId: cmis_object_id}
|
18
|
-
perform_request(required)
|
19
|
-
end
|
20
|
-
|
21
|
-
def get_applied_policies(repository_id, cmis_object_id, filter, succinct=false)
|
22
|
-
required = {succinct: succinct,
|
23
|
-
cmisselector: 'policies',
|
24
|
-
repositoryId: repository_id,
|
25
|
-
objectId: cmis_object_id}
|
26
|
-
optional = {filter: filter}
|
27
|
-
perform_request(required, optional)
|
28
|
-
end
|
29
|
-
end
|
30
|
-
end
|
@@ -1,18 +0,0 @@
|
|
1
|
-
module YACCL
|
2
|
-
module RelationshipServices
|
3
|
-
def get_object_relationships(repository_id, cmis_object_id, include_sub_relationship_types, relationship_direction, type_id, filter, include_allowable_actions, max_items, skip_count, succinct=false)
|
4
|
-
required = {succinct: succinct,
|
5
|
-
cmisselector: 'relationships',
|
6
|
-
repositoryId: repository_id,
|
7
|
-
objectId: cmis_object_id}
|
8
|
-
optional = {includeSubRelationshipTypes: include_sub_relationship_types,
|
9
|
-
relationshipDirection: relationship_direction,
|
10
|
-
typeId: type_id,
|
11
|
-
filter: filter,
|
12
|
-
includeAllowableActions: include_allowable_actions,
|
13
|
-
maxItems: max_items,
|
14
|
-
skipCount: skip_count}
|
15
|
-
perform_request(required, optional)
|
16
|
-
end
|
17
|
-
end
|
18
|
-
end
|
@@ -1,67 +0,0 @@
|
|
1
|
-
module YACCL
|
2
|
-
module RepositoryServices
|
3
|
-
def get_repositories
|
4
|
-
perform_request
|
5
|
-
end
|
6
|
-
|
7
|
-
def get_repository_info(repository_id, succinct=false)
|
8
|
-
required = {succinct: succinct,
|
9
|
-
cmisselector: 'repositoryInfo',
|
10
|
-
repositoryId: repository_id}
|
11
|
-
perform_request(required)
|
12
|
-
end
|
13
|
-
|
14
|
-
def get_type_children(repository_id, type_id, include_property_definitions, max_items, skip_count, succinct=false)
|
15
|
-
required = {succinct: succinct,
|
16
|
-
cmisselector: 'typeChildren',
|
17
|
-
repositoryId: repository_id}
|
18
|
-
optional = {typeId: type_id,
|
19
|
-
includePropertyDefinitions: include_property_definitions,
|
20
|
-
maxItems: max_items,
|
21
|
-
skipCount: skip_count}
|
22
|
-
perform_request(required, optional)
|
23
|
-
end
|
24
|
-
|
25
|
-
def get_type_descendants(repository_id, type_id, depth, include_property_definitions, succinct=false)
|
26
|
-
required = {succinct: succinct,
|
27
|
-
cmisselector: 'typeDescendants',
|
28
|
-
repositoryId: repository_id}
|
29
|
-
optional = {typeId: type_id,
|
30
|
-
depth: depth,
|
31
|
-
includePropertyDefinitions: include_property_definitions}
|
32
|
-
perform_request(required, optional)
|
33
|
-
end
|
34
|
-
|
35
|
-
def get_type_definition(repository_id, type_id, succinct=false)
|
36
|
-
required = {succinct: succinct,
|
37
|
-
cmisselector: 'typeDefinition',
|
38
|
-
repositoryId: repository_id,
|
39
|
-
typeId: type_id}
|
40
|
-
perform_request(required)
|
41
|
-
end
|
42
|
-
|
43
|
-
def create_type(repository_id, type, succinct=false)
|
44
|
-
required = {succinct: succinct,
|
45
|
-
cmisaction: 'createType',
|
46
|
-
repositoryId: repository_id,
|
47
|
-
type: MultiJson.dump(type)}
|
48
|
-
perform_request(required)
|
49
|
-
end
|
50
|
-
|
51
|
-
def update_type(repository_id, type, succinct=false)
|
52
|
-
required = {succinct: succinct,
|
53
|
-
cmisaction: 'updateType',
|
54
|
-
repositoryId: repository_id,
|
55
|
-
type: MultiJson.dump(type)}
|
56
|
-
perform_request(required)
|
57
|
-
end
|
58
|
-
|
59
|
-
def delete_type(repository_id, type_id, succinct=false)
|
60
|
-
required = {succinct: succinct,
|
61
|
-
cmisaction: 'deleteType',
|
62
|
-
repositoryId: repository_id,
|
63
|
-
typeId: type_id}
|
64
|
-
perform_request(required)
|
65
|
-
end
|
66
|
-
end
|
67
|
-
end
|
@@ -1,69 +0,0 @@
|
|
1
|
-
module YACCL
|
2
|
-
module VersioningServices # TODO Check 'version_series_id' confusion.
|
3
|
-
def check_out(repository_id, cmis_object_id, succinct=false)
|
4
|
-
required = {succinct: succinct,
|
5
|
-
cmisaction: 'checkOut',
|
6
|
-
repositoryId: repository_id,
|
7
|
-
objectId: cmis_object_id}
|
8
|
-
perform_request(required)
|
9
|
-
end
|
10
|
-
|
11
|
-
def cancel_check_out(repository_id, cmis_object_id, succinct=false)
|
12
|
-
required = {succinct: succinct,
|
13
|
-
cmisaction: 'cancelCheckOut',
|
14
|
-
repositoryId: repository_id,
|
15
|
-
objectId: cmis_object_id}
|
16
|
-
perform_request(required)
|
17
|
-
end
|
18
|
-
|
19
|
-
def check_in(repository_id, cmis_object_id, major, properties, content, checkin_comment, policies, add_aces, remove_aces, succinct=false)
|
20
|
-
required = {succinct: succinct,
|
21
|
-
cmisaction: 'checkIn',
|
22
|
-
repositoryId: repository_id,
|
23
|
-
objectId: cmis_object_id}
|
24
|
-
optional = {major: major,
|
25
|
-
properties: properties,
|
26
|
-
content: content,
|
27
|
-
checkinComment: checkin_comment,
|
28
|
-
policies: policies,
|
29
|
-
addACEs: add_aces,
|
30
|
-
removeACEs: remove_aces}
|
31
|
-
perform_request(required, optional)
|
32
|
-
end
|
33
|
-
|
34
|
-
def get_object_of_latest_version(repository_id, version_series_id, major, filter, include_allowable_actions, include_relationships, rendition_filter, include_policy_ids, include_acl, succinct=false)
|
35
|
-
required = {succinct: succinct,
|
36
|
-
cmisselector: 'object',
|
37
|
-
repositoryId: repository_id,
|
38
|
-
objectId: version_series_id}
|
39
|
-
optional = {major: major,
|
40
|
-
filter: filter,
|
41
|
-
includeAllowableActions: include_allowable_actions,
|
42
|
-
includeRelationships: include_relationships,
|
43
|
-
renditionFilter: rendition_filter,
|
44
|
-
includePolicyIds: include_policy_ids,
|
45
|
-
includeACL: include_acl}
|
46
|
-
perform_request(required, optional)
|
47
|
-
end
|
48
|
-
|
49
|
-
def get_properties_of_latest_version(repository_id, version_series_id, major, filter, succinct=false)
|
50
|
-
required = {succinct: succinct,
|
51
|
-
cmisselector: 'properties',
|
52
|
-
repositoryId: repository_id,
|
53
|
-
objectId: version_series_id}
|
54
|
-
optional = {major: major,
|
55
|
-
filter: filter}
|
56
|
-
perform_request(required, optional)
|
57
|
-
end
|
58
|
-
|
59
|
-
def get_all_versions(repository_id, version_series_id, filter, include_allowable_actions, succinct=false)
|
60
|
-
required = {succinct: succinct,
|
61
|
-
cmisselector: 'versions',
|
62
|
-
repositoryId: repository_id,
|
63
|
-
objectId: version_series_id}
|
64
|
-
optional = {filter: filter,
|
65
|
-
includeAllowableActions: include_allowable_actions}
|
66
|
-
perform_request(required, optional)
|
67
|
-
end
|
68
|
-
end
|
69
|
-
end
|
data/lib/yaccl/services.rb
DELETED
@@ -1,34 +0,0 @@
|
|
1
|
-
require 'yaccl/services/internal/browser_binding_service'
|
2
|
-
require 'yaccl/services/repository_services'
|
3
|
-
require 'yaccl/services/navigation_services'
|
4
|
-
require 'yaccl/services/object_services'
|
5
|
-
require 'yaccl/services/multi_filing_services'
|
6
|
-
require 'yaccl/services/discovery_services'
|
7
|
-
require 'yaccl/services/versioning_services'
|
8
|
-
require 'yaccl/services/relationship_services'
|
9
|
-
require 'yaccl/services/policy_services'
|
10
|
-
require 'yaccl/services/acl_services'
|
11
|
-
|
12
|
-
module YACCL
|
13
|
-
module Services
|
14
|
-
class << self
|
15
|
-
def perform_request(*params)
|
16
|
-
service = Internal::BrowserBindingService.new(YACCL::SERVICE_URL,
|
17
|
-
YACCL::BASIC_AUTH_USERNAME,
|
18
|
-
YACCL::BASIC_AUTH_PASSWORD,
|
19
|
-
YACCL::SUCCINCT_PROPERTIES)
|
20
|
-
service.perform_request(*params)
|
21
|
-
end
|
22
|
-
|
23
|
-
include RepositoryServices
|
24
|
-
include NavigationServices
|
25
|
-
include ObjectServices
|
26
|
-
include MultiFilingServices
|
27
|
-
include DiscoveryServices
|
28
|
-
include VersioningServices
|
29
|
-
include RelationshipServices
|
30
|
-
include PolicyServices
|
31
|
-
include ACLServices
|
32
|
-
end
|
33
|
-
end
|
34
|
-
end
|
@@ -1,15 +0,0 @@
|
|
1
|
-
require_relative '../helper'
|
2
|
-
|
3
|
-
describe YACCL::Model::Relationship do
|
4
|
-
|
5
|
-
it 'should make properties accessible through method' do
|
6
|
-
new_object = YACCL::Model::Relationship.new('repoId', {succinctProperties: {myProp: 'myValue'}})
|
7
|
-
new_object.myProp.should eq 'myValue'
|
8
|
-
end
|
9
|
-
|
10
|
-
it 'should raise methodmissing for unknown property' do
|
11
|
-
new_object = YACCL::Model::Relationship.new('repoId', {succinctProperties: {'myProp' => 'myValue'}})
|
12
|
-
expect {new_object.myOtherProp}.to raise_error(NoMethodError, /undefined method `myOtherProp'/)
|
13
|
-
end
|
14
|
-
|
15
|
-
end
|
@@ -1,138 +0,0 @@
|
|
1
|
-
require_relative '../helper'
|
2
|
-
|
3
|
-
describe YACCL::Model::Repository do
|
4
|
-
|
5
|
-
context 'generic' do
|
6
|
-
before do
|
7
|
-
@id = 'meta'
|
8
|
-
@repo = YACCL::Model::Server.repository(@id)
|
9
|
-
end
|
10
|
-
|
11
|
-
it 'id' do
|
12
|
-
@repo.id.should.eql? @id
|
13
|
-
end
|
14
|
-
|
15
|
-
it 'fields' do
|
16
|
-
@repo.id.should_not be_nil
|
17
|
-
@repo.name.should_not be_nil
|
18
|
-
@repo.product_version.should_not be_nil
|
19
|
-
@repo.description.should_not be_nil
|
20
|
-
@repo.root_folder_id.should_not be_nil
|
21
|
-
@repo.capabilities.should_not be_nil
|
22
|
-
@repo.url.should_not be_nil
|
23
|
-
@repo.changes_on_type.should_not be_nil
|
24
|
-
@repo.root_folder_url.should_not be_nil
|
25
|
-
@repo.product_name.should_not be_nil
|
26
|
-
@repo.product_version.should_not be_nil
|
27
|
-
|
28
|
-
%w(1.0 1.1).should include @repo.cmis_version_supported
|
29
|
-
end
|
30
|
-
|
31
|
-
it 'new object' do
|
32
|
-
@repo.new_folder.should be_a_kind_of YACCL::Model::Folder
|
33
|
-
@repo.new_document.should be_a_kind_of YACCL::Model::Document
|
34
|
-
@repo.new_relationship.should be_a_kind_of YACCL::Model::Relationship
|
35
|
-
@repo.new_policy.should be_a_kind_of YACCL::Model::Policy
|
36
|
-
@repo.new_item.should be_a_kind_of YACCL::Model::Item
|
37
|
-
end
|
38
|
-
|
39
|
-
it 'root' do
|
40
|
-
root = @repo.root
|
41
|
-
root.should be_a_kind_of YACCL::Model::Folder
|
42
|
-
root.cmis_object_id.should eq @repo.root_folder_id
|
43
|
-
end
|
44
|
-
|
45
|
-
it 'object' do
|
46
|
-
id = @repo.root_folder_id
|
47
|
-
object = @repo.object(id)
|
48
|
-
object.should be_a_kind_of YACCL::Model::Folder
|
49
|
-
object.cmis_object_id.should eq id
|
50
|
-
end
|
51
|
-
|
52
|
-
it 'type - document' do
|
53
|
-
document = @repo.type('cmis:document')
|
54
|
-
document.should be_a_kind_of YACCL::Model::Type
|
55
|
-
document.id.should eq 'cmis:document'
|
56
|
-
end
|
57
|
-
|
58
|
-
it 'type - folder' do
|
59
|
-
folder = @repo.type('cmis:folder')
|
60
|
-
folder.should be_a_kind_of YACCL::Model::Type
|
61
|
-
folder.id.should eq 'cmis:folder'
|
62
|
-
end
|
63
|
-
end
|
64
|
-
|
65
|
-
context 'upn' do
|
66
|
-
before :all do
|
67
|
-
@repo = create_repository('testrepository')
|
68
|
-
end
|
69
|
-
|
70
|
-
after :all do
|
71
|
-
delete_repository('testrepository')
|
72
|
-
end
|
73
|
-
|
74
|
-
it 'type - relationship' do
|
75
|
-
relationship = @repo.type('cmis:relationship')
|
76
|
-
relationship.should be_a_kind_of YACCL::Model::Type
|
77
|
-
relationship.id.should eq 'cmis:relationship'
|
78
|
-
end
|
79
|
-
|
80
|
-
it 'type - policy' do
|
81
|
-
policy = @repo.type('cmis:policy')
|
82
|
-
policy.should be_a_kind_of YACCL::Model::Type
|
83
|
-
policy.id.should eq 'cmis:policy'
|
84
|
-
end
|
85
|
-
|
86
|
-
it 'type - item' do
|
87
|
-
begin
|
88
|
-
item = @repo.type('cmis:item')
|
89
|
-
item.should be_a_kind_of YACCL::Model::Type
|
90
|
-
item.id.should eq 'cmis:item'
|
91
|
-
end unless @repo.cmis_version_supported < '1.1'
|
92
|
-
end
|
93
|
-
|
94
|
-
it 'create, get, delete type - document' do
|
95
|
-
begin
|
96
|
-
type_id = 'apple'
|
97
|
-
|
98
|
-
type = YACCL::Model::Type.new
|
99
|
-
type.id = type_id
|
100
|
-
type.local_name = 'apple'
|
101
|
-
type.query_name = 'apple'
|
102
|
-
type.display_name = 'apple'
|
103
|
-
type.parent_id = 'cmis:document'
|
104
|
-
type.base_id = 'cmis:document'
|
105
|
-
type.description = 'appel'
|
106
|
-
type.creatable = true
|
107
|
-
type.fileable = true
|
108
|
-
type.queryable = true
|
109
|
-
type.controllable_policy = true
|
110
|
-
type.controllable_acl = true
|
111
|
-
type.fulltext_indexed = true
|
112
|
-
type.included_in_supertype_query = true
|
113
|
-
type.content_stream_allowed = 'allowed'
|
114
|
-
type.versionable = false
|
115
|
-
|
116
|
-
type.add_property_definition(id: 'color',
|
117
|
-
localName: 'color',
|
118
|
-
queryName: 'color',
|
119
|
-
displayName: 'color',
|
120
|
-
description: 'color',
|
121
|
-
propertyType: 'string',
|
122
|
-
cardinality: 'single',
|
123
|
-
updatability: 'readwrite',
|
124
|
-
inherited: false,
|
125
|
-
required: false,
|
126
|
-
queryable: true,
|
127
|
-
orderable: true)
|
128
|
-
|
129
|
-
@repo.create_type(type)
|
130
|
-
@repo.type(type_id).tap do |t|
|
131
|
-
t.should be_a_kind_of YACCL::Model::Type
|
132
|
-
t.id.should eq type_id
|
133
|
-
end
|
134
|
-
@repo.type(type_id).delete
|
135
|
-
end unless @repo.cmis_version_supported < '1.1'
|
136
|
-
end
|
137
|
-
end
|
138
|
-
end
|
data/spec/model/server_spec.rb
DELETED
@@ -1,16 +0,0 @@
|
|
1
|
-
require_relative '../helper'
|
2
|
-
|
3
|
-
describe YACCL::Model::Server do
|
4
|
-
it 'repositories' do
|
5
|
-
YACCL::Model::Server.repositories.each do |repo|
|
6
|
-
repo.should be_a_kind_of YACCL::Model::Repository
|
7
|
-
end
|
8
|
-
end
|
9
|
-
|
10
|
-
it 'repository' do
|
11
|
-
id = 'meta'
|
12
|
-
repo = YACCL::Model::Server.repository(id)
|
13
|
-
repo.should be_a_kind_of YACCL::Model::Repository
|
14
|
-
repo.id.should eq id
|
15
|
-
end
|
16
|
-
end
|