Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance. Project price only 1 $
You can buy this project and download/modify it how often you want.
/*
*
* * Copyright 2014 Orient Technologies LTD (info(at)orientechnologies.com)
* *
* * 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
* *
* * 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.
* *
* * For more information: http://www.orientechnologies.com
*
*/
package com.orientechnologies.orient.core.processor.block;
import java.util.Map;
import java.util.Map.Entry;
import com.orientechnologies.common.collection.OMultiValue;
import com.orientechnologies.orient.core.command.OCommandContext;
import com.orientechnologies.orient.core.processor.OComposableProcessor;
import com.orientechnologies.orient.core.record.impl.ODocument;
public class OLetBlock extends OAbstractBlock {
public static final String NAME = "let";
@SuppressWarnings("unchecked")
@Override
public Object processBlock(OComposableProcessor iManager, final OCommandContext iContext, final ODocument iConfig,
ODocument iOutput, final boolean iReadOnly) {
final Boolean copy = getFieldOfClass(iContext, iConfig, "copy", Boolean.class);
final Boolean flatMultivalues = getFieldOfClass(iContext, iConfig, "flatMultivalues", Boolean.class);
Object target = getField(iContext, iConfig, "target");
if (target != null && target.equals("null"))
target = new ODocument();
final Object value = getRawField(iConfig, "value");
if (value != null) {
if (value instanceof ODocument) {
final ODocument doc = ((ODocument) value);
for (String fieldName : doc.fieldNames()) {
final Object v = resolveValue(iContext, doc.field(fieldName), true);
if (target != null) {
debug(iContext, "Set value %s in document field '%s'", v, fieldName);
((ODocument) target).field(fieldName, v);
} else
assignVariable(iContext, fieldName, v);
}
} else if (value instanceof Map) {
for (Entry