|
|
@@ -0,0 +1,610 @@
|
|
|
+package com.crystaldecisions.sdk.occa.report.document;
|
|
|
+
|
|
|
+/**
|
|
|
+ * @author sunyj
|
|
|
+ * @since 2017/12/27 15:26
|
|
|
+ */
|
|
|
+
|
|
|
+import com.crystaldecisions.client.helper.CloneUtil;
|
|
|
+import com.crystaldecisions.client.helper.XMLSerializationHelper;
|
|
|
+import com.crystaldecisions.sdk.occa.report.data.*;
|
|
|
+import com.crystaldecisions.sdk.occa.report.lib.*;
|
|
|
+import com.crystaldecisions.xml.serialization.*;
|
|
|
+import org.xml.sax.Attributes;
|
|
|
+
|
|
|
+import java.io.IOException;
|
|
|
+import java.util.Date;
|
|
|
+import java.util.Locale;
|
|
|
+import java.util.Map;
|
|
|
+import java.util.Properties;
|
|
|
+
|
|
|
+public class DataDocument implements IXMLSerializable, IDataDocument, IClone, IControllable {
|
|
|
+ protected ControllableMixin byteV = new ControllableMixin(this);
|
|
|
+ private IDatabase database = null;
|
|
|
+ private String remoteID = null;
|
|
|
+ private String name = null;
|
|
|
+ private PropertyBag uid = null;
|
|
|
+ private int options = 0;
|
|
|
+ private IDataDefinition dataDefinition = null;
|
|
|
+ private Date timestamp = null;
|
|
|
+
|
|
|
+ public DataDocument(IDataDocument var1) {
|
|
|
+ var1.copyTo(this, true);
|
|
|
+ }
|
|
|
+
|
|
|
+ public DataDocument() {
|
|
|
+ }
|
|
|
+
|
|
|
+ public Object clone(boolean var1) {
|
|
|
+ DataDocument var2 = new DataDocument();
|
|
|
+ this.copyTo(var2, var1);
|
|
|
+ return var2;
|
|
|
+ }
|
|
|
+
|
|
|
+ private void a(FilterItems var1, FilterItems var2, DataDocument.a var3) {
|
|
|
+ int var4 = var1.size();
|
|
|
+ var2.ensureCapacity(var4);
|
|
|
+
|
|
|
+ for(int var5 = 0; var5 < var4; ++var5) {
|
|
|
+ IFilterItem var6 = var1.getFilterItem(var5);
|
|
|
+ IFilterItem var7 = (IFilterItem)var6.clone(true);
|
|
|
+ if (var7 instanceof IFieldRangeFilterItem) {
|
|
|
+ IFieldRangeFilterItem var8 = (IFieldRangeFilterItem)var6;
|
|
|
+ IFieldRangeFilterItem var9 = (IFieldRangeFilterItem)var7;
|
|
|
+ IField var10 = var8.getRangeField();
|
|
|
+ IField var11 = var3.a(var10);
|
|
|
+ var9.setRangeField(var11);
|
|
|
+ }
|
|
|
+
|
|
|
+ var2.add(var7);
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ private void a(Filters var1, Filters var2, DataDocument.a var3) {
|
|
|
+ int var4 = var1.size();
|
|
|
+ var2.ensureCapacity(var4);
|
|
|
+
|
|
|
+ for(int var5 = 0; var5 < var4; ++var5) {
|
|
|
+ IFilter var6 = var1.getFilter(var5);
|
|
|
+ IFilter var7 = (IFilter)var6.clone(true);
|
|
|
+ FilterItems var8 = ((Filter)var6).getFilterItems();
|
|
|
+ FilterItems var9 = ((Filter)var7).getFilterItems();
|
|
|
+ var9.removeAllElements();
|
|
|
+ this.a(var8, var9, var3);
|
|
|
+ var2.add(var7);
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ private void a(Groups var1, Groups var2, DataDocument.a var3) {
|
|
|
+ int var4 = var1.size();
|
|
|
+ var2.ensureCapacity(var4);
|
|
|
+
|
|
|
+ for(int var5 = 0; var5 < var4; ++var5) {
|
|
|
+ IGroup var6 = var1.getGroup(var5);
|
|
|
+ IGroup var7 = (IGroup)var6.clone(true);
|
|
|
+ IField var8 = var6.getConditionField();
|
|
|
+ IField var9 = var3.a(var8);
|
|
|
+ var7.setConditionField(var9);
|
|
|
+ IGroupOptions var10 = var6.getOptions();
|
|
|
+ IGroupOptions var11 = var7.getOptions();
|
|
|
+ if (var11 instanceof SpecifiedGroupOptions) {
|
|
|
+ SpecifiedGroupOptions var12 = (SpecifiedGroupOptions)var10;
|
|
|
+ SpecifiedGroupOptions var13 = (SpecifiedGroupOptions)var11;
|
|
|
+ Filters var14 = var12.getSpecifiedValueFilters();
|
|
|
+ Filters var15 = var13.getSpecifiedValueFilters();
|
|
|
+ var15.removeAllElements();
|
|
|
+ this.a(var14, var15, var3);
|
|
|
+ }
|
|
|
+
|
|
|
+ if (var10.getHierarchicalOptions() != null) {
|
|
|
+ IField var16 = var3.a(var10.getHierarchicalOptions().getParentIDField());
|
|
|
+ var11.getHierarchicalOptions().setParentIDField(var16);
|
|
|
+ }
|
|
|
+
|
|
|
+ var2.add(var7);
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ private IField a(IField var1, DataDocument.a var2) {
|
|
|
+ FieldKind var3 = var1.getKind();
|
|
|
+ if (var3 == FieldKind.summaryField) {
|
|
|
+ IField var4 = (IField)var1.clone(true);
|
|
|
+ ISummaryField var5 = (ISummaryField)var1;
|
|
|
+ ISummaryField var6 = (ISummaryField)var4;
|
|
|
+ IField var7 = var5.getSummarizedField();
|
|
|
+ IGroup var8 = var5.getGroup();
|
|
|
+ IField var9 = var2.a(var7);
|
|
|
+ if (var9 != null) {
|
|
|
+ var6.setSummarizedField(var9);
|
|
|
+ }
|
|
|
+
|
|
|
+ if (var8 != null) {
|
|
|
+ IGroup var10 = var2.a(var8);
|
|
|
+ if (var10 != null) {
|
|
|
+ var6.setGroup(var10);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ IField var13 = var5.getSecondarySummarizedField();
|
|
|
+ if (var13 != null) {
|
|
|
+ IField var11 = var2.a(var7);
|
|
|
+ if (var11 != null) {
|
|
|
+ var6.setSecondarySummarizedField(var11);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ IGroup var14 = var5.getSecondGroupForPercentage();
|
|
|
+ if (var14 != null) {
|
|
|
+ IGroup var12 = var2.a(var14);
|
|
|
+ if (var12 != null) {
|
|
|
+ var6.setSecondGroupForPercentage(var12);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return var6;
|
|
|
+ } else {
|
|
|
+ return var2.a(var1);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private void a(Fields var1, Fields var2, DataDocument.a var3) {
|
|
|
+ int var4 = var1.size();
|
|
|
+ var2.ensureCapacity(var4);
|
|
|
+
|
|
|
+ for(int var5 = 0; var5 < var4; ++var5) {
|
|
|
+ IParameterField var6 = (IParameterField)var1.getField(var5);
|
|
|
+ IParameterField var7 = (IParameterField)var6.clone(true);
|
|
|
+ IField var8 = var6.getBrowseField();
|
|
|
+ IField var9 = var3.a(var8);
|
|
|
+ var7.setBrowseField(var9);
|
|
|
+
|
|
|
+ assert !ControllableHelper.hasEnabledController(var2);
|
|
|
+
|
|
|
+ var2.add(var7);
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ private void ifM(Fields var1, Fields var2, DataDocument.a var3) {
|
|
|
+ int var4 = var1.size();
|
|
|
+ var2.ensureCapacity(var4);
|
|
|
+
|
|
|
+ for(int var5 = 0; var5 < var4; ++var5) {
|
|
|
+ RunningTotalField var6 = (RunningTotalField)var1.getField(var5);
|
|
|
+ RunningTotalField var7 = (RunningTotalField)var6.clone(true);
|
|
|
+ IField var8 = var6.getSummarizedField();
|
|
|
+ IField var9 = var6.getSecondarySummarizedField();
|
|
|
+ IField var10 = var3.a(var8);
|
|
|
+ if (var10 != null) {
|
|
|
+ var7.setSummarizedField(var10);
|
|
|
+ }
|
|
|
+
|
|
|
+ IField var11;
|
|
|
+ if (var9 != null) {
|
|
|
+ var11 = var3.a(var9);
|
|
|
+ if (var11 != null) {
|
|
|
+ var7.setSecondarySummarizedField(var11);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ IField var12;
|
|
|
+ if (var6.getEvaluateCondition() != null && var6.getEvaluateCondition() instanceof IField) {
|
|
|
+ var11 = (IField)var6.getEvaluateCondition();
|
|
|
+ var12 = var3.a(var11);
|
|
|
+ if (var12 != null) {
|
|
|
+ var7.setEvaluateCondition(var12);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ IGroup var13;
|
|
|
+ IGroup var14;
|
|
|
+ if (var6.getEvaluateCondition() != null && var6.getEvaluateCondition() instanceof IGroup) {
|
|
|
+ var13 = (IGroup)var6.getEvaluateCondition();
|
|
|
+ var14 = var3.a(var13);
|
|
|
+ if (var14 != null) {
|
|
|
+ var7.setEvaluateCondition(var14);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if (var6.getResetCondition() != null && var6.getResetCondition() instanceof IField) {
|
|
|
+ var11 = (IField)var6.getResetCondition();
|
|
|
+ var12 = var3.a(var11);
|
|
|
+ if (var12 != null) {
|
|
|
+ var7.setResetCondition(var12);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if (var6.getResetCondition() != null && var6.getResetCondition() instanceof IGroup) {
|
|
|
+ var13 = (IGroup)var6.getResetCondition();
|
|
|
+ var14 = var3.a(var13);
|
|
|
+ if (var14 != null) {
|
|
|
+ var7.setResetCondition(var14);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ assert !ControllableHelper.hasEnabledController(var2);
|
|
|
+
|
|
|
+ var2.add(var7);
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ private void a(Alerts var1, Alerts var2, DataDocument.a var3) {
|
|
|
+ int var4 = var1.size();
|
|
|
+ var2.ensureCapacity(var4);
|
|
|
+
|
|
|
+ for(int var5 = 0; var5 < var4; ++var5) {
|
|
|
+ Alert var6 = (Alert)var1.getAlert(var5);
|
|
|
+ Alert var7 = (Alert)var6.clone(true);
|
|
|
+
|
|
|
+ assert !ControllableHelper.hasEnabledController(var7);
|
|
|
+
|
|
|
+ var2.add(var7);
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ private void doM(Fields var1, Fields var2, DataDocument.a var3) {
|
|
|
+ int var4 = var1.size();
|
|
|
+ var2.ensureCapacity(var4);
|
|
|
+
|
|
|
+ for(int var5 = 0; var5 < var4; ++var5) {
|
|
|
+ IField var6 = var1.getField(var5);
|
|
|
+ IField var7 = this.a(var6, var3);
|
|
|
+
|
|
|
+ assert !ControllableHelper.hasEnabledController(var2);
|
|
|
+
|
|
|
+ var2.add(var7);
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ private void a(Sorts var1, Sorts var2, DataDocument.a var3) {
|
|
|
+ int var4 = var1.size();
|
|
|
+ var2.ensureCapacity(var4);
|
|
|
+
|
|
|
+ for(int var5 = 0; var5 < var4; ++var5) {
|
|
|
+ ISort var6 = var1.getSort(var5);
|
|
|
+ ISort var7 = (ISort)var6.clone(true);
|
|
|
+ IField var8 = var6.getSortField();
|
|
|
+ IField var9 = var3.a(var8);
|
|
|
+ var7.setSortField(var9);
|
|
|
+ var2.add(var7);
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ public void copyTo(Object var1, boolean var2) {
|
|
|
+ if (var1 == null) {
|
|
|
+ throw new NullPointerException();
|
|
|
+ } else if (!(var1 instanceof IDataDocument)) {
|
|
|
+ throw new ClassCastException();
|
|
|
+ } else {
|
|
|
+ IDataDocument var3 = (IDataDocument)var1;
|
|
|
+ var3.setName(this.name);
|
|
|
+ var3.setRemoteID(this.remoteID);
|
|
|
+ var3.setOptions(this.options);
|
|
|
+ if (this.uid != null && var2) {
|
|
|
+ var3.setUID((PropertyBag)this.uid.clone(var2));
|
|
|
+ } else {
|
|
|
+ var3.setUID(this.uid);
|
|
|
+ }
|
|
|
+
|
|
|
+ if (this.database != null && var2) {
|
|
|
+ var3.setDatabase((IDatabase)this.database.clone(var2));
|
|
|
+ } else {
|
|
|
+ var3.setDatabase(this.database);
|
|
|
+ }
|
|
|
+
|
|
|
+ if (this.dataDefinition != null && var2) {
|
|
|
+ IDatabase var4 = var3.getDatabase();
|
|
|
+ var3.setDataDefinition(this.a(this.dataDefinition, var4));
|
|
|
+ } else {
|
|
|
+ var3.setDataDefinition(this.dataDefinition);
|
|
|
+ }
|
|
|
+
|
|
|
+ if (this.timestamp != null && var2) {
|
|
|
+ var3.setTimestamp((Date)this.timestamp.clone());
|
|
|
+ } else {
|
|
|
+ var3.setTimestamp(this.timestamp);
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ public Object createMember(String var1, Attributes var2, XMLSerializationContext var3, Map var4, boolean[] var5) {
|
|
|
+ Object var6 = ClassFactory.createObject(var2, var3, var5);
|
|
|
+ if (var1.equals("UID")) {
|
|
|
+ this.uid = (PropertyBag)var6;
|
|
|
+ } else if (var1.equals("Database")) {
|
|
|
+ this.database = (IDatabase)var6;
|
|
|
+ } else if (var1.equals("DataDefinition")) {
|
|
|
+ this.dataDefinition = (IDataDefinition)var6;
|
|
|
+ }
|
|
|
+
|
|
|
+ return var6;
|
|
|
+ }
|
|
|
+
|
|
|
+ private IDataDefinition a(IDataDefinition var1, IDatabase var2) {
|
|
|
+ Tables tables = var2.getTables();
|
|
|
+ Fields resultFields = var1.getResultFields();
|
|
|
+ Groups groups = var1.getGroups();
|
|
|
+ Sorts recordSorts = var1.getRecordSorts();
|
|
|
+ Fields formulaFields = var1.getFormulaFields();
|
|
|
+ Fields parameterFields = var1.getParameterFields();
|
|
|
+ Fields runningTotalFields = var1.getRunningTotalFields();
|
|
|
+ CustomFunctions customFunctions = var1.getCustomFunctions();
|
|
|
+ IFilter recordFilter = var1.getRecordFilter();
|
|
|
+ IFilter groupFilter = var1.getGroupFilter();
|
|
|
+ IFilter savedDataFilter = var1.getSavedDataFilter();
|
|
|
+ Alerts alerts = var1.getAlerts();
|
|
|
+ DataDefinition dataDefinition = new DataDefinition();
|
|
|
+ Fields var16 = dataDefinition.getResultFields();
|
|
|
+ Groups var17 = dataDefinition.getGroups();
|
|
|
+ Sorts var18 = dataDefinition.getRecordSorts();
|
|
|
+ Fields var19 = dataDefinition.getFormulaFields();
|
|
|
+ Fields var20 = dataDefinition.getParameterFields();
|
|
|
+ Fields var21 = dataDefinition.getRunningTotalFields();
|
|
|
+ CustomFunctions var22 = dataDefinition.getCustomFunctions();
|
|
|
+ IFilter var23 = dataDefinition.getRecordFilter();
|
|
|
+ IFilter var24 = dataDefinition.getGroupFilter();
|
|
|
+ IFilter var25 = dataDefinition.getSavedDataFilter();
|
|
|
+ Alerts var26 = dataDefinition.getAlerts();
|
|
|
+ DataDocument.a var27 = new DataDocument.a(tables, var16, var19, var20, var21, var17);
|
|
|
+ formulaFields.copyTo(var19, true);
|
|
|
+ customFunctions.copyTo(var22, true);
|
|
|
+ this.a(parameterFields, var20, var27);
|
|
|
+ this.a(groups, var17, var27);
|
|
|
+ this.ifM(runningTotalFields, var21, var27);
|
|
|
+ this.doM(resultFields, var16, var27);
|
|
|
+ this.a(recordSorts, var18, var27);
|
|
|
+ this.a(alerts, var26, var27);
|
|
|
+ FilterItems var28 = ((Filter)recordFilter).getFilterItems();
|
|
|
+ FilterItems var29 = ((Filter)var23).getFilterItems();
|
|
|
+ this.a(var28, var29, var27);
|
|
|
+ var23.setFreeEditingText(recordFilter.getFreeEditingText());
|
|
|
+ var23.setName(recordFilter.getName());
|
|
|
+ FilterItems var30 = ((Filter)groupFilter).getFilterItems();
|
|
|
+ FilterItems var31 = ((Filter)var24).getFilterItems();
|
|
|
+ this.a(var30, var31, var27);
|
|
|
+ var24.setFreeEditingText(groupFilter.getFreeEditingText());
|
|
|
+ var24.setName(groupFilter.getName());
|
|
|
+ FilterItems var32 = ((Filter)savedDataFilter).getFilterItems();
|
|
|
+ FilterItems var33 = ((Filter)var25).getFilterItems();
|
|
|
+ this.a(var32, var33, var27);
|
|
|
+ var25.setFreeEditingText(savedDataFilter.getFreeEditingText());
|
|
|
+ var25.setName(savedDataFilter.getName());
|
|
|
+ return dataDefinition;
|
|
|
+ }
|
|
|
+
|
|
|
+ public void endElement(String var1, Map var2) {
|
|
|
+ }
|
|
|
+
|
|
|
+ public IDatabase getDatabase() {
|
|
|
+ if (this.database == null) {
|
|
|
+ this.database = new Database();
|
|
|
+ }
|
|
|
+
|
|
|
+ return this.database;
|
|
|
+ }
|
|
|
+
|
|
|
+ public IDataDefinition getDataDefinition() {
|
|
|
+ if (this.dataDefinition == null) {
|
|
|
+ this.dataDefinition = new DataDefinition();
|
|
|
+ }
|
|
|
+
|
|
|
+ return this.dataDefinition;
|
|
|
+ }
|
|
|
+
|
|
|
+ public String getName() {
|
|
|
+ return this.name;
|
|
|
+ }
|
|
|
+
|
|
|
+ public int getOptions() {
|
|
|
+ return this.options;
|
|
|
+ }
|
|
|
+
|
|
|
+ public String getRemoteID() {
|
|
|
+ return this.remoteID;
|
|
|
+ }
|
|
|
+
|
|
|
+ public Date getTimestamp() {
|
|
|
+ return this.timestamp;
|
|
|
+ }
|
|
|
+
|
|
|
+ public PropertyBag getUID() {
|
|
|
+ if (this.uid == null) {
|
|
|
+ this.uid = new PropertyBag();
|
|
|
+ }
|
|
|
+
|
|
|
+ return this.uid;
|
|
|
+ }
|
|
|
+
|
|
|
+ public boolean hasContent(Object var1) {
|
|
|
+ if (!(var1 instanceof IDataDocument)) {
|
|
|
+ return false;
|
|
|
+ } else {
|
|
|
+ IDataDocument var2 = (IDataDocument)var1;
|
|
|
+ if (this.options != var2.getOptions()) {
|
|
|
+ return false;
|
|
|
+ } else if (!CloneUtil.equalStrings(this.name, var2.getName())) {
|
|
|
+ return false;
|
|
|
+ } else if (!CloneUtil.equalStrings(this.remoteID, var2.getRemoteID())) {
|
|
|
+ return false;
|
|
|
+ } else if (!CloneUtil.hasContent(this.getUID(), var2.getUID())) {
|
|
|
+ return false;
|
|
|
+ } else if (!CloneUtil.hasContent(this.getDataDefinition(), var2.getDataDefinition())) {
|
|
|
+ return false;
|
|
|
+ } else if (!CloneUtil.equalObjects(this.getTimestamp(), var2.getTimestamp())) {
|
|
|
+ return false;
|
|
|
+ } else {
|
|
|
+ return CloneUtil.hasContent(this.getDatabase(), var2.getDatabase());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ public void readElement(String var1, String var2, Attributes var3, Map var4) {
|
|
|
+ if (var1.equals("Name")) {
|
|
|
+ this.name = var2;
|
|
|
+ } else if (var1.equals("RemoteID")) {
|
|
|
+ this.remoteID = var2;
|
|
|
+ } else if (var1.equals("Options")) {
|
|
|
+ this.options = XMLConverter.getInt(var2);
|
|
|
+ } else if (var1.equals("Timestamp")) {
|
|
|
+ this.timestamp = XMLConverter.getDate(var2);
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ public void save(XMLWriter var1, XMLSerializationContext var2) throws IOException {
|
|
|
+ String var3 = XMLConverter.getXMLFromClassName(this.getClass().getName());
|
|
|
+ Properties var4 = XMLSerializationHelper.getHeaderAttributes(var3);
|
|
|
+ var1.writeStartElement("CrystalReports.DataDocument", var4);
|
|
|
+ this.saveContents(var1, var2);
|
|
|
+ var1.writeEndElement("CrystalReports.DataDocument");
|
|
|
+ }
|
|
|
+
|
|
|
+ public void save(XMLWriter var1, String var2, XMLSerializationContext var3) throws IOException {
|
|
|
+ var1.writeStartObjectElement(var2, "2", this, var3);
|
|
|
+ this.saveContents(var1, var3);
|
|
|
+ var1.writeEndElement(var2);
|
|
|
+ }
|
|
|
+
|
|
|
+ public void saveContents(XMLWriter var1, XMLSerializationContext var2) throws IOException {
|
|
|
+ var1.writeTextElement("Name", this.name, (Properties)null);
|
|
|
+ var1.writeTextElement("RemoteID", this.remoteID, (Properties)null);
|
|
|
+ var1.writeObjectElement(this.uid, "UID", var2);
|
|
|
+ var1.writeObjectElement((IXMLSerializable)this.database, "Database", var2);
|
|
|
+ var1.writeObjectElement((IXMLSerializable)this.dataDefinition, "DataDefinition", var2);
|
|
|
+ var1.writeIntElement("Options", this.options, (Properties)null);
|
|
|
+ var1.writeStartElement("Timestamp", (Properties)null);
|
|
|
+ var1.writeDate(this.timestamp);
|
|
|
+ var1.writeEndElement("Timestamp");
|
|
|
+ }
|
|
|
+
|
|
|
+ public void setDatabase(IDatabase database) {
|
|
|
+ this.database = database;
|
|
|
+ }
|
|
|
+
|
|
|
+ public void setDataDefinition(IDataDefinition dataDefinition) {
|
|
|
+ this.dataDefinition = dataDefinition;
|
|
|
+ }
|
|
|
+
|
|
|
+ public void setName(String name) {
|
|
|
+ this.name = name;
|
|
|
+ }
|
|
|
+
|
|
|
+ public void setOptions(int options) {
|
|
|
+ this.options = options;
|
|
|
+ }
|
|
|
+
|
|
|
+ public void setRemoteID(String remoteID) {
|
|
|
+ this.remoteID = remoteID;
|
|
|
+ }
|
|
|
+
|
|
|
+ public void setTimestamp(Date timestamp) {
|
|
|
+ this.timestamp = timestamp;
|
|
|
+ }
|
|
|
+
|
|
|
+ public void setUID(PropertyBag uid) {
|
|
|
+ this.uid = uid;
|
|
|
+ }
|
|
|
+
|
|
|
+ public void startElement(String var1, Map var2, Attributes var3) {
|
|
|
+ }
|
|
|
+
|
|
|
+ public ControllableMixin getControllableMixin() {
|
|
|
+ return this.byteV;
|
|
|
+ }
|
|
|
+
|
|
|
+ public void doControllerModification(Object var1) {
|
|
|
+ assert this.isDirectlyControllable();
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ public boolean isDirectlyControllable() {
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+
|
|
|
+ public void enumerateMembers(IMemberVisitor var1) {
|
|
|
+ this.database = (IDatabase)var1.visit(this.database, true);
|
|
|
+ this.dataDefinition = (IDataDefinition)var1.visit(this.dataDefinition, true);
|
|
|
+ }
|
|
|
+
|
|
|
+ private class a {
|
|
|
+ private Tables tryV = null;
|
|
|
+ private Fields newV = null;
|
|
|
+ private Fields ifV = null;
|
|
|
+ private Fields intV = null;
|
|
|
+ private Fields doV = null;
|
|
|
+ private Groups forV = null;
|
|
|
+
|
|
|
+ a(Tables var2, Fields var3, Fields var4, Fields var5, Fields var6, Groups var7) {
|
|
|
+ this.tryV = var2;
|
|
|
+ this.newV = var3;
|
|
|
+ this.ifV = var4;
|
|
|
+ this.intV = var5;
|
|
|
+ this.doV = var6;
|
|
|
+ this.forV = var7;
|
|
|
+ }
|
|
|
+
|
|
|
+ IField a(IField var1) {
|
|
|
+ if (var1 == null) {
|
|
|
+ return null;
|
|
|
+ } else {
|
|
|
+ FieldKind var2 = var1.getKind();
|
|
|
+ IField var3 = null;
|
|
|
+ String var4;
|
|
|
+ switch(var2.value()) {
|
|
|
+ case 1:
|
|
|
+ IDBField var10 = (IDBField)var1;
|
|
|
+ String var5 = var10.getTableAlias();
|
|
|
+ int var6 = this.tryV.findByAlias(var5);
|
|
|
+ ITable var7 = this.tryV.getTable(var6);
|
|
|
+ Fields var8 = var7.getDataFields();
|
|
|
+ String var9 = var10.getFormulaForm();
|
|
|
+ var3 = this.a(var9, var8, FieldDisplayNameType.formulaName);
|
|
|
+ break;
|
|
|
+ case 2:
|
|
|
+ var4 = var1.getFormulaForm();
|
|
|
+ var3 = this.a(var4, this.ifV, FieldDisplayNameType.formulaName);
|
|
|
+ break;
|
|
|
+ case 3:
|
|
|
+ var4 = var1.getFormulaForm();
|
|
|
+ var3 = this.a(var4, this.intV, FieldDisplayNameType.formulaName);
|
|
|
+ break;
|
|
|
+ case 4:
|
|
|
+ case 6:
|
|
|
+ default:
|
|
|
+ var3 = (IField)var1.clone(true);
|
|
|
+ break;
|
|
|
+ case 5:
|
|
|
+ var4 = var1.getFormulaForm();
|
|
|
+ var3 = this.a(var4, this.newV, FieldDisplayNameType.formulaName);
|
|
|
+ if (var3 == null) {
|
|
|
+ var3 = DataDocument.this.a(var1, this);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 7:
|
|
|
+ var4 = var1.getFormulaForm();
|
|
|
+ var3 = this.a(var4, this.doV, FieldDisplayNameType.formulaName);
|
|
|
+ }
|
|
|
+
|
|
|
+ return var3;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ IField a(String var1, Fields var2, FieldDisplayNameType var3) {
|
|
|
+ int var4 = var2.find(var1, var3, Locale.getDefault());
|
|
|
+ return var4 >= 0 ? var2.getField(var4) : null;
|
|
|
+ }
|
|
|
+
|
|
|
+ IGroup a(IGroup var1) {
|
|
|
+ int var2 = this.forV.findIndexOf(var1);
|
|
|
+ return var2 >= 0 ? this.forV.getGroup(var2) : null;
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|