Package com.esri.gpt.catalog.arcims

Source Code of com.esri.gpt.catalog.arcims.ImsPermissionDao

/* See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* Esri Inc. 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.
*/
package com.esri.gpt.catalog.arcims;
import com.esri.gpt.framework.context.RequestContext;
import com.esri.gpt.framework.security.identity.IdentityException;
import com.esri.gpt.framework.security.identity.local.LocalDao;
import com.esri.gpt.framework.security.principal.Publisher;
import com.esri.gpt.framework.sql.BaseDao;
import com.esri.gpt.framework.util.UuidUtil;

import java.sql.SQLException;

/**
* Database access object associated with ArcIMS service permissions.
*/
public class ImsPermissionDao extends BaseDao {
 
// class variables =============================================================
 
/** Administrator role - "metadata_administrator" */
public static final String ROLE_ADMINISTRATOR = "metadata_administrator";

/** Browser role - "metadata_browser" */
public static final String ROLE_BROWSER = "metadata_browser";

/** Browse all role - "metadata_browser_all" */
public static final String ROLE_BROWSER_ALL = "metadata_browser_all";

/** Publisher role - "metadata_publisher" */
public static final String ROLE_PUBLISHER = "metadata_publisher";
 
// instance variables ==========================================================

// constructors ================================================================

/** Default constructor. */
protected ImsPermissionDao() {
  super();
}

/**
* Constructs with an associated request context.
* @param requestContext the request context
*/
public ImsPermissionDao(RequestContext requestContext) {
  super(requestContext);
}

// properties ==================================================================
// methods =====================================================================

/**
* Prepares a publisher prior to submitting a request to an
* ArcIMS metadata service request.
* <br/>Authentication/authorization does not occur in this step.
* <br/>It is assumed that any authentication/authorization has occurred prior
* the execution of this method.
* @param publisher the subject publisher
* @param ensureDefaultFolder if true also ensure that a folder exists
*        for the publisher
* @throws IdentityException if an integrity violation occurs
* @throws SQLException if a database exception occurs
*/
public void preparePublisher(Publisher publisher,
                             boolean ensureDefaultFolder)
  throws IdentityException, SQLException {
 
  // ensure the the publisher is referenced within the local user table
  LocalDao localDao = new LocalDao(getRequestContext());
  if (publisher.getIsRemote()) {
    localDao.ensureReferenceToRemoteUser(publisher);
  }
 
  // ensure that the publisher has a folder
  if (ensureDefaultFolder) {
    publisher.setFolderUuid(UuidUtil.makeUuid(true));
  }
}

}
TOP

Related Classes of com.esri.gpt.catalog.arcims.ImsPermissionDao

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.