Showing 525 of 525 total issues

Method HTTPClient.GTFSRequest has 8 return statements (exceeds 4 allowed).
Open

func (c *HTTPClient) GTFSRequest() (*gtfs.FeedMessage, error) {
    ctx, cncl := context.WithTimeout(context.Background(), 60*time.Second)
    defer cncl()

    httpRequest, err := http.NewRequestWithContext(ctx, http.MethodGet, c.Url, nil)
Severity: Major
Found in remote/http_client.go - About 50 mins to fix

    Method PushHandler.serve has 8 return statements (exceeds 4 allowed).
    Open

    func (handler *PushHandler) serve(response http.ResponseWriter, request *http.Request) {
        // Check if request header is protobuf or return an error
        if request.Header.Get("Content-Type") != "application/x-protobuf" {
            http.Error(response, "Expected application/x-protobuf content", http.StatusUnsupportedMediaType)
            return
    Severity: Major
    Found in api/push_handler.go - About 50 mins to fix

      Method Server.HandleFlow has 8 return statements (exceeds 4 allowed).
      Open

      func (server *Server) HandleFlow(response http.ResponseWriter, request *http.Request) {
          defer monitoring.HandleHttpPanic(response)
      
          path := request.URL.RequestURI()
          foundStrings := pathPattern.FindStringSubmatch(path)
      Severity: Major
      Found in api/server.go - About 50 mins to fix

        Similar blocks of code found in 2 locations. Consider refactoring.
        Open

        func (connector *SIRIProductionTimetableSubscriptionBroadcaster) publishedLineName(line *model.Line) string {
            var pln string
        
            switch connector.partner.PartnerSettings.SIRILinePublishedName() {
            case "number":
        Severity: Minor
        Found in core/production_timetable_broadcaster.go and 1 other location - About 50 mins to fix
        core/siri_estimated_timetable_request_broadcaster.go on lines 241..256

        Duplicated Code

        Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

        Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

        When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

        Tuning

        This issue has a mass of 120.

        We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

        The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

        If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

        See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

        Refactorings

        Further Reading

        Similar blocks of code found in 2 locations. Consider refactoring.
        Open

        func (connector *SIRIEstimatedTimetableRequestBroadcaster) publishedLineName(line *model.Line) string {
            var pln string
        
            switch connector.partner.PartnerSettings.SIRILinePublishedName() {
            case "number":
        Severity: Minor
        Found in core/siri_estimated_timetable_request_broadcaster.go and 1 other location - About 50 mins to fix
        core/production_timetable_broadcaster.go on lines 245..260

        Duplicated Code

        Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

        Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

        When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

        Tuning

        This issue has a mass of 120.

        We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

        The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

        If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

        See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

        Refactorings

        Further Reading

        Similar blocks of code found in 4 locations. Consider refactoring.
        Open

        func (connector *SIRIStopPointsDiscoveryRequestCollector) logSIRIStopPointsDiscoveryRequest(message *audit.BigQueryMessage, request *siri.SIRIStopPointsDiscoveryRequest) {
            message.RequestIdentifier = request.MessageIdentifier
        
            xml, err := request.BuildXML(connector.Partner().SIRIEnvelopeType())
            if err != nil {
        Severity: Major
        Found in core/siri_stop_points_discovery_request_collector.go and 3 other locations - About 50 mins to fix
        core/siri_lines_discovery_request_collector.go on lines 117..127
        core/siri_stop_monitoring_request_collector.go on lines 200..209
        core/siri_vehicle_monitoring_request_collector.go on lines 141..150

        Duplicated Code

        Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

        Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

        When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

        Tuning

        This issue has a mass of 119.

        We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

        The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

        If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

        See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

        Refactorings

        Further Reading

        Similar blocks of code found in 3 locations. Consider refactoring.
        Open

        func (connector *SIRICheckStatusClient) logSIRICheckStatusRequest(message *audit.BigQueryMessage, request *siri.SIRICheckStatusRequest) {
            xml, err := request.BuildXML(connector.Partner().SIRIEnvelopeType())
            if err != nil {
                return
            }
        Severity: Major
        Found in core/siri_check_status_client.go and 2 other locations - About 50 mins to fix
        core/siri_general_message_request_collector.go on lines 112..121
        core/siri_situation_exchange_request_collector.go on lines 108..117

        Duplicated Code

        Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

        Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

        When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

        Tuning

        This issue has a mass of 119.

        We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

        The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

        If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

        See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

        Refactorings

        Further Reading

        Similar blocks of code found in 4 locations. Consider refactoring.
        Open

        func (connector *SIRIVehicleMonitoringRequestCollector) logSIRIVehicleMonitoringRequest(message *audit.BigQueryMessage, request *siri.SIRIGetVehicleMonitoringRequest) {
            message.RequestIdentifier = request.MessageIdentifier
        
            xml, err := request.BuildXML(connector.Partner().SIRIEnvelopeType())
            if err != nil {
        Severity: Major
        Found in core/siri_vehicle_monitoring_request_collector.go and 3 other locations - About 50 mins to fix
        core/siri_lines_discovery_request_collector.go on lines 117..127
        core/siri_stop_monitoring_request_collector.go on lines 200..209
        core/siri_stop_points_discovery_request_collector.go on lines 119..129

        Duplicated Code

        Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

        Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

        When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

        Tuning

        This issue has a mass of 119.

        We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

        The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

        If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

        See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

        Refactorings

        Further Reading

        Similar blocks of code found in 4 locations. Consider refactoring.
        Open

        func (connector *SIRILinesDiscoveryRequestCollector) logSIRILinesDiscoveryRequest(message *audit.BigQueryMessage, request *siri.SIRILinesDiscoveryRequest) {
            message.RequestIdentifier = request.MessageIdentifier
        
            xml, err := request.BuildXML(connector.Partner().SIRIEnvelopeType())
            if err != nil {
        Severity: Major
        Found in core/siri_lines_discovery_request_collector.go and 3 other locations - About 50 mins to fix
        core/siri_stop_monitoring_request_collector.go on lines 200..209
        core/siri_stop_points_discovery_request_collector.go on lines 119..129
        core/siri_vehicle_monitoring_request_collector.go on lines 141..150

        Duplicated Code

        Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

        Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

        When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

        Tuning

        This issue has a mass of 119.

        We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

        The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

        If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

        See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

        Refactorings

        Further Reading

        Similar blocks of code found in 3 locations. Consider refactoring.
        Open

        func (connector *SIRISituationExchangeRequestCollector) logSIRISituationExchangeRequest(message *audit.BigQueryMessage, request *siri.SIRIGetSituationExchangeRequest) {
            xml, err := request.BuildXML(connector.Partner().SIRIEnvelopeType())
            if err != nil {
                return
            }
        Severity: Major
        Found in core/siri_situation_exchange_request_collector.go and 2 other locations - About 50 mins to fix
        core/siri_check_status_client.go on lines 116..125
        core/siri_general_message_request_collector.go on lines 112..121

        Duplicated Code

        Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

        Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

        When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

        Tuning

        This issue has a mass of 119.

        We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

        The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

        If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

        See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

        Refactorings

        Further Reading

        Similar blocks of code found in 4 locations. Consider refactoring.
        Open

        func (connector *SIRIStopMonitoringRequestCollector) logSIRIStopMonitoringRequest(message *audit.BigQueryMessage, request *siri.SIRIGetStopMonitoringRequest) {
            message.RequestIdentifier = request.MessageIdentifier
        
            xml, err := request.BuildXML(connector.Partner().SIRIEnvelopeType())
            if err != nil {
        Severity: Major
        Found in core/siri_stop_monitoring_request_collector.go and 3 other locations - About 50 mins to fix
        core/siri_lines_discovery_request_collector.go on lines 117..127
        core/siri_stop_points_discovery_request_collector.go on lines 119..129
        core/siri_vehicle_monitoring_request_collector.go on lines 141..150

        Duplicated Code

        Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

        Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

        When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

        Tuning

        This issue has a mass of 119.

        We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

        The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

        If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

        See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

        Refactorings

        Further Reading

        Similar blocks of code found in 3 locations. Consider refactoring.
        Open

        func (connector *SIRIGeneralMessageRequestCollector) logSIRIGeneralMessageRequest(message *audit.BigQueryMessage, request *siri.SIRIGetGeneralMessageRequest) {
            xml, err := request.BuildXML(connector.Partner().SIRIEnvelopeType())
            if err != nil {
                return
            }
        Severity: Major
        Found in core/siri_general_message_request_collector.go and 2 other locations - About 50 mins to fix
        core/siri_check_status_client.go on lines 116..125
        core/siri_situation_exchange_request_collector.go on lines 108..117

        Duplicated Code

        Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

        Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

        When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

        Tuning

        This issue has a mass of 119.

        We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

        The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

        If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

        See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

        Refactorings

        Further Reading

        Similar blocks of code found in 4 locations. Consider refactoring.
        Open

        func (subscriber *SXSubscriber) incrementRetryCountFromMap(resourcesToRequest map[string]*resourceToRequest) {
            for _, requestedResource := range resourcesToRequest {
                subscription, ok := subscriber.connector.partner.Subscriptions().Find(requestedResource.subId)
                if !ok { // Should never happen
                    continue
        Severity: Major
        Found in core/siri_situation_exchange_subscriber.go and 3 other locations - About 50 mins to fix
        core/siri_general_message_subscriber.go on lines 213..225
        core/siri_stop_monitoring_subscriber.go on lines 200..212
        core/siri_vehicle_monitoring_subscriber.go on lines 212..224

        Duplicated Code

        Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

        Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

        When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

        Tuning

        This issue has a mass of 118.

        We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

        The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

        If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

        See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

        Refactorings

        Further Reading

        Similar blocks of code found in 4 locations. Consider refactoring.
        Open

        func (subscriber *VMSubscriber) incrementRetryCountFromMap(linesToRequest map[string]*lineToRequest) {
            for _, requestedLines := range linesToRequest {
                subscription, ok := subscriber.connector.partner.Subscriptions().Find(requestedLines.subID)
                if !ok { // Should never happen
                    continue
        Severity: Major
        Found in core/siri_vehicle_monitoring_subscriber.go and 3 other locations - About 50 mins to fix
        core/siri_general_message_subscriber.go on lines 213..225
        core/siri_situation_exchange_subscriber.go on lines 191..203
        core/siri_stop_monitoring_subscriber.go on lines 200..212

        Duplicated Code

        Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

        Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

        When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

        Tuning

        This issue has a mass of 118.

        We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

        The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

        If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

        See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

        Refactorings

        Further Reading

        Similar blocks of code found in 4 locations. Consider refactoring.
        Open

        func (connector *SIRIVehicleMonitoringSubscriptionBroadcaster) handleProgressBetweenStops(v *model.Vehicle) *siri.SIRIProgressBetweenStops {
            var dist = v.LinkDistance
            var percent = v.Percentage
            if dist != 0. || percent != 0. {
                progressBetweenStops := &siri.SIRIProgressBetweenStops{
        Severity: Major
        Found in core/vehicle_monitoring_broadcaster.go and 3 other locations - About 50 mins to fix
        core/siri_vehicle_monitoring_request_broadcaster.go on lines 226..237
        core/siri_vehicle_monitoring_request_broadcaster.go on lines 239..250
        core/vehicle_monitoring_broadcaster.go on lines 270..281

        Duplicated Code

        Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

        Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

        When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

        Tuning

        This issue has a mass of 118.

        We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

        The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

        If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

        See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

        Refactorings

        Further Reading

        Similar blocks of code found in 4 locations. Consider refactoring.
        Open

        func (subscriber *GMSubscriber) incrementRetryCountFromMap(resourcesToRequest map[string]*resourceToRequest) {
            for _, requestedResource := range resourcesToRequest {
                subscription, ok := subscriber.connector.partner.Subscriptions().Find(requestedResource.subId)
                if !ok { // Should never happen
                    continue
        Severity: Major
        Found in core/siri_general_message_subscriber.go and 3 other locations - About 50 mins to fix
        core/siri_situation_exchange_subscriber.go on lines 191..203
        core/siri_stop_monitoring_subscriber.go on lines 200..212
        core/siri_vehicle_monitoring_subscriber.go on lines 212..224

        Duplicated Code

        Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

        Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

        When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

        Tuning

        This issue has a mass of 118.

        We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

        The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

        If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

        See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

        Refactorings

        Further Reading

        Similar blocks of code found in 4 locations. Consider refactoring.
        Open

        func (connector *SIRIVehicleMonitoringRequestBroadcaster) handleProgressBetweenStops(v *model.Vehicle) *siri.SIRIProgressBetweenStops {
            var dist = v.LinkDistance
            var percent = v.Percentage
            if dist != 0. || percent != 0. {
                progressBetweenStops := &siri.SIRIProgressBetweenStops{
        Severity: Major
        Found in core/siri_vehicle_monitoring_request_broadcaster.go and 3 other locations - About 50 mins to fix
        core/siri_vehicle_monitoring_request_broadcaster.go on lines 226..237
        core/vehicle_monitoring_broadcaster.go on lines 270..281
        core/vehicle_monitoring_broadcaster.go on lines 283..294

        Duplicated Code

        Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

        Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

        When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

        Tuning

        This issue has a mass of 118.

        We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

        The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

        If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

        See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

        Refactorings

        Further Reading

        Similar blocks of code found in 4 locations. Consider refactoring.
        Open

        func (subscriber *SMSubscriber) incrementRetryCountFromMap(stopAreasToRequest map[string]*saToRequest) {
            for _, requestedSa := range stopAreasToRequest {
                subscription, ok := subscriber.connector.partner.Subscriptions().Find(requestedSa.subId)
                if !ok { // Should never happen
                    continue
        Severity: Major
        Found in core/siri_stop_monitoring_subscriber.go and 3 other locations - About 50 mins to fix
        core/siri_general_message_subscriber.go on lines 213..225
        core/siri_situation_exchange_subscriber.go on lines 191..203
        core/siri_vehicle_monitoring_subscriber.go on lines 212..224

        Duplicated Code

        Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

        Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

        When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

        Tuning

        This issue has a mass of 118.

        We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

        The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

        If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

        See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

        Refactorings

        Further Reading

        Similar blocks of code found in 4 locations. Consider refactoring.
        Open

        func (connector *SIRIVehicleMonitoringSubscriptionBroadcaster) handleVehicleLocation(v *model.Vehicle) *siri.SIRIVehicleLocation {
            var lat = v.Latitude
            var lon = v.Longitude
            if lat != 0. || lon != 0. {
                vehicleLocation := &siri.SIRIVehicleLocation{
        Severity: Major
        Found in core/vehicle_monitoring_broadcaster.go and 3 other locations - About 50 mins to fix
        core/siri_vehicle_monitoring_request_broadcaster.go on lines 226..237
        core/siri_vehicle_monitoring_request_broadcaster.go on lines 239..250
        core/vehicle_monitoring_broadcaster.go on lines 283..294

        Duplicated Code

        Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

        Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

        When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

        Tuning

        This issue has a mass of 118.

        We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

        The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

        If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

        See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

        Refactorings

        Further Reading

        Similar blocks of code found in 4 locations. Consider refactoring.
        Open

        func (connector *SIRIVehicleMonitoringRequestBroadcaster) handleVehicleLocation(v *model.Vehicle) *siri.SIRIVehicleLocation {
            var lat = v.Latitude
            var lon = v.Longitude
            if lat != 0. || lon != 0. {
                vehicleLocation := &siri.SIRIVehicleLocation{
        Severity: Major
        Found in core/siri_vehicle_monitoring_request_broadcaster.go and 3 other locations - About 50 mins to fix
        core/siri_vehicle_monitoring_request_broadcaster.go on lines 239..250
        core/vehicle_monitoring_broadcaster.go on lines 270..281
        core/vehicle_monitoring_broadcaster.go on lines 283..294

        Duplicated Code

        Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

        Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

        When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

        Tuning

        This issue has a mass of 118.

        We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

        The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

        If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

        See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

        Refactorings

        Further Reading

        Severity
        Category
        Status
        Source
        Language