package eu.smartlm.abs.portal.data.query;
import java.util.Calendar;
import java.util.Date;
import java.util.HashSet;
import java.util.Set;
import org.apache.xmlbeans.XmlAnySimpleType;
import org.gridforum.x2003.urWg.HostDocument.Host;
import org.gridforum.x2003.urWg.ProjectNameDocument.ProjectName;
import org.gridforum.x2003.urWg.SubmitHostDocument.SubmitHost;
import org.gridforum.x2003.urWg.UserIdentityDocument.UserIdentity;
import eu.smartlm.schemas.x2009.x06.urec.AccountingPeriodType;
import eu.smartlm.schemas.x2009.x06.urec.ChargeType;
import eu.smartlm.schemas.x2009.x06.urec.FeatureType;
import eu.smartlm.schemas.x2009.x06.urec.LicenseResourceType;
import eu.smartlm.schemas.x2009.x06.urec.LicenseType;
import eu.smartlm.schemas.x2009.x06.urec.ProductType;
import eu.smartlm.schemas.x2009.x06.urec.SmartLMUsageRecordType;
public class QueryConstructorDummy implements QueryConstructor {
private Set<ProductType> products;
private Set<UserIdentity> users;
private Set<String> accountingGroups;
private Set<SubmitHost> submitHosts;
private Set<Host> hosts;
private Set<ProjectName> projects;
private Set<SmartLMUsageRecordType> usageRecords;
public QueryConstructorDummy() {
if(products == null) {
// We construct the object map for the test
UserIdentity userA = UserIdentity.Factory.newInstance();
userA.setLocalUserId("UserA");
UserIdentity userB = UserIdentity.Factory.newInstance();
userB.setLocalUserId("En un lugar de la mancha de cuyo nombre no quiero acordarme, hace mucho tiempo vivia un hidalgo EMAILADDRESS=demo@smartlm.eu,");
XmlAnySimpleType productAId = XmlAnySimpleType.Factory.newInstance();
productAId.setStringValue("Ansys CFX ID");
XmlAnySimpleType productBId = XmlAnySimpleType.Factory.newInstance();
productBId.setStringValue("CalcuNetW ID");
XmlAnySimpleType productCId = XmlAnySimpleType.Factory.newInstance();
productCId.setStringValue("GCWorkSpaces ID");
//xmlAnySimpleType.set
ProductType productA = ProductType.Factory.newInstance();
productA.setName("Ansys CFX");
productA.setProductId("Ansys CFX ID");
//productA.setProductId(productAId);
ProductType productB = ProductType.Factory.newInstance();
productB.setName("CalcuNetW");
productB.setProductId("CalcuNetW ID");
//productB.setProductId(productBId);
ProductType productC = ProductType.Factory.newInstance();
productC.setName("GCWorkspaces");
productC.setProductId("GCWorkSpaces ID");
//productC.setProductId(productCId);
LicenseType licenseA = LicenseType.Factory.newInstance();
licenseA.setProduct(productA);
LicenseType licenseB = LicenseType.Factory.newInstance();
licenseB.setProduct(productB);
LicenseType licenseC = LicenseType.Factory.newInstance();
licenseC.setProduct(productC);
Host hostA = Host.Factory.newInstance();
hostA.setStringValue("HostA");
Host hostB = Host.Factory.newInstance();
hostB.setStringValue("HostB");
Host hostC = Host.Factory.newInstance();
hostC.setStringValue("HostC");
SubmitHost submitHostA = SubmitHost.Factory.newInstance();
submitHostA.setStringValue("SubmitHostA");
SubmitHost submitHostB = SubmitHost.Factory.newInstance();
submitHostB.setStringValue("SubmitHostB");
SubmitHost submitHostC = SubmitHost.Factory.newInstance();
submitHostC.setStringValue("SubmitHostC");
Calendar date1 = Calendar.getInstance();
date1.set(Calendar.YEAR, 2009);
date1.set(Calendar.MONTH, 4);
date1.set(Calendar.DAY_OF_MONTH, 7);
date1.set(Calendar.HOUR, 15);
date1.set(Calendar.MINUTE, 30);
date1.set(Calendar.SECOND, 0);
date1.set(Calendar.MILLISECOND, 0);
Calendar date2 = Calendar.getInstance();
date2.set(Calendar.YEAR, 2009);
date2.set(Calendar.MONTH, 4);
date2.set(Calendar.DAY_OF_MONTH, 7);
date2.set(Calendar.HOUR, 16);
date2.set(Calendar.MINUTE, 30);
date2.set(Calendar.SECOND, 0);
date2.set(Calendar.MILLISECOND, 0);
ChargeType chargeA = ChargeType.Factory.newInstance();
chargeA.setStringValue("1.0");
AccountingPeriodType accountingPeriodA = AccountingPeriodType.Factory.newInstance();
accountingPeriodA.setStartTime(date1);
accountingPeriodA.setEndTime(date2);
String accountingGroupA = "DeparmentA";
String accountingGroupB = "DepartmentB";
LicenseResourceType licenseResource01 = LicenseResourceType.Factory.newInstance();
licenseResource01.setLicense(licenseA);
licenseResource01.setAccountingPeriod(accountingPeriodA);
licenseResource01.setAccountingGroup(accountingGroupA);
licenseResource01.setCharge(chargeA);
LicenseResourceType licenseResource02 = LicenseResourceType.Factory.newInstance();
licenseResource02.setLicense(licenseA);
licenseResource02.setAccountingPeriod(accountingPeriodA);
licenseResource02.setAccountingGroup(accountingGroupA);
licenseResource02.setCharge(chargeA);
LicenseResourceType licenseResource03 = LicenseResourceType.Factory.newInstance();
licenseResource03.setLicense(licenseA);
licenseResource03.setAccountingPeriod(accountingPeriodA);
licenseResource03.setAccountingGroup(accountingGroupA);
licenseResource03.setCharge(chargeA);
LicenseResourceType licenseResource04 = LicenseResourceType.Factory.newInstance();
licenseResource04.setLicense(licenseB);
licenseResource04.setAccountingPeriod(accountingPeriodA);
licenseResource04.setAccountingGroup(accountingGroupA);
licenseResource04.setCharge(chargeA);
LicenseResourceType licenseResource05 = LicenseResourceType.Factory.newInstance();
licenseResource05.setLicense(licenseB);
licenseResource05.setAccountingPeriod(accountingPeriodA);
licenseResource05.setAccountingGroup(accountingGroupA);
licenseResource05.setCharge(chargeA);
LicenseResourceType licenseResource06 = LicenseResourceType.Factory.newInstance();
licenseResource06.setLicense(licenseC);
licenseResource06.setAccountingPeriod(accountingPeriodA);
licenseResource06.setAccountingGroup(accountingGroupB);
licenseResource06.setCharge(chargeA);
LicenseResourceType licenseResource07 = LicenseResourceType.Factory.newInstance();
licenseResource07.setLicense(licenseA);
licenseResource07.setAccountingPeriod(accountingPeriodA);
licenseResource07.setAccountingGroup(accountingGroupB);
licenseResource07.setCharge(chargeA);
LicenseResourceType licenseResource08 = LicenseResourceType.Factory.newInstance();
licenseResource08.setLicense(licenseB);
licenseResource08.setAccountingPeriod(accountingPeriodA);
licenseResource08.setAccountingGroup(accountingGroupB);
licenseResource08.setCharge(chargeA);
LicenseResourceType licenseResource09 = LicenseResourceType.Factory.newInstance();
licenseResource09.setLicense(licenseC);
licenseResource09.setAccountingPeriod(accountingPeriodA);
licenseResource09.setAccountingGroup(accountingGroupB);
licenseResource09.setCharge(chargeA);
ProjectName projectA = ProjectName.Factory.newInstance();
projectA.setStringValue("ProjectA");
ProjectName projectB = ProjectName.Factory.newInstance();
projectB.setStringValue("ProjectB");
ProjectName projectC = ProjectName.Factory.newInstance();
projectC.setStringValue("ProjectC");
SmartLMUsageRecordType usageRecord01 = SmartLMUsageRecordType.Factory.newInstance();
UserIdentity[] userIndentityArray01 = {userA};
LicenseResourceType[] licenseResouceArray01 = {licenseResource01};
ProjectName[] projectNameArray01 = {projectA};
usageRecord01.setUserIdentityArray(userIndentityArray01);
usageRecord01.setLicenseResourceArray(licenseResouceArray01);
usageRecord01.setProjectNameArray(projectNameArray01);
Host[] hostArray01 = {hostA};
usageRecord01.setHostArray(hostArray01);
SubmitHost[] submitHostArray01 = {submitHostA};
usageRecord01.setSubmitHostArray(submitHostArray01);
SmartLMUsageRecordType usageRecord02 = SmartLMUsageRecordType.Factory.newInstance();
UserIdentity[] userIndentityArray02 = {userA};
LicenseResourceType[] licenseResouceArray02 = {licenseResource02};
ProjectName[] projectNameArray02 = {projectA};
usageRecord02.setUserIdentityArray(userIndentityArray02);
usageRecord02.setLicenseResourceArray(licenseResouceArray02);
usageRecord02.setProjectNameArray(projectNameArray02);
Host[] hostArray02 = {hostA};
usageRecord02.setHostArray(hostArray02);
SubmitHost[] submitHostArray02 = {submitHostA};
usageRecord02.setSubmitHostArray(submitHostArray02);
SmartLMUsageRecordType usageRecord03 = SmartLMUsageRecordType.Factory.newInstance();
UserIdentity[] userIndentityArray03 = {userA};
LicenseResourceType[] licenseResouceArray03 = {licenseResource03};
ProjectName[] projectNameArray03 = {projectA};
usageRecord03.setUserIdentityArray(userIndentityArray03);
usageRecord03.setLicenseResourceArray(licenseResouceArray03);
usageRecord03.setProjectNameArray(projectNameArray03);
Host[] hostArray03 = {hostA};
usageRecord03.setHostArray(hostArray03);
SubmitHost[] submitHostArray03 = {submitHostA};
usageRecord03.setSubmitHostArray(submitHostArray03);
SmartLMUsageRecordType usageRecord04 = SmartLMUsageRecordType.Factory.newInstance();
UserIdentity[] userIndentityArray04 = {userA};
LicenseResourceType[] licenseResouceArray04 = {licenseResource04};
ProjectName[] projectNameArray04 = {projectA};
usageRecord04.setUserIdentityArray(userIndentityArray04);
usageRecord04.setLicenseResourceArray(licenseResouceArray04);
usageRecord04.setProjectNameArray(projectNameArray04);
Host[] hostArray04 = {hostA};
usageRecord04.setHostArray(hostArray04);
SubmitHost[] submitHostArray04 = {submitHostA};
usageRecord04.setSubmitHostArray(submitHostArray04);
SmartLMUsageRecordType usageRecord05 = SmartLMUsageRecordType.Factory.newInstance();
UserIdentity[] userIndentityArray05 = {userA};
LicenseResourceType[] licenseResouceArray05 = {licenseResource05};
ProjectName[] projectNameArray05 = {projectA};
usageRecord05.setUserIdentityArray(userIndentityArray05);
usageRecord05.setLicenseResourceArray(licenseResouceArray05);
usageRecord05.setProjectNameArray(projectNameArray05);
Host[] hostArray05 = {hostB};
usageRecord05.setHostArray(hostArray05);
SubmitHost[] submitHostArray05 = {submitHostB};
usageRecord05.setSubmitHostArray(submitHostArray05);
SmartLMUsageRecordType usageRecord06 = SmartLMUsageRecordType.Factory.newInstance();
UserIdentity[] userIndentityArray06 = {userA};
LicenseResourceType[] licenseResouceArray06 = {licenseResource06};
ProjectName[] projectNameArray06 = {projectB};
usageRecord06.setUserIdentityArray(userIndentityArray06);
usageRecord06.setLicenseResourceArray(licenseResouceArray06);
usageRecord06.setProjectNameArray(projectNameArray06);
Host[] hostArray06 = {hostB};
usageRecord06.setHostArray(hostArray06);
SubmitHost[] submitHostArray06 = {submitHostB};
usageRecord06.setSubmitHostArray(submitHostArray06);
SmartLMUsageRecordType usageRecord07 = SmartLMUsageRecordType.Factory.newInstance();
UserIdentity[] userIndentityArray07 = {userB};
LicenseResourceType[] licenseResouceArray07 = {licenseResource07};
ProjectName[] projectNameArray07 = {projectB};
usageRecord07.setUserIdentityArray(userIndentityArray07);
usageRecord07.setLicenseResourceArray(licenseResouceArray07);
usageRecord07.setProjectNameArray(projectNameArray07);
Host[] hostArray07 = {hostB};
usageRecord07.setHostArray(hostArray07);
SubmitHost[] submitHostArray07 = {submitHostB};
usageRecord07.setSubmitHostArray(submitHostArray07);
SmartLMUsageRecordType usageRecord08 = SmartLMUsageRecordType.Factory.newInstance();
UserIdentity[] userIndentityArray08 = {userB};
LicenseResourceType[] licenseResouceArray08 = {licenseResource08};
ProjectName[] projectNameArray08 = {projectB};
usageRecord08.setUserIdentityArray(userIndentityArray08);
usageRecord08.setLicenseResourceArray(licenseResouceArray08);
usageRecord08.setProjectNameArray(projectNameArray08);
Host[] hostArray08 = {hostC};
usageRecord08.setHostArray(hostArray08);
SubmitHost[] submitHostArray08 = {submitHostC};
usageRecord08.setSubmitHostArray(submitHostArray08);
SmartLMUsageRecordType usageRecord09 = SmartLMUsageRecordType.Factory.newInstance();
UserIdentity[] userIndentityArray09 = {userB};
LicenseResourceType[] licenseResouceArray09 = {licenseResource09};
ProjectName[] projectNameArray09 = {projectB};
usageRecord09.setUserIdentityArray(userIndentityArray09);
usageRecord09.setLicenseResourceArray(licenseResouceArray09);
usageRecord09.setProjectNameArray(projectNameArray09);
Host[] hostArray09 = {hostB};
usageRecord09.setHostArray(hostArray09);
SubmitHost[] submitHostArray09 = {submitHostC};
usageRecord09.setSubmitHostArray(submitHostArray09);
usageRecords = new HashSet<SmartLMUsageRecordType>();
usageRecords.add(usageRecord01);
usageRecords.add(usageRecord02);
usageRecords.add(usageRecord03);
usageRecords.add(usageRecord04);
usageRecords.add(usageRecord05);
usageRecords.add(usageRecord06);
usageRecords.add(usageRecord07);
usageRecords.add(usageRecord08);
usageRecords.add(usageRecord09);
users = new HashSet<UserIdentity>();
users.add(userA);
users.add(userB);
products = new HashSet<ProductType>();
products.add(productA);
products.add(productB);
products.add(productC);
projects = new HashSet<ProjectName>();
projects.add(projectA);
projects.add(projectB);
projects.add(projectC);
accountingGroups = new HashSet<String>();
accountingGroups.add(accountingGroupA);
accountingGroups.add(accountingGroupB);
submitHosts = new HashSet<SubmitHost>();
submitHosts.add(submitHostA);
submitHosts.add(submitHostB);
submitHosts.add(submitHostC);
hosts = new HashSet<Host>();
hosts.add(hostA);
hosts.add(hostB);
hosts.add(hostC);
}
}
public Set<String> getListOfAccountingGroups(
Date startDate,
Date endDate,
Set<String> filterByUsers,
Set<String> filterByProduct,
Set<String> filterByProject,
Set<String> filterByHost,
Set<String> filterBySubmitHost,
Set<String> filterByFeature,
Set<String> filterByAccountingGroups) {
return accountingGroups;
}
public Set<Host> getListOfHosts(
Date startDate,
Date endDate,
Set<String> filterByUsers,
Set<String> filterByProduct,
Set<String> filterByProject,
Set<String> filterByHost,
Set<String> filterBySubmitHost,
Set<String> filterByFeature,
Set<String> filterByAccountingGroups) {
return hosts;
}
public Set<ProductType> getListOfProducts(
Date startDate,
Date endDate,
Set<String> filterByUsers,
Set<String> filterByProduct,
Set<String> filterByProject,
Set<String> filterByHost,
Set<String> filterBySubmitHost,
Set<String> filterByFeature,
Set<String> filterByAccountingGroups) {
return products;
}
public Set<ProjectName> getListOfProjects(
Date startDate,
Date endDate,
Set<String> filterByUsers,
Set<String> filterByProduct,
Set<String> filterByProject,
Set<String> filterByHost,
Set<String> filterBySubmitHost,
Set<String> filterByFeature,
Set<String> filterByAccountingGroups) {
return projects;
}
public Set<SmartLMUsageRecordType> getListOfSmartLMUsageRecords(
Date startDate,
Date endDate,
Set<String> filterByUsers,
Set<String> filterByProduct,
Set<String> filterByProject,
Set<String> filterByHost,
Set<String> filterBySubmitHost,
Set<String> filterByFeature,
Set<String> filterByAccountingGroups) {
return usageRecords;
}
public Set<FeatureType> getListOfSubmitFeatures(
Date startDate,
Date endDate,
Set<String> filterByUsers,
Set<String> filterByProduct,
Set<String> filterByProject,
Set<String> filterByHost,
Set<String> filterBySubmitHost,
Set<String> filterByFeature,
Set<String> filterByAccountingGroups) {
return null;
}
public Set<SubmitHost> getListOfSubmitHosts(
Date startDate,
Date endDate,
Set<String> filterByUsers,
Set<String> filterByProduct,
Set<String> filterByProject,
Set<String> filterByHost,
Set<String> filterBySubmitHost,
Set<String> filterByFeature,
Set<String> filterByAccountingGroups) {
return submitHosts;
}
public Set<UserIdentity> getListOfUsers(
Date startDate,
Date endDate,
Set<String> filterByUsers,
Set<String> filterByProduct,
Set<String> filterByProject,
Set<String> filterByHost,
Set<String> filterBySubmitHost,
Set<String> filterByFeature,
Set<String> filterByAccountingGroups) {
return users;
}
public void setUpConnection(String url, String rampartRepo, String clientProperties) {
// In the dummy class this method has no sense at all.
}
}