Commit c680bc08 by Nilu

code review changes

parent a7894b24
...@@ -19,7 +19,7 @@ ...@@ -19,7 +19,7 @@
<column name="post_code" type="String" nullable="true" length="10"/> <column name="post_code" type="String" nullable="true" length="10"/>
<column name="city" type="String" nullable="true" length="100"/> <column name="city" type="String" nullable="true" length="100"/>
<column name="time_zone" type="String" nullable="true" length="200"/> <column name="time_zone" type="String" nullable="true" length="200"/>
<column name="company_id" type="Long" length="11" nullable="true"/> <column name="company_id" type="Long" length="11" nullable="false"/>
</NODE> </NODE>
<NODE name="INDEX" factory="Participant" class="oneit.sql.transfer.DefineIndexOperation" tableName="tl_client" indexName="idx_tl_client_company_id" isUnique="false"><column name="company_id"/></NODE> <NODE name="INDEX" factory="Participant" class="oneit.sql.transfer.DefineIndexOperation" tableName="tl_client" indexName="idx_tl_client_company_id" isUnique="false"><column name="company_id"/></NODE>
......
...@@ -19,7 +19,7 @@ CREATE TABLE tl_client ( ...@@ -19,7 +19,7 @@ CREATE TABLE tl_client (
post_code varchar(10) NULL, post_code varchar(10) NULL,
city varchar(100) NULL, city varchar(100) NULL,
time_zone varchar(200) NULL, time_zone varchar(200) NULL,
company_id numeric(12) NULL company_id numeric(12) NOT NULL
); );
......
...@@ -20,7 +20,7 @@ CREATE TABLE tl_client ( ...@@ -20,7 +20,7 @@ CREATE TABLE tl_client (
post_code varchar2(10) NULL, post_code varchar2(10) NULL,
city varchar2(100) NULL, city varchar2(100) NULL,
time_zone varchar2(200) NULL, time_zone varchar2(200) NULL,
company_id number(12) NULL company_id number(12) NOT NULL
); );
......
...@@ -20,7 +20,7 @@ CREATE TABLE tl_client ( ...@@ -20,7 +20,7 @@ CREATE TABLE tl_client (
post_code varchar(10) NULL, post_code varchar(10) NULL,
city varchar(100) NULL, city varchar(100) NULL,
time_zone varchar(200) NULL, time_zone varchar(200) NULL,
company_id numeric(12) NULL company_id numeric(12) NOT NULL
); );
......
...@@ -183,6 +183,7 @@ public abstract class BaseClient extends BaseBusinessClass ...@@ -183,6 +183,7 @@ public abstract class BaseClient extends BaseBusinessClass
metaInfo.put ("backreferenceName", "Clients"); metaInfo.put ("backreferenceName", "Clients");
metaInfo.put ("dbcol", "company_id"); metaInfo.put ("dbcol", "company_id");
metaInfo.put ("mandatory", "true");
metaInfo.put ("name", "Company"); metaInfo.put ("name", "Company");
metaInfo.put ("type", "Company"); metaInfo.put ("type", "Company");
...@@ -1878,6 +1879,7 @@ public abstract class BaseClient extends BaseBusinessClass ...@@ -1878,6 +1879,7 @@ public abstract class BaseClient extends BaseBusinessClass
*/ */
public void setCompany (Company newCompany) throws StorageException, FieldException public void setCompany (Company newCompany) throws StorageException, FieldException
{ {
BusinessObjectParser.assertFieldCondition (newCompany != null, this, SINGLEREFERENCE_Company, "mandatory");
if (_Company.wouldReferencedChange (newCompany)) if (_Company.wouldReferencedChange (newCompany))
...@@ -2422,6 +2424,8 @@ public abstract class BaseClient extends BaseBusinessClass ...@@ -2422,6 +2424,8 @@ public abstract class BaseClient extends BaseBusinessClass
super.validate (context); super.validate (context);
context.check (getCompanyID() != null, this, SINGLEREFERENCE_Company, "mandatory");
} }
......
...@@ -89,6 +89,7 @@ public abstract class BaseJob extends BaseBusinessClass ...@@ -89,6 +89,7 @@ public abstract class BaseJob extends BaseBusinessClass
// Static constants corresponding to searches // Static constants corresponding to searches
public static final String SEARCH_All = "All"; public static final String SEARCH_All = "All";
public static final String SEARCH_JobKey = "JobKey"; public static final String SEARCH_JobKey = "JobKey";
public static final String SEARCH_Company = "Company";
// Static constants corresponding to attribute helpers // Static constants corresponding to attribute helpers
...@@ -6097,6 +6098,172 @@ public abstract class BaseJob extends BaseBusinessClass ...@@ -6097,6 +6098,172 @@ public abstract class BaseJob extends BaseBusinessClass
.search (transaction); .search (transaction);
} }
public static SearchCompany SearchByCompany () { return new SearchCompany (); }
public static class SearchCompany extends SearchObject<Job>
{
public SearchCompany byCompany (Company Company)
{
by ("Company", Company);
return this;
}
public SearchCompany andObjectID (QueryFilter<Long> filter)
{
filter.addFilter (context, "tl_job.object_id", FIELD_ObjectID);
return this;
}
public SearchCompany andObjectCreated (QueryFilter<Date> filter)
{
filter.addFilter (context, "tl_job.object_created_date", FIELD_ObjectCreated);
return this;
}
public SearchCompany andObjectLastModified (QueryFilter<Date> filter)
{
filter.addFilter (context, "tl_job.object_last_updated_date", FIELD_ObjectLastModified);
return this;
}
public SearchCompany andJobTitle (QueryFilter<String> filter)
{
filter.addFilter (context, "tl_job.job_title", "JobTitle");
return this;
}
public SearchCompany andJobDescription (QueryFilter<String> filter)
{
filter.addFilter (context, "tl_job.job_description", "JobDescription");
return this;
}
public SearchCompany andJobStatus (QueryFilter<JobStatus> filter)
{
filter.addFilter (context, "tl_job.job_status", "JobStatus");
return this;
}
public SearchCompany andOpenDate (QueryFilter<Date> filter)
{
filter.addFilter (context, "tl_job.open_date", "OpenDate");
return this;
}
public SearchCompany andApplyBy (QueryFilter<Date> filter)
{
filter.addFilter (context, "tl_job.apply_by", "ApplyBy");
return this;
}
public SearchCompany andIncludeAssessmentCriteria (QueryFilter<Boolean> filter)
{
filter.addFilter (context, "tl_job.include_assessment_criteria", "IncludeAssessmentCriteria");
return this;
}
public SearchCompany andAssessmentType (QueryFilter<AssessmentType> filter)
{
filter.addFilter (context, "tl_job.assessment_type", "AssessmentType");
return this;
}
public SearchCompany andRandomKey (QueryFilter<String> filter)
{
filter.addFilter (context, "tl_job.random_key", "RandomKey");
return this;
}
public SearchCompany andJobType (QueryFilter<JobType> filter)
{
filter.addFilter (context, "tl_job.job_type", "JobType");
return this;
}
public SearchCompany andReferenceNumber (QueryFilter<String> filter)
{
filter.addFilter (context, "tl_job.ref_number", "ReferenceNumber");
return this;
}
public SearchCompany andLastStatusChangeDate (QueryFilter<Date> filter)
{
filter.addFilter (context, "tl_job.last_status_change_date", "LastStatusChangeDate");
return this;
}
public SearchCompany andRemote (QueryFilter<Boolean> filter)
{
filter.addFilter (context, "tl_job.remote", "Remote");
return this;
}
public SearchCompany andCity (QueryFilter<String> filter)
{
filter.addFilter (context, "tl_job.city", "City");
return this;
}
public SearchCompany andState (QueryFilter<State> filter)
{
filter.addFilter (context, "tl_job.state", "State");
return this;
}
public SearchCompany andCountry (QueryFilter<Countries> filter)
{
filter.addFilter (context, "tl_job.country", "Country");
return this;
}
public SearchCompany andLevel (QueryFilter<Level> filter)
{
filter.addFilter (context, "tl_job.level_id", "Level");
return this;
}
public SearchCompany andClient (QueryFilter<Client> filter)
{
filter.addFilter (context, "tl_job.client_id", "Client");
return this;
}
public SearchCompany andCompanyUser (QueryFilter<CompanyUser> filter)
{
filter.addFilter (context, "tl_job.company_user_id", "CompanyUser");
return this;
}
public Job[]
search (ObjectTransaction transaction) throws StorageException
{
BaseBusinessClass[] results = super.search (transaction, REFERENCE_Job, SEARCH_Company, criteria);
Set<Job> typedResults = new LinkedHashSet <Job> ();
for (BaseBusinessClass bbcResult : results)
{
Job aResult = (Job)bbcResult;
typedResults.add (aResult);
}
return ObjstoreUtils.removeDeleted(transaction, typedResults).toArray (new Job[0]);
}
}
public static Job[]
searchCompany (ObjectTransaction transaction, Company Company) throws StorageException
{
return SearchByCompany ()
.byCompany (Company)
.search (transaction);
}
public Object getAttribute (String attribName) public Object getAttribute (String attribName)
......
...@@ -26,7 +26,7 @@ ...@@ -26,7 +26,7 @@
<ATTRIB name="City" type="String" dbcol="city" mandatory="false" length="100"/> <ATTRIB name="City" type="String" dbcol="city" mandatory="false" length="100"/>
<ATTRIB name="TimeZone" type="TimeZone" dbcol="time_zone" mandatory="false" attribHelper="EnumeratedAttributeHelper"/> <ATTRIB name="TimeZone" type="TimeZone" dbcol="time_zone" mandatory="false" attribHelper="EnumeratedAttributeHelper"/>
<SINGLEREFERENCE name="Company" type="Company" dbcol="company_id" backreferenceName="Clients"/> <SINGLEREFERENCE name="Company" type="Company" dbcol="company_id" backreferenceName="Clients" mandatory="true"/>
</TABLE> </TABLE>
......
...@@ -60,6 +60,11 @@ ...@@ -60,6 +60,11 @@
<PARAM name="Key" type="String" paramFilter="random_key = ${Key}" /> <PARAM name="Key" type="String" paramFilter="random_key = ${Key}" />
</SEARCH> </SEARCH>
<SEARCH type="Company" paramFilter="tl_job.object_id is not null" orderBy="tl_job.object_id">
<TABLE name="oneit_sec_user_extension" join="oneit_sec_user_extension.object_id = tl_job.company_user_id"/>
<TABLE name="tl_company" join="tl_company.object_id = oneit_sec_user_extension.company_id"/>
<PARAM name="Company" type="Company" transform="Company.getObjectID ()" paramFilter="tl_company.object_id = ${Company}"/>
</SEARCH>
</BUSINESSCLASS> </BUSINESSCLASS>
</ROOT> </ROOT>
\ No newline at end of file
...@@ -329,6 +329,10 @@ public class JobPersistenceMgr extends ObjectPersistenceMgr ...@@ -329,6 +329,10 @@ public class JobPersistenceMgr extends ObjectPersistenceMgr
{ {
throw new RuntimeException ("NOT implemented: executeSearchQueryJobKey"); throw new RuntimeException ("NOT implemented: executeSearchQueryJobKey");
} }
public ResultSet executeSearchQueryCompany (SQLManager sqlMgr, Company Company) throws SQLException
{
throw new RuntimeException ("NOT implemented: executeSearchQueryCompany");
}
...@@ -530,6 +534,56 @@ public class JobPersistenceMgr extends ObjectPersistenceMgr ...@@ -530,6 +534,56 @@ public class JobPersistenceMgr extends ObjectPersistenceMgr
return results; return results;
} }
else if (searchType.equals (Job.SEARCH_Company))
{
// Local scope for transformed variables
{
if (criteria.containsKey("Company"))
{
Company Company = (Company)(criteria.get("Company"));
criteria.put ("Company", Company.getObjectID ());
}
}
String orderBy = " ORDER BY tl_job.object_id";
String tables = ", oneit_sec_user_extension, tl_company ";
Set<String> joinTableSet = new HashSet<String>();
String filter;
Object[] searchParams; // paramFilter: tl_job.object_id is not null
String preFilter = "(tl_job.object_id is not null)"
+ " AND (oneit_sec_user_extension.object_id = tl_job.company_user_id) AND (tl_company.object_id = oneit_sec_user_extension.company_id) ";
if (criteria.containsKey("Company"))
{
preFilter += " AND (tl_company.object_id = ${Company}) ";
preFilter += "";
}
preFilter += context.getLoadingAttributes ().getCustomSQL() ;
SearchParamTransform tx = new SearchParamTransform (criteria);
filter = StringUtils.replaceParams (preFilter, tx);
searchParams = tx.getParamsArray();
Integer maxRows = context.getLoadingAttributes ().getMaxRows ();
boolean truncateExtra = !context.getLoadingAttributes ().isFailIfMaxExceeded();
String query = "SELECT " + SELECT_COLUMNS +
"FROM {PREFIX}tl_job " + tables + tableSetToSQL(joinTableSet) +
"WHERE " + SELECT_JOINS + " " + filter + orderBy;
BaseBusinessClass[] results = loadQuery (allPSets, sqlMgr, context, query, searchParams, maxRows, truncateExtra);
return results;
}
else else
{ {
......
...@@ -29,7 +29,7 @@ ...@@ -29,7 +29,7 @@
for(JobApplication jobApplication : applications) for(JobApplication jobApplication : applications)
{ {
String roleFit = FormatUtils.stringify(jobApplication.getRoleFitPercentage(), "PercentageTwoDP", "0"); String roleFit = FormatUtils.stringify(jobApplication.getRoleFitScore(), "PercentageTwoDP", "0");
String culture = FormatUtils.stringify(jobApplication.getCultureFitScore(), "PercentageWholeNumber", "0"); String culture = FormatUtils.stringify(jobApplication.getCultureFitScore(), "PercentageWholeNumber", "0");
String criteria = FormatUtils.stringify(jobApplication.getRequirementFitScore(), "PercentageWholeNumber", "0"); String criteria = FormatUtils.stringify(jobApplication.getRequirementFitScore(), "PercentageWholeNumber", "0");
String appID = "app-id-" + jobApplication.getID().toString(); String appID = "app-id-" + jobApplication.getID().toString();
......
...@@ -30,8 +30,8 @@ ...@@ -30,8 +30,8 @@
{ {
SecUser txUser = SecUser.getTXUser(objTran); SecUser txUser = SecUser.getTXUser(objTran);
jobs = Job.SearchByAll().andJobStatus(new EqualsFilter<>(jobStatus)) jobs = Job.SearchByCompany().andJobStatus(new EqualsFilter<>(jobStatus))
.andCompanyUser(new EqualsFilter<>(txUser.getExtension(CompanyUser.REFERENCE_CompanyUser))) .byCompany(txUser.getExtension(CompanyUser.REFERENCE_CompanyUser).getCompany())
.search(transaction); .search(transaction);
process.setAttribute(jobListName, jobs); process.setAttribute(jobListName, jobs);
......
...@@ -21,8 +21,8 @@ ...@@ -21,8 +21,8 @@
} }
} }
Job[] jobs = Job.SearchByAll().andJobStatus(new EqualsFilter<>(JobStatus.OPEN)) Job[] jobs = Job.SearchByCompany().andJobStatus(new EqualsFilter<>(JobStatus.OPEN))
.andCompanyUser(new EqualsFilter(secUser.getExtension(CompanyUser.REFERENCE_CompanyUser))) .byCompany(secUser.getExtension(CompanyUser.REFERENCE_CompanyUser).getCompany())
.search(transaction); .search(transaction);
Article jobsArticle = WebUtils.getArticleByShortCut(transaction, WebUtils.JOBS); Article jobsArticle = WebUtils.getArticleByShortCut(transaction, WebUtils.JOBS);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment