| <?xml version="1.0" encoding="UTF-8"?> |
| <!-- |
| * Licensed to the Apache Software Foundation (ASF) under one |
| * or more contributor license agreements. See the NOTICE file |
| * distributed with this work for additional information |
| * regarding copyright ownership. The ASF licenses this file |
| * to you under the Apache License, Version 2.0 (the |
| * "License"); you may not use this file except in compliance |
| * with the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, |
| * software distributed under the License is distributed on an |
| * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| * KIND, either express or implied. See the License for the |
| * specific language governing permissions and limitations |
| * under the License. |
| --> |
| <composite xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912" |
| xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.1" |
| targetNamespace="http://org.apache.photoark" |
| name="photo-gallery-jcr"> |
| |
| <!-- Component responsible for providing Access Management for gallery/album --> |
| <component name="AccessManager"> |
| <implementation.java class="org.apache.photark.jcr.security.authorization.JCRAccessManager"/> |
| <service name="AccessManager"> |
| <interface.java interface="org.apache.photark.security.authorization.services.AccessManager"/> |
| <binding.sca name="local"/> |
| <!--<tuscany:binding.jsonrpc uri="/AccessManagerService"/>--> |
| </service> |
| <service name="JSONAccessManager"> |
| <interface.java interface="org.apache.photark.security.authorization.services.JSONAccessManager"/> |
| <tuscany:binding.jsonrpc uri="/AccessManagerService"/> |
| </service> |
| <reference name="repositoryManager" target="RepositoryManager"/> |
| </component> |
| |
| <!-- Facade component for Gallery --> |
| <component name="Gallery"> |
| <implementation.java class="org.apache.photark.jcr.services.JCRGalleryImpl"/> |
| <property name="name">gallery</property> |
| <service name="Gallery"> |
| <interface.java interface="org.apache.photark.services.gallery.Gallery"/> |
| <binding.sca name="local"/> |
| <tuscany:binding.jsonrpc uri="/GalleryService"/> |
| </service> |
| <reference name="repositoryManager" target="RepositoryManager"/> |
| <reference name="listeners" target="SearchService"/> |
| <reference name="accessmanager" target="AccessManager"/> |
| </component> |
| |
| <!-- Component responsible for providing REST access to images --> |
| <component name="ImageServiceComponent"> |
| <implementation.java class="org.apache.photark.jcr.services.JCRImageCollectionImpl"/> |
| <service name="ImageCollection"> |
| <tuscany:binding.http uri="/gallery"/> |
| </service> |
| <reference name="repositoryManager" target="RepositoryManager"/> |
| </component> |
| |
| <!-- Component responsible for providing REST access to Security Data --> |
| <component name="SecurityServiceComponent"> |
| <implementation.java class="org.apache.photark.security.authorization.services.SecurityServiceImpl"/> |
| <service name="Servlet"> |
| <tuscany:binding.http uri="/security"/> |
| </service> |
| <reference name="accessmanager" target="AccessManager"> |
| <binding.sca name="local"/> |
| </reference> |
| <!--<reference name="accessmanager" target="AccessManager"/>--> |
| </component> |
| |
| <!-- Component responsible for providing upload support for gallery/album --> |
| <component name="ImageUploadServiceComponent"> |
| <implementation.java class="org.apache.photark.jcr.services.JCRImageUploadServiceImpl"/> |
| <service name="Servlet"> |
| <tuscany:binding.http uri="/admin/upload"/> |
| </service> |
| <reference name="repositoryManager" target="RepositoryManager"/> |
| <reference name="gallery" target="Gallery"> |
| <binding.sca name="local"/> |
| </reference> |
| <reference name="accessmanager" target="AccessManager"/> |
| |
| </component> |
| |
| <!-- Component responsible for providing JCR Management Support --> |
| <component name="RepositoryManager"> |
| <implementation.java class="org.apache.photark.jcr.JCRRepositoryManager"/> |
| <property name="repositoryHome">photark</property> |
| </component> |
| |
| <!-- Component responsible for providing OpenID Authentication for PhotArk --> |
| <component name="OpenIdAuthenticationServiceComponent"> |
| <implementation.java class="org.apache.photark.security.authentication.services.OpenIDAuthenticationServiceImpl"/> |
| <service name="Servlet"> |
| <tuscany:binding.http uri="/home/authenticate"/> |
| </service> |
| <reference name="accessmanager" target="AccessManager"> |
| <binding.sca name="local"/> |
| </reference> |
| </component> |
| |
| <!-- Component responsible for providing FORM Authentication for PhotArk --> |
| <component name="FormAuthenticationServiceComponent"> |
| <implementation.java class="org.apache.photark.security.authentication.services.FormAuthenticationServiceImpl"/> |
| <service name="Servlet"> |
| <tuscany:binding.http uri="/admin/authenticate"/> |
| </service> |
| <reference name="accessmanager" target="AccessManager"> |
| <binding.sca name="local"/> |
| </reference> |
| </component> |
| |
| <!-- Component responsible for providing logging out from the active user--> |
| <component name="LogoutAuthenticationServiceComponent"> |
| <implementation.java class="org.apache.photark.security.authentication.services.LogoutServiceImpl"/> |
| <service name="Servlet"> |
| <tuscany:binding.http uri="/logout"/> |
| </service> |
| <reference name="accessmanager" target="AccessManager"> |
| <binding.sca name="local"/> |
| </reference> |
| </component> |
| |
| <!-- Component responsible for indexing and searching images --> |
| <component name="SearchService"> |
| <implementation.java class="org.apache.photark.search.services.impl.SearchServiceImpl"/> |
| <property name="indexDirectoryPath">search-index</property> |
| |
| <service name="SearchService"> |
| <interface.java interface="org.apache.photark.search.services.SearchService"/> |
| <binding.sca name="local"/> |
| <tuscany:binding.jsonrpc uri="/SearchService"/> |
| </service> |
| <reference name="accessmanager" target="AccessManager"> |
| <binding.sca name="local"/> |
| </reference> |
| |
| </component> |
| |
| |
| |
| <component name="RemoteAlbumSubscriptionManager"> |
| <implementation.java class="org.apache.photark.jcr.album.subscription.AlbumSubscriptionManager"/> |
| |
| <service name="RemoteAlbumSubscription"> |
| <interface.java interface="org.apache.photark.services.gallery.RemoteAlbumSubscription"/> |
| <binding.sca name="local"/> |
| <tuscany:binding.jsonrpc uri="/RemoteAlbumSubscriptionManager"/> |
| </service> |
| <reference name="repositoryManager" target="RepositoryManager"/> |
| <reference name="jcrRemoteGallery" target="RemoteGallery"/> |
| </component> |
| |
| <component name="RemoteGallery"> |
| <implementation.java class="org.apache.photark.jcr.services.JCRRemoteGalleryImpl"/> |
| <property name="name">gallery</property> |
| <service name="RemoteGallery"> |
| <interface.java interface="org.apache.photark.services.gallery.RemoteGallery"/> |
| <binding.sca name="local"/> |
| <tuscany:binding.jsonrpc uri="/JCRRemoteGallery"/> |
| </service> |
| <reference name="repositoryManager" target="RepositoryManager"/> |
| <reference name="listeners" target="SearchService"/> |
| <reference name="accessmanager" target="AccessManager"/> |
| </component> |
| |
| <component name="FaceRecognitionService"> |
| <implementation.java class="org.apache.photark.face.services.FaceRecognitionServiceImpl"/> |
| |
| <service name="FaceRecognitionService"> |
| <interface.java interface="org.apache.photark.face.services.FaceRecognitionService"/> |
| <binding.sca name="local"/> |
| <tuscany:binding.jsonrpc uri="/FaceRecognitionService"/> |
| </service> |
| </component> |
| |
| <component name="FacebookFriendFinder"> |
| <implementation.java class="org.apache.photark.face.services.applications.facebook.FacebookFriendFinderImpl"/> |
| |
| <service name="FacebookFriendFinder"> |
| <interface.java interface="org.apache.photark.face.services.applications.facebook.FacebookFriendFinder"/> |
| <binding.sca name="local"/> |
| <tuscany:binding.jsonrpc uri="/FacebookFriendFinder"/> |
| </service> |
| <reference name="faceRecognitionService" target="FaceRecognitionService"/> |
| <reference name="accessmanager" target="AccessManager"/> |
| |
| </component> |
| |
| |
| <component name="GenericFriendFinder"> |
| <implementation.java class="org.apache.photark.face.services.applications.generic.GenericFriendFinderImpl"/> |
| |
| <service name="GenericFriendFinder"> |
| <interface.java interface="org.apache.photark.face.services.applications.generic.GenericFriendFinder"/> |
| <binding.sca name="local"/> |
| <tuscany:binding.jsonrpc uri="/GenericFriendFinder"/> |
| </service> |
| <reference name="faceRecognitionService" target="FaceRecognitionService"/> |
| <reference name="accessmanager" target="AccessManager"/> |
| |
| </component> |
| |
| </composite> |