force-rest-api icon indicating copy to clipboard operation
force-rest-api copied to clipboard

Add search by SOSL support

Open EINDEX opened this issue 4 years ago • 8 comments

I want to implement the search function, so I wrote a little code for this.

#91

Cloud you please review it, and merge to master branch?

If have any concern, please info me.

EINDEX avatar Dec 04 '20 09:12 EINDEX

Please review the code, if you have moment.

EINDEX avatar Mar 02 '21 02:03 EINDEX

Hi team, can someone please review this pull request. We need to use SOSL in our project.

AliNL avatar Apr 19 '21 07:04 AliNL

@EINDEX, maybe it will be better to add some tests for your code.

ubinexy avatar May 10 '21 02:05 ubinexy

@ubinexy I add some test code on this

EINDEX avatar May 18 '21 03:05 EINDEX

Thanks! I will take a look when I find some time.

On Mon, May 17, 2021 at 8:35 PM Baikang @.***> wrote:

@ubinexy https://github.com/ubinexy I add some test code on this

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/jesperfj/force-rest-api/pull/92#issuecomment-842799996, or unsubscribe https://github.com/notifications/unsubscribe-auth/AACFJLG2BO5A35JTKVBAF2LTOHOBVANCNFSM4UNFTXKQ .

jesperfj avatar May 18 '21 14:05 jesperfj

I am getting errors when running the tests:

[main] INFO com.force.api.http.Http - Bad response code: 400 on request: GET https://na111.salesforce.com/services/data/v51.0/search/?q=FIND+%7Bname%7D+IN+ALL+TYPE+RETURNING+Account%28name%29
[main] INFO com.force.api.http.Http - Bad response code: 400 on request: GET https://na111.salesforce.com/services/data/v51.0/search/?q=FIND+%7Bname%7D+IN+ALL+TYPE+RETURNING+Account%28Name%2C+CreatedDate%29
Tests run: 3, Failures: 0, Errors: 2, Skipped: 0, Time elapsed: 3.357 sec <<< FAILURE!
testUntypedSearch(com.force.api.SearchTest)  Time elapsed: 2.397 sec  <<< ERROR!
com.force.api.ApiException: [{"message":"\nFIND {name} IN ALL TYPE RETURNING Account(name)\n                  ^\nERROR at Row:1:Column:19\nMalformed search token: TYPE","errorCode":"MALFORMED_SEARCH"}]
	at com.force.api.ForceApi.apiRequest(ForceApi.java:558)
	at com.force.api.ForceApi.searchAny(ForceApi.java:388)
	at com.force.api.ForceApi.searchBySOSL(ForceApi.java:380)
	at com.force.api.ForceApi.searchBySOSL(ForceApi.java:375)
	at com.force.api.SearchTest.testUntypedSearch(SearchTest.java:42)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:564)
	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59)
	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56)
	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
	at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
	at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
	at org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100)
	at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63)
	at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)
	at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)
	at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:413)
	at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:252)
	at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:141)
	at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:112)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:564)
	at org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:189)
	at org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:165)
	at org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:85)
	at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:115)
	at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:75)

testTypedSearch(com.force.api.SearchTest)  Time elapsed: 0.283 sec  <<< ERROR!
com.force.api.ApiException: [{"message":"\nFIND {name} IN ALL TYPE RETURNING Account(Name, CreatedDate)\n                  ^\nERROR at Row:1:Column:19\nMalformed search token: TYPE","errorCode":"MALFORMED_SEARCH"}]
	at com.force.api.ForceApi.apiRequest(ForceApi.java:558)
	at com.force.api.ForceApi.searchAny(ForceApi.java:388)
	at com.force.api.ForceApi.searchBySOSL(ForceApi.java:380)
	at com.force.api.SearchTest.testTypedSearch(SearchTest.java:49)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:564)
	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59)
	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56)
	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
	at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
	at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
	at org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100)
	at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63)
	at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)
	at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)
	at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:413)
	at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:252)
	at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:141)
	at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:112)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:564)
	at org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:189)
	at org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:165)
	at org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:85)
	at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:115)
	at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:75)

jesperfj avatar May 20 '21 02:05 jesperfj

Hi @jesperfj,

Sorry for a long time no updating, After the log4j issue, I just realize here.

There are some SOQL query syntax issues.

image

Fix that now.

If you have time, please take a look on it, Regards.

EINDEX avatar Dec 23 '21 05:12 EINDEX

Hi @jesperfj,

Just bumping up for this. If you got some time, could you re-check this?

Thanks.

EINDEX avatar Oct 24 '22 03:10 EINDEX