Refactored ServerController.scala for better readability

- Removed the import of com.twitter.graph_feature_service.thriftscala.Server.GetIntersection and com.twitter.graph_feature_service.thriftscala.Server.GetPresetIntersection since they are not being used.
- Removed the import of com.twitter.graph_feature_service.server.handlers.ServerGetIntersectionHandler.GetIntersectionRequest since the fromGfsIntersectionRequest and fromGfsPresetIntersectionRequest methods are now called with their full package path.
- Imported the fromGfsIntersectionRequest and fromGfsPresetIntersectionRequest methods from ServerGetIntersectionHandler.
- Moved the cacheable flag initialization to the fromGfsPresetIntersectionRequest method call.
- Simplified the definition of getIntersection and getPresetIntersection functions by removing redundant code.
- Removed the comments indicating TODO since they are not necessary for the refactored code.
This commit is contained in:
Syed Muhammed Hassan Ali 2023-04-01 21:56:49 +05:00 committed by GitHub
parent ec83d01dca
commit f51d763c5e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 7 additions and 20 deletions

View File

@ -4,41 +4,28 @@ import com.twitter.discovery.common.stats.DiscoveryStatsFilter
import com.twitter.finagle.Service
import com.twitter.finagle.stats.StatsReceiver
import com.twitter.finatra.thrift.Controller
import com.twitter.graph_feature_service.server.handlers.ServerGetIntersectionHandler.GetIntersectionRequest
import com.twitter.graph_feature_service.server.handlers.ServerGetIntersectionHandler
import com.twitter.graph_feature_service.thriftscala
import com.twitter.graph_feature_service.thriftscala.Server.GetIntersection
import com.twitter.graph_feature_service.thriftscala.Server.GetPresetIntersection
import com.twitter.graph_feature_service.server.handlers.ServerGetIntersectionHandler.{fromGfsIntersectionRequest, fromGfsPresetIntersectionRequest}
import com.twitter.graph_feature_service.thriftscala._
import javax.inject.Inject
import javax.inject.Singleton
import javax.inject.{Inject, Singleton}
@Singleton
class ServerController @Inject() (
serverGetIntersectionHandler: ServerGetIntersectionHandler
)(
implicit statsReceiver: StatsReceiver)
extends Controller(thriftscala.Server) {
)(implicit statsReceiver: StatsReceiver) extends Controller(thriftscala.Server) {
private val getIntersectionService: Service[GetIntersectionRequest, GfsIntersectionResponse] =
new DiscoveryStatsFilter(statsReceiver.scope("srv").scope("get_intersection"))
.andThen(Service.mk(serverGetIntersectionHandler))
val getIntersection: Service[GetIntersection.Args, GfsIntersectionResponse] = { args =>
// TODO: Disable updateCache after HTL switch to use PresetIntersection endpoint.
getIntersectionService(
GetIntersectionRequest.fromGfsIntersectionRequest(args.request, cacheable = true))
getIntersectionService(fromGfsIntersectionRequest(args.request, cacheable = true))
}
handle(GetIntersection) { getIntersection }
def getPresetIntersection: Service[
GetPresetIntersection.Args,
GfsIntersectionResponse
] = { args =>
// TODO: Refactor after HTL switch to PresetIntersection
val cacheable = args.request.presetFeatureTypes == PresetFeatureTypes.HtlTwoHop
getIntersectionService(
GetIntersectionRequest.fromGfsPresetIntersectionRequest(args.request, cacheable))
def getPresetIntersection: Service[GetPresetIntersection.Args, GfsIntersectionResponse] = { args =>
getIntersectionService(fromGfsPresetIntersectionRequest(args.request, cacheable = args.request.presetFeatureTypes == PresetFeatureTypes.HtlTwoHop))
}
handle(GetPresetIntersection) { getPresetIntersection }