/*
* Licensed to the Apache Software Foundation (ASF) under one or more contributor license
* agreements. See the NOTICE file distributed with this work for additional information regarding
* copyright ownership. The ASF 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 org.apache.geode.cache.query.data;
import java.io.DataInput;
import java.io.DataOutput;
import java.io.IOException;
import java.io.Serializable;
import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.concurrent.atomic.AtomicInteger;
import org.apache.geode.internal.Assert;
public class PortfolioNoDS implements Serializable {
public static AtomicInteger instanceCount = new AtomicInteger(0);
public int ID;
public int indexKey;
public String pkid;
public Short shortID;
public PositionNoDS position1;
public PositionNoDS position2;
public PositionNoDS[] position3;
public String description;
public long createTime;
public HashMap positions = new HashMap();
public HashMap collectionHolderMap = new HashMap();
String type;
public String status;
public String[] names = {"aaa", "bbb", "ccc", "ddd"};
public String unicodeṤtring;
private final long longMinValue = Long.MIN_VALUE;
private final float floatMinValue = Float.MIN_VALUE;
private final double doubleMinValue = Double.MIN_VALUE;
public Date createDate;
/*
* public String getStatus(){ return status;
*/
public int getID() {
return ID;
}
public long getCreateTime() {
return this.createTime;
}
public void setCreateTime(long time) {
this.createTime = time;
}
public String getPk() {
return pkid;
}
public HashMap getPositions() {
return positions;
}
public HashMap getPositions(String str) {
return positions;
}
public HashMap getPositions(Integer i) {
return positions;
}
public HashMap getPositions(int i) {
return positions;
}
public PositionNoDS getP1() {
return position1;
}
public PositionNoDS getP2() {
return position2;
}
public HashMap getCollectionHolderMap() {
return collectionHolderMap;
}
public ComparableWrapper getCW(int x) {
return new ComparableWrapper(x);
}
public boolean testMethod(boolean booleanArg) {
return true;
}
public boolean isActive() {
return status.equals("active");
}
public static String secIds[] = {"SUN", "IBM", "YHOO", "GOOG", "MSFT", "AOL", "APPL", "ORCL",
"SAP", "DELL", "RHAT", "NOVL", "HP"};
/* public no-arg constructor required for Deserializable */
public PortfolioNoDS() {
instanceCount.addAndGet(1);
}
public PortfolioNoDS(int i) {
instanceCount.addAndGet(1);
ID = i;
if (i % 2 == 0) {
description = null;
} else {
description = "XXXX";
}
pkid = "" + i;
status = i % 2 == 0 ? "active" : "inactive";
type = "type" + (i % 3);
position1 = new PositionNoDS(secIds[PositionNoDS.cnt % secIds.length], PositionNoDS.cnt * 1000);
if (i % 2 != 0) {
position2 =
new PositionNoDS(secIds[PositionNoDS.cnt % secIds.length], PositionNoDS.cnt * 1000);
} else {
position2 = null;
}
positions.put(secIds[PositionNoDS.cnt % secIds.length],
new PositionNoDS(secIds[PositionNoDS.cnt % secIds.length], PositionNoDS.cnt * 1000));
positions.put(secIds[PositionNoDS.cnt % secIds.length],
new PositionNoDS(secIds[PositionNoDS.cnt % secIds.length], PositionNoDS.cnt * 1000));
collectionHolderMap.put("0", new CollectionHolder());
collectionHolderMap.put("1", new CollectionHolder());
collectionHolderMap.put("2", new CollectionHolder());
collectionHolderMap.put("3", new CollectionHolder());
unicodeṤtring = i % 2 == 0 ? "ṤṶẐ" : "ṤẐṶ";
Assert.assertTrue(unicodeṤtring.length() == 3);
}
public PortfolioNoDS(int i, int j) {
this(i);
this.position1.portfolioId = j;
this.position3 = new PositionNoDS[3];
for (int k = 0; k < position3.length; k++) {
PositionNoDS p = new PositionNoDS(secIds[k], (k + 1) * 1000);
p.portfolioId = (k + 1);
this.position3[k] = p;
}
}
private boolean eq(Object o1, Object o2) {
return o1 == null ? o2 == null : o1.equals(o2);
}
public boolean equals(Object o) {
if (!(o instanceof PortfolioNoDS)) {
return false;
}
PortfolioNoDS p2 = (PortfolioNoDS) o;
return this.ID == p2.ID;
}
public int hashCode() {
return this.ID;
}
public String toString() {
String out =
"Portfolio [ID=" + ID + " status=" + status + " type=" + type + " pkid=" + pkid + "\n ";
Iterator iter = positions.entrySet().iterator();
while (iter.hasNext()) {
Map.Entry entry = (Map.Entry) iter.next();
out += entry.getKey() + ":" + entry.getValue() + ", ";
}
out += "\n P1:" + position1 + ", P2:" + position2;
return out + "\n]";
}
/**
* Getter for property type.S
*
* @return Value of property type.
*/
public String getType() {
return this.type;
}
public boolean boolFunction(String strArg) {
return "active".equals(strArg);
} // added by vikramj
public int intFunction(int j) {
return j;
} // added by vikramj
public String funcReturnSecId(Object o) {
return ((PositionNoDS) o).getSecId();
}// added by vikramj
public long longFunction(long j) {
return j;
}
public float getFloatMinValue() {
return this.floatMinValue;
}
public float getLongMinValue() {
return this.longMinValue;
}
public double getDoubleMinValue() {
return this.doubleMinValue;
}
public static void resetInstanceCount() {
instanceCount.set(0);
}
}