* Copyright (c) OSGi Alliance (2004, 2013). All Rights Reserved.
* Licensed 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
* 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.
This method can fail even if all operations were successful. This can
happen due to some multi-node semantic constraints defined by a specific
implementation. For example, node A can be required to always have
children A/B, A/C and A/D. If this condition is broken when
commit() is executed, the method will fail, and throw a
In many cases the tree is not the only way to manage a given part of the
system. It may happen that while modifying some nodes in an atomic
session, the underlying settings are modified parallelly outside the
scope of the DMT. If this is detected during commit, an exception with
CONCURRENT_ACCESS is thrown.
org.osgi.service.dmt.DmtExceptionwith the following possible error codes
METADATA_MISMATCHif the operation failed because of meta-data restrictions
CONCURRENT_ACCESSif it is detected that some modification has been made outside the scope of the DMT to the nodes affected in the session's operations
DATA_STORE_FAILUREif an error occurred while accessing the data store
COMMAND_FAILEDif some unspecified error is encountered while attempting to complete the command
java.lang.SecurityExceptionif the caller does not have the necessary permissions to execute the underlying management operation