| <?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/200903" |
| xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.1" |
| targetNamespace="http://org.apache.photoark" |
| name="photo-gallery-jcr"> |
| |
| <!-- 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"/> |
| </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 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> |
| </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> |
| </component> |
| |
| <!-- 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"/> |
| </service> |
| <reference name="repositoryManager" target="RepositoryManager"/> |
| </component> |
| </composite> |