[commandbox 5.3.1] concurrent modification exception in acf
i’ve been experimenting with customizing error pages in my server.json file in commandbox/undertow. in the [documentation here](https://commandbox.ortusbooks.com/embedded-server/configuring-your-server/custom-error-pages), it includes some code you can execute to view a list of error variables:

req = getpagecontext().getrequest();

names = req.getattributenames();

while( names.hasmoreelements…
interesting. fwiw, a concurrentmodificationexception is not a “null” exception. a concurrent hashmap is basically a non thread safe struct in java which doesn’t use synchronized methods so it’s faster but if two threads try to modify it at the same time, it will throw an error. i’m not clear why …
Did you had ACS common installed in your AEM.

<https://adobe-consulting-services.github.io/acs-aem-commons/features/versioned-clientlibs/index.html>




[View solution in original post](/t5/adobe-experience-manager/aem-implementation-of-versioning-for-clientlibs-and-css/m-p/399346#M7116) looking around i think i found the answer myself.

there is are batch and script files in jabref/runtime/bin.

from those, the needed command line call can be derived. using the shipped jvm from inside the mentioned folder the call i looked for would be:

java --add-opens=javafx.controls/javafx.scen… The first few errors in the log point to conflicting processes. Can you try ruling these out. For a list of possible conflicting processes, see <https://helpx.adobe.com/enterprise/package/help/resolving-process-conflicts.html> Your test is redundant, since you are already querying only for matching records. In this case, you will get no rows if there is no match, therefore you will never hit the else clause in the loop.  

  

Instead, it is enough to check if there are any matching records at all. The example below shows how (note that you can put a condition straight into Any() instead of specifying Where()).  

  

C#Copy Code

```
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
 
namespace CustomerMaster
{
    public partial class CustomerMaster : System.Web.UI.Page
    {
 
        private void AddData()
        {
            
            OperationsDataContext AddDb = new OperationsDataContext();
            CustomerMast cm = new CustomerMast();
            
                        
            cm.CustomerCode = txtCustCde.Text;
            cm.CustomerName = txtCustName.Text;
            cm.CustomerAddress = txtCustAdd.Text;
            cm.BrkrCode = txtBrkCode.Text;
            cm.BrokerName = txtBrkName.Text.
            cm.CrrCode = txtCrrCode.CarrierCode;
            cm.CarrierName =  txtCrrName.Text;
            cm.StnCode=sm.StationCode;
            cm.StationName = txtStnName.Text;
            cm.VatNo=txtVatNo.Text;
            cm.TinNo=txtTinNo.Text;
            cm.TMCO=txtTMCONo.Text;
            cm.PanNo = txtPAN.Text;
			
	    if(AddDb.CustomerMasts.Any(c=>c.CustomerCode == txtCustCde.Text))
            {
	        Response.Write("Error! CustomerCode Exits");
	    }
	    else
	    {
                AddDb.BrokerMasts.InsertOnSubmit(bm);
                AddDb.CarrierMasts.InsertOnSubmit(crm);
                AddDb.StationMasts.InsertOnSubmit(sm);
                AddDb.CustomerMasts.InsertOnSubmit(cm);

	        AddDb.SubmitChanges();
            }         
        }
 
        protected void btnAdd\_Click(object sender, EventArgs e)
        {
            AddData();
        }
    }
}
``` Hello Dmytro,


You will need to bind to the Custom Command, create arguments for the command execution, specify parameter values that will be used to execute the command in the Scheduled Task and then pass the arguments to the Arguments property of the action. Here is the code that will do the trick:



```
# Define actions and conditions for the task

$commandID = "{a7264a61-b77d-4386-a138-ec2557c5b3ba}" # Command ID
$commandDN = "CN=MyCommand,CN=Custom Commands,CN=Configuration Objects,CN=Adaxes Configuration,CN=Adaxes" # Command DN

# Create action set
$actionsAndConditions = $task.ConditionedActions.Create()
$actionsAndConditions.ConditionsLogicalOperation = "ADM_LOGICALOPERATION_AND"
$actionsAndConditions.SetInfo()

# Create execute Custom Command action
$action = $actionsAndConditions.Actions.CreateEx("adm-CustomCommandAction")
$action.ExecutionOptions = "ADM_ACTIONEXECUTIONOPTIONS_SYNC"

# Get action
$removeAction = $action.GetAction()

# Bind to Custom Command
$customCommand = $Context.BindToObjectByDN($commandDN)

# Specify command arguments
$arguments = $customCommand.CreateArguments()
$arguments.SetParameterValue("MyParameter", "MyValue") # Parameter value

# Configure the action
$removeAction.CustomCommandId = $commandID
$removeAction.Arguments = $arguments

# Save action
$action.SetAction($removeAction)
$action.SetInfo()
```

In the script, the $commandDN variable specifies the distinguished name (DN) of the Custom Command. For information on how to get the DN of a directory object, see <http://adaxes.com/sdk/?HowDoI.GetDnOfObject.html>.


For details, have a look at the following SDK article: <http://adaxes.com/sdk/?IAdmCustomCommandAction2.html>. 1) form controls use a list box for the names of the conference rooms;use datetimepicker for scheduling the reservation...set the format property to custom;set the customformat property to mm dd yyyy hh mm ssof course, will also need ok button2) dataset up the data file like this:room date time1st floor, 6/8/21, 14:00:002nd floor, 6/9/21, 10:00:003rd floor, 6/8/21, 13:30:00reads these records from the file to determine if there is a conflict.if the room is available at the requested time, writes the reservation tothe file (in append mode) and displays a message box saying the reservationis complete. otherwise display a message box saying the room is unavailableat that time. [this example](https://github.com/bpmn-io/bpmn-js-disable-collapsed-subprocess/blob/master/src/disabledcollapsedsubprocesspopupprovider.js#l33) is related to the replace menu, but it can easily mapped to the context pad provider.

so your getcontextpadentries can return a function like this

getcontextpadentries(element) {

/* ... */

return function(entries) {

// entries includes all already registered context pad entr… The problem is the response from the server, not your JavaScript. I ran the following code in the console on your page:



```
$.getJSON('data.json', function(data) { 
    console.log(data); 
});

        

        
        
        
 (adsbygoogle = window.adsbygoogle || []).push({});
 
        

    
```

The result looks like this:



  




 (adsbygoogle = window.adsbygoogle || []).push({});
 
  

 ![enter image description here](https://fooobar.com//img/b0b4666ec951695a00da8c82eb85e737.jpg)


As you can see, there is only one property in the returned object ( `mesta`
  




 (adsbygoogle = window.adsbygoogle || []).push({});
 
  

, an array with three elements).


You can confirm this by [visiting the file directly`data.json`
  




 (adsbygoogle = window.adsbygoogle || []).push({});](https://translate.googleusercontent.com/translate_c?depth=1&pto=aue&rurl=translate.google.com&sl=ru&sp=nmt4&tl=en&u=) . we’re glad to announce that this feature is now available in production on [bitrise.io](http://bitrise.io) :tada:

related [#changelog](/c/6-changelog) / [#announcements](http://discuss.bitrise.io/tags/announcements) :

[image]

[secret env vars and (generic) file storage files: control whether it’s available in pull request builds](http://discuss.bitrise.io/t/secret-env-vars-and-generic-file-storage-files-control-whether-it-s-available-in-pull-request-builds/2790) [changelog](/c/changelog)

related [#feature-r…](/c/9-feature-request) this is because the /login page, once a login occurs, the ‘state’ parameter is missing and so when the page tries to call the /authorize url it will error. the state parameter is used to mitigate csrf attack and so during authentication, the application sends this parameter in the authorization …